Docksy

Install

Docksy runs as a single container on any Linux box with Docker. The installer takes about two minutes.

Requirements

One-line install

$ curl -fsSL https://raw.githubusercontent.com/osmanyousaaf/docksy/main/install.sh | sudo bash

The installer is idempotent, so it's safe to run again to update or repair. It:

  1. installs Docker if it's missing
  2. generates a random DOCKSY_SECRET, the master key that encrypts SSH keys, tokens and env vars at rest
  3. writes /opt/docksy/.env and /opt/docksy/docker-compose.yml
  4. starts Docksy (ghcr.io/osmanyousaaf/docksy)
  5. registers the host itself as the server localhost, by adding Docksy's public key to root's authorized_keys
  6. prints the URL to open

Read before you pipe. It's a good habit to read install.sh before you run it. It's short.

First run

  1. Open http://<your-server-ip>:8080.
  2. Create the owner account. The setup page only works while no users exist.
  3. In Settings → Instance, set the Public URL: the address your servers and GitHub use to reach Docksy (for agents and webhooks).
  4. Go to Servers to add a machine, or deploy straight to localhost.

Docker Compose (manual)

If you'd rather manage it yourself:

# /opt/docksy/docker-compose.yml
services:
  docksy:
    image: ghcr.io/osmanyousaaf/docksy:latest
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      DOCKSY_SECRET: ${DOCKSY_SECRET}          # 64 hex chars: openssl rand -hex 32
      DOCKSY_PUBLIC_URL: https://docksy.example.com
    volumes:
      - docksy-data:/data
volumes:
  docksy-data:
$ echo "DOCKSY_SECRET=$(openssl rand -hex 32)" > .env
$ docker compose up -d

Put the dashboard behind HTTPS

Run Docksy behind any reverse proxy (Caddy, nginx, Traefik) on a domain, e.g. docksy.example.com → localhost:8080, and set that URL as the Public URL. Server-sent events are used for live charts and logs, so turn off response buffering if your proxy has it (nginx: proxy_buffering off;).

Update

$ cd /opt/docksy && docker compose pull && docker compose up -d

Re-running the installer does the same. Database migrations run automatically on start. Your data lives in the /data volume.

Uninstall

$ curl -fsSL https://raw.githubusercontent.com/osmanyousaaf/docksy/main/install.sh | sudo bash -s -- --uninstall

This stops and removes Docksy. Apps you deployed keep running on their servers, because they're plain Docker containers.

Environment variables

VariableDefaultPurpose
DOCKSY_SECRETgenerated into data/secret.key32-byte master key (64 hex chars) for encryption at rest
DOCKSY_DATA_DIR/data in the imageSQLite database, SSH keys, secret
DOCKSY_PUBLIC_URLfrom SettingsOverrides the Public URL used by agents and webhooks
PORT / HOST8080 / 0.0.0.0HTTP listener
DOCKSY_AGENT_INTERVAL10Seconds between agent metric reports

Edit this page on GitHub