Files
VoxVera/docs/templates/docker.md
T

1.4 KiB

Docker Usage

Experimental: the container path is not yet a production-grade hidden-service deployment target. Linux with systemd --user remains the supported persistent-host environment.

A prebuilt image containing Tor, OnionShare and the voxvera CLI is published to ghcr.io/voxvera/voxvera.

# pull the image
docker pull ghcr.io/voxvera/voxvera:latest

# run the experimental container with flyers stored in ./flyers
mkdir -p flyers
docker run -d \
  --name voxvera \
  --restart unless-stopped \
  -v "$(pwd)/flyers:/flyers" \
  ghcr.io/voxvera/voxvera:latest

The container now uses a dedicated entrypoint that:

  • stores runtime state under /flyers
  • seeds /flyers/config.json if needed
  • starts an in-container Tor daemon on 127.0.0.1:9050/9051
  • bootstraps a default site when /flyers/host is empty
  • runs voxvera start-all on startup and retries it periodically
  • exposes a container healthcheck based on voxvera doctor --json

Useful commands:

docker logs -f voxvera
docker exec -it voxvera voxvera doctor --json
docker exec -it voxvera voxvera autostart status --json

If you prefer Compose:

services:
  voxvera:
    image: ghcr.io/voxvera/voxvera:latest
    restart: unless-stopped
    volumes:
      - ./flyers:/flyers

Use this path for testing only until the container runtime and background recovery behavior are validated end-to-end.