Arcane on Raspberry Pi

Arcane is an open‑source, modern web‑based Docker management interface designed to make managing Docker containers and Docker Compose stacks easy, intuitive, and powerful for developers, system admins, and home‑lab enthusiasts. It’s similar in purpose to tools like Portainer or Dockge but with a fresh UI, strong Compose support, and active community development.

🔍 What Arcane Does

🚀 Docker Installation Steps

  1. Update your system
    sudo apt update && sudo apt upgrade -y
  2. Install Docker
    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
  3. Install Docker Compose
    sudo apt install docker-compose-plugin
  4. Add your user to the Docker group
    sudo usermod -aG docker $USER
  5. Enable Docker at boot
    sudo systemctl enable docker
  6. Reboot
    sudo reboot
  7. Test Docker
    docker run hello-world

📁 Setup Arcane

Go to Arcane's website and create an account. Then setup your docker directories.

	mkdir ~/docker
	mkdir ~/docker/arcane

🧾 Docker Compose File

In ~/docker/arcane create docker-compose.yml

services:
  arcane:
    image: ghcr.io/getarcaneapp/arcane:latest
    container_name: arcane
    restart: unless-stopped
    ports:
      - 3552:3552
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - arcane-data:/app/data
    environment:
      - APP_URL=http://192.168.xx.xx:3552 # The IP address of this host
      - PUID=1000
      - PGID=1000
      - ENCRYPTION_KEY= # run "openssl rand -hex 32" and use the output here
      - JWT_SECRET= # run "openssl rand -hex 32" and use the output here
      - LOG_LEVEL=info
      - LOG_JSON=false
      - OIDC_ENABLED=false
      - DATABASE_URL=file:data/arcane.db?_pragma=journal_mode(WAL)&_pragma=busy_timeout(2500)&_txlock=immediate
      - ARCANE_ADMIN_EMAIL=<your email address>
      - ARCANE_ADMIN_PASSWORD=<whatever you want>
      - DOCKER_PRUNE_MODE=all

volumes:
  arcane-data:
    driver: local

▶️ Start Arcane

From within ~/docker/arcane run:

docker compose up -d

Add a client

To add a client device, on that device in the docker directory, add a directory for "arcane" and create this docker-compose.yml file:

services:
  arcane-agent:
    image: ghcr.io/getarcaneapp/arcane-headless:latest
    container_name: arcane-agent
    restart: unless-stopped
    environment:
      - AGENT_MODE=true
      - AGENT_TOKEN=<from the arcane GUI>
    ports:
      - "3553:3553"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - arcane-data:/app/data

volumes:
  arcane-data:

To get the AGENT_TOKEN browse to http://192.168.xx.xx:3552, click on Environments, and then Add Environment. Give it a name. For Agent Address use the hosts IP Addesss and add ":3553" at the end. Click on Generate Agent Configuration and use the API Key it gives you as your AGENT_TOKEN in your docker compose file. Arcane will give you a compose file; it should match what I have here. Use whichever one you want.

Now, bring up the agent by running docker compose up -d. In the Arcane gui, when you click on Environments you should now see your server and the new agent listed. You can click on the three dots next to the entry for your agent and select Use Environment.

📜 View Logs

To view the logs, you can run docker logs arcane on the client or server.

🌐 Access Web Interface

Go to http://192.168.xx.xx:3552 and log in with the email address and password you set above.

If you find my content useful, please consider supporting this page:

☕ Buy Me a Coffee