39 lines
1.2 KiB
Bash
Executable file
39 lines
1.2 KiB
Bash
Executable file
#!/bin/bash
|
|
# Recreate koopa-tor-relay as non-root (uid 1000) under rootless podman keep-id.
|
|
# Run as hernani on koopa (not root). Stops/removes existing container first.
|
|
set -euo pipefail
|
|
|
|
NAME=koopa-tor-relay
|
|
IMAGE="${TOR_IMAGE:-localhost/koopa-tor-relay:latest}"
|
|
BASE="${KOOPA_TOR_BASE:-$HOME/koopa-tor-relay}"
|
|
|
|
if [[ ! -f "$BASE/torrc" ]]; then
|
|
echo "ERROR: missing $BASE/torrc" >&2
|
|
exit 1
|
|
fi
|
|
mkdir -p "$BASE/data" "$BASE/log"
|
|
# Host ownership: hernani (uid 1000) ↔ container debian-tor (uid 1000) via keep-id
|
|
chmod 700 "$BASE/data" 2>/dev/null || true
|
|
|
|
if podman ps -a --format '{{.Names}}' | grep -qx "$NAME"; then
|
|
podman stop "$NAME" 2>/dev/null || true
|
|
podman rm "$NAME"
|
|
fi
|
|
|
|
podman create \
|
|
--name "$NAME" \
|
|
--replace \
|
|
--network host \
|
|
--user 1000:1000 \
|
|
--userns keep-id \
|
|
--restart unless-stopped \
|
|
-v "$BASE/torrc:/etc/tor/torrc:ro" \
|
|
-v "$BASE/data:/var/lib/tor:Z" \
|
|
-v "$BASE/log:/var/log/tor:Z" \
|
|
--label org.hacktivism.service=tor \
|
|
--label org.hacktivism.container=koopa-tor-relay \
|
|
--label org.hacktivism.managed_by=koopa-admin \
|
|
"$IMAGE"
|
|
|
|
echo "created $NAME (user 1000:1000, userns=keep-id, host net)"
|
|
echo "start: podman start $NAME # or systemctl --user start container-koopa-tor-relay"
|