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:
version: '3.8'
services:
logdeck:
image: logdeck/logdeck:latest
container_name: logdeck
ports:
- "8123:8123"
environment:
# Optional: Configure backend port
# BACKEND_PORT: 8080
# 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 (read-only for security)
- /var/run/docker.sock:/var/run/docker.sock: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:8123 \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--restart unless-stopped \
logdeck/logdeck:latestWith Authentication
docker run -d \
--name logdeck \
-p 8123:8123 \
-v /var/run/docker.sock:/var/run/docker.sock: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 \
logdeck/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:
BACKEND_PORTPort for the backend server. Default: 8080
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.
We mount it as read-only (:ro) by default, but LogDeck needs write access for container management features (start, stop, restart). If you only need log viewing, keep it read-only 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 logdeck/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:8123" # Use port 8124 instead