Documentation Index
Fetch the complete documentation index at: https://mintlify.com/dokploy/dokploy/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Dokploy templates provide one-click deployment of popular applications and services. Templates include pre-configured settings, environment variables, and resource definitions to get services running quickly.Using Templates
Configure settings
Review and customize:
- Project name
- Environment variables
- Resource limits
- Domain configuration
Template Structure
Templates are defined with the following components:Environment Variables
Templates can define required or optional environment variables:Template variables support dynamic generation through helper functions like
generatePassword() and generateRandomDomain().File Mounts
Templates can include configuration files:Domain Configuration
Templates can pre-configure domains:Template Helper Functions
Dokploy provides utility functions for dynamic template values:- generateRandomDomain
- generatePassword
- generateHash
- generateBase64
Creates a unique traefik.me domain:The function:
- Generates a 3-byte random hash
- Converts IP to dash-separated format
- Combines with project name
Creating Custom Templates
You can create custom templates for your organization’s common deployments.Template Categories
Web Applications
Ready-to-deploy web frameworks:
- Next.js
- React SPA
- Vue.js
- Svelte
Databases
Pre-configured databases:
- PostgreSQL
- MySQL
- MongoDB
- Redis
Development Tools
Developer services:
- GitLab
- Jenkins
- SonarQube
- n8n
Monitoring
Observability stack:
- Grafana
- Prometheus
- Uptime Kuma
- Plausible
Example Templates
WordPress Template
PostgreSQL + pgAdmin Template
Full-Stack Application Template
Template Variables
Available variables in template strings:| Variable | Description | Example |
|---|---|---|
${projectName} | User-provided project name | myapp |
${serverIp} | Dokploy server IP | 192.168.1.100 |
${generatePassword(n)} | Random password | k7m9p2x4q8n3 |
${generateHash(name, n)} | Hash with prefix | myapp-a3f2c1 |
${generateBase64(n)} | Base64 random bytes | dGVzdA== |
${generateRandomDomain(...)} | Traefik.me domain | app-abc123-192-168-1-100.traefik.me |
Best Practices
Use Secure Defaults
Use Secure Defaults
Always generate strong passwords and secrets:
Document Required Variables
Document Required Variables
Clearly indicate which environment variables users must customize:
Include Health Checks
Include Health Checks
Add health check configurations to ensure services start correctly:
Optimize for Production
Optimize for Production
Set production-ready defaults:
Troubleshooting
Template Deployment Failed
Template Deployment Failed
Check:
- All required environment variables are set
- Docker images are accessible
- Port conflicts with existing services
- Sufficient resources (CPU, memory, disk)
Generated Domain Not Accessible
Generated Domain Not Accessible
Verify:
- Traefik.me DNS is resolving correctly
- Server IP is publicly accessible
- Firewall allows ports 80 and 443
Configuration File Not Mounted
Configuration File Not Mounted
Check:
- File path is absolute
- Content is properly formatted
- Container has write permissions
Sharing Templates
Share your custom templates with the community:- Document Requirements: List prerequisites and dependencies
- Provide Examples: Include sample configurations
- Test Thoroughly: Verify deployment on clean Dokploy instance
- Submit PR: Contribute to the Dokploy templates repository
Community templates undergo review to ensure security and quality standards.