Dockge install takes about five minutes on any Linux server that already runs Docker. Because Dockge itself ships as a container, the whole installation is a single compose.yaml file and one command. This guide walks through every step, explains what each command does and shows how to customise the port and stack directory before the first start.
Requirements before you install Dockge
Make sure your system meets the official requirements:
- Docker 20+ or Podman (with
podman-dockeron Debian-based systems) - A supported Linux distribution: Ubuntu, Debian or Raspbian (Bullseye or newer), CentOS, Fedora or Arch Linux
- An amd64, arm64 or armv7 processor architecture
Native Windows is not listed as supported by the official Dockge README. If you experiment with WSL2, treat it as an unofficial deployment path and verify current upstream/community guidance.
Step 1 — Create the directories
Dockge uses two folders by convention: /opt/stacks for the compose stacks you will manage, and /opt/dockge for Dockge's own compose file.
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
Step 2 — Download the official compose.yaml
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml
This small file defines the Dockge service: the official image, the port mapping 5001:5001, the Docker socket mount and the stacks volume. You can open it in any editor before starting.
Step 3 — Start the Dockge server
docker compose up -d
Docker pulls the image and starts the container in the background. When the command finishes, Dockge is running.
Step 4 — Open the interface and create your login
Visit http://your-server-ip:5001 in a browser. On first launch Dockge asks you to create the admin username and password — there is no default login. After that you land on the dashboard, ready to deploy your first stack. If you're unsure about accounts, read our Dockge login guide.
Optional: change the port or stacks directory
Different port
Edit compose.yaml and change the left side of the mapping, for example 7001:5001, then run docker compose up -d again. More detail in the Dockge port guide.
Different stacks directory
Change both sides of the stacks volume to the same path, e.g. /srv/stacks:/srv/stacks, and update the DOCKGE_STACKS_DIR environment variable to match. Keeping the path identical inside and outside the container is required.
Verify the installation
docker ps --filter "name=dockge"
You should see the container in the Up state. From here, add existing stack folders to /opt/stacks or click + Compose in the interface to create a new one. When a new version ships, the update guide shows the two-command upgrade.
Use the official Compose definition
The Dockge project currently publishes louislam/dockge:1 in its official compose.yaml, exposes container port 5001, mounts the Docker socket, stores Dockge application data under ./data:/app/data, and maps the stacks directory to the same absolute path inside and outside the container. Keeping those paths identical is important because Dockge manages real files on the host.
For the most reproducible installation, download the Compose file from the official repository rather than a repackaged archive. Review it before running it, especially the Docker socket and filesystem mounts.
Secure the first launch
Dockge can control Docker, so access to its web interface is highly privileged. Create the initial admin account immediately after the first start. For remote administration, prefer a VPN or a properly configured HTTPS reverse proxy instead of exposing port 5001 directly to the public internet.
Dockge 1.5.0 also changed the browser Console for security: it is disabled by default. Do not enable it unless you understand the additional risk and actually need it.
Useful verification commands
cd /opt/dockge
docker compose ps
docker compose logs --tail=100 dockge
docker compose ps should show the service running. The logs command is useful if the browser cannot connect, the container restarts repeatedly, or a mount path is invalid.
Official references
Technical details in this guide are checked against upstream sources. Verify release-sensitive commands before changing a production host.