Installation
Multiple ways to install and deploy LogDeck for your environment.
Docker Compose (Recommended)
Docker Compose is the recommended way to deploy LogDeck. It provides easy configuration and management.
Step 1: Create docker-compose.yml
Create a docker-compose.yml file with the following content:
services:
logdeck:
image: amoabakelvin/logdeck:latest
container_name: logdeck
ports:
- "8123:8080"
environment:
# Optional: Manage multiple Docker hosts
# DOCKER_HOSTS: local=unix:///var/run/docker.sock,prod=ssh://deploy@prod.example.com
# Optional: Enable authentication
# JWT_SECRET: your-super-secret-key-min-32-chars
# ADMIN_USERNAME: admin
# ADMIN_PASSWORD_SALT: your-random-salt-change-this
# ADMIN_PASSWORD: your-sha256-hash
volumes:
# Mount the Docker socket for container management
- /var/run/docker.sock:/var/run/docker.sock
# Mount /proc for system stats (CPU, memory usage)
- /proc:/host/proc:ro
# Mount SSH keys if you use ssh:// hosts
# - ~/.ssh:/root/.ssh:ro
restart: unless-stoppedStep 2: Start LogDeck
docker-compose up -dStep 3: Verify It's Running
docker-compose psStep 4: Access the Interface
Open your browser and navigate to http://localhost:8123
Docker Run
For a quick deployment without Docker Compose, use the docker run command:
Basic Deployment
docker run -d \
--name logdeck \
-p 8123:8080 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /proc:/host/proc:ro \
--restart unless-stopped \
amoabakelvin/logdeck:latestWith Authentication
docker run -d \
--name logdeck \
-p 8123:8080 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /proc:/host/proc:ro \
-e JWT_SECRET=your-super-secret-key-min-32-chars \
-e ADMIN_USERNAME=admin \
-e ADMIN_PASSWORD_SALT=your-random-salt-change-this \
-e ADMIN_PASSWORD=your-sha256-hash \
--restart unless-stopped \
amoabakelvin/logdeck:latestConfigure Multiple Docker Hosts
Manage more than one Docker daemon by setting DOCKER_HOSTS with comma-separated name=host entries.
# Local Docker + remote SSH host
export DOCKER_HOSTS="local=unix:///var/run/docker.sock,prod=ssh://deploy@prod.example.com"
# Then start LogDeck with docker run or docker composeFor ssh:// targets, mount your SSH keys (e.g., ~/.ssh) or forward your SSH agent socket into the container.
Environment Variables
LogDeck can be configured using the following environment variables:
DOCKER_HOSTSComma-separated Docker hosts using name=host format (supports unix://, tcp://, and ssh://). Defaults to local=unix:///var/run/docker.sock when unset.
JWT_SECRETSecret key for JWT token signing. Must be at least 32 characters.
ADMIN_USERNAMEAdmin username for authentication.
ADMIN_PASSWORD_SALTRandom salt for password hashing. Use a strong, random string.
ADMIN_PASSWORDSHA256 hash of (password + salt). See configuration guide for generation instructions.
Docker Socket Access
The Docker socket (/var/run/docker.sock) provides full access to the Docker daemon. Only run LogDeck on trusted networks or enable authentication to protect access.
LogDeck needs write access to the Docker socket for container management features (start, stop, restart). If you only need log viewing, you can mount it read-only (:ro) and enable read-only mode in LogDeck.
Updating LogDeck
To update to the latest version of LogDeck:
With Docker Compose
docker-compose pull
docker-compose up -dWith Docker Run
docker stop logdeck
docker rm logdeck
docker pull amoabakelvin/logdeck:latest
# Then run your docker run command againTroubleshooting
Container Won't Start
Check the logs:
docker logs logdeckCan't See Any Containers
Ensure the Docker socket is properly mounted:
docker inspect logdeck | grep docker.sockPort Already in Use
If port 8123 is already in use, change it in your docker-compose.yml or docker run command:
- "8124:8080" # Use port 8124 instead