Getting Started
Set up your own Dokploy Enhanced build in under 10 minutes.
Table of contents
Choose Your Path
| Option | Best For | Time |
|---|---|---|
| Use Pre-Built Images | Quick start, testing | 2 min |
| Fork and Customize | Production, custom PRs | 10 min |
Option 1: Use Pre-Built Images
Use our pre-built images with curated PR selections.
One-Line Install
curl -sSL https://raw.githubusercontent.com/amirhmoradi/dokploy-enhanced/main/install.sh | bash
What Gets Deployed
| Component | Details |
|---|---|
| Dokploy | Enhanced image with merged PRs |
| PostgreSQL 16 | Database with persistence |
| Valkey (Redis) | Cache layer with AOF persistence |
| Traefik | Reverse proxy with HTTPS (optional) |
Access Your Instance
After installation completes:
╔════════════════════════════════════════════════════════════════╗
║ Installation Complete! ║
╠════════════════════════════════════════════════════════════════╣
║ Access Dokploy at: http://YOUR_SERVER_IP:3000 ║
║ Configuration: /etc/dokploy/.env ║
╚════════════════════════════════════════════════════════════════╝
This option uses our PR selections. For full control, use Option 2.
Option 2: Fork and Customize
Create your own build with exactly the PRs you want.
Step 1: Fork the Repository
- Go to github.com/amirhmoradi/dokploy-enhanced
- Click Fork in the top right
- Keep all default settings
- Click Create fork
Step 2: Enable GitHub Actions
- Go to your forked repository
- Click Actions tab
- Click I understand my workflows, go ahead and enable them
Step 3: Configure Container Registry
GitHub Container Registry (GHCR) needs write permissions:
- Go to Settings → Actions → General
- Scroll to Workflow permissions
- Select Read and write permissions
- Click Save
Step 4: Choose Your PRs
- Go to Settings → Secrets and variables → Actions
- Click the Variables tab
- Click New repository variable
- Configure:
| Name | Value |
|---|---|
PR_NUMBERS_TO_MERGE |
Comma-separated PR numbers (e.g., 1234,5678,9012) |
Finding PRs: Browse Dokploy Pull Requests for features you need. Note the PR numbers.
Step 5: Trigger Your First Build
- Go to Actions tab
- Click Auto-Merge PRs and Build Enhanced Dokploy
- Click Run workflow
- Configure:
- Branch:
main - PR numbers: Leave empty to use your configured variable
- Dokploy branch:
canary(recommended) ormain
- Branch:
- Click Run workflow
The build takes approximately 15-20 minutes.
Step 6: Deploy Your Build
Once the build completes, deploy using your registry:
DOKPLOY_REGISTRY=ghcr.io/YOUR_GITHUB_USERNAME \
curl -sSL https://raw.githubusercontent.com/YOUR_GITHUB_USERNAME/dokploy-enhanced/main/install.sh | bash
Replace YOUR_GITHUB_USERNAME with your actual GitHub username.
Finding Good PRs
Where to Look
- Open Pull Requests — Browse current PRs
- Issues with Linked PRs — Find PRs that fix specific issues
- Community Discussions — See what others need
What to Look For
Good candidates: Bug fixes, security patches, well-tested features, PRs with positive reviews
Use caution: Large refactors, breaking changes, PRs with failing tests, very old PRs
Recommended Evaluation
Before adding a PR:
- Read the PR description — Understand what it does
- Check the diff — Review the code changes
- Look at test status — Ensure CI passes
- Read comments — See maintainer/community feedback
- Check for conflicts — Very old PRs may not merge cleanly
Configuration Options
Environment Variables
Customize installation with environment variables:
# Custom port
DOKPLOY_PORT=8080 curl -sSL ... | bash
# Skip Traefik (use your own reverse proxy)
SKIP_TRAEFIK=true curl -sSL ... | bash
# Specific version
DOKPLOY_VERSION=20250110 curl -sSL ... | bash
# Custom PostgreSQL password
POSTGRES_PASSWORD=mysecretpassword curl -sSL ... | bash
# Force mode (skip confirmations)
FORCE=true curl -sSL ... | bash
Full Variable Reference
| Variable | Default | Description |
|---|---|---|
DOKPLOY_PORT |
3000 |
Web interface port |
DOKPLOY_VERSION |
latest |
Docker image tag |
DOKPLOY_REGISTRY |
ghcr.io/amirhmoradi |
Docker registry |
SKIP_TRAEFIK |
false |
Skip Traefik installation |
POSTGRES_PASSWORD |
Auto-generated | Database password |
ADVERTISE_ADDR |
Auto-detected | Docker Swarm address |
FORCE |
false |
Skip confirmations |
DEBUG |
false |
Enable debug output |
Post-Installation
File Locations
/etc/dokploy/
├── .env # Configuration (edit this!)
├── docker-compose.yml # Stack definition
├── install-info.json # Installation metadata
└── traefik/ # Traefik configuration (if enabled)
Common Commands
# Check status
./install.sh status
# View logs
./install.sh logs -f
# Restart services
./install.sh restart
# Update to latest
./install.sh update
# Create backup
./install.sh backup
Automatic Updates
The GitHub Actions workflow runs daily at 00:00 UTC, automatically:
- Pulling latest Dokploy changes
- Merging your configured PRs
- Building new images
- Pushing to your registry
To update your deployment:
cd /etc/dokploy
./install.sh update
Troubleshooting
Build Fails with Merge Conflict
Some PRs may conflict with each other or with upstream changes.
Solution: Remove the conflicting PR from your list and try again. Check the build logs to identify which PR caused the conflict.
Image Not Found
Ensure your container registry is public or properly authenticated.
Solution:
- Go to your GitHub profile → Packages
- Find your
dokploy-enhancedpackage - Click Package settings
- Under Danger Zone, change visibility to Public
Services Won’t Start
Check Docker logs and service status:
./install.sh logs
docker compose -f /etc/dokploy/docker-compose.yml ps