Skip to main content

Quick Start

Create a docker-compose.yaml file:
docker-compose.yaml
Start Dockhand:
Access at http://localhost:3000

Configuration Options

Custom Port

Change the exposed port:

Environment Variables

Add environment variables:
See Environment Variables for all options.

Environment File

Use a .env file for sensitive data:
.env
docker-compose.yaml
Add .env to your .gitignore to prevent committing secrets.

Bind Mounts

Use bind mounts instead of named volumes:
Create the directory first:

User and Group

Run as specific user:
Or use environment variables:

Resource Limits

Set CPU and memory limits:

PostgreSQL Database

For production, use PostgreSQL instead of SQLite:
docker-compose-postgresql.yaml
Use depends_on to ensure PostgreSQL starts before Dockhand.
See Database Configuration for more details.

Reverse Proxy

Traefik

Deploy with Traefik labels:

Nginx Proxy Manager

Deploy on custom network:
Configure proxy host in Nginx Proxy Manager:
  • Domain: dockhand.example.com
  • Forward Hostname: dockhand
  • Forward Port: 3000
  • Websockets Support: Enabled

Caddy

Deploy with Caddy labels:

Management Commands

Start Services

Stop Services

View Logs

Restart Services

Update Image

Remove Everything

Multi-Environment Setup

Run multiple Dockhand instances:
docker-compose.yaml

Health Checks

Add health checks:

Backup

Backup data volumes:

Troubleshooting

Service Won’t Start

Check logs:
Validate compose file:

Port Already in Use

Find what’s using the port:
Change port in compose file:

Permission Issues

Fix data directory permissions:
Or run as root:

Network Errors

Recreate networks: