Skip to main content

Overview

This quickstart guide walks you through the core features of Dokploy, from creating your first project to deploying an application. By the end, you’ll understand how to manage applications, databases, and deployments.
Before starting, ensure you have installed Dokploy on your server and created your admin account.

Understanding Dokploy’s Structure

Dokploy organizes your deployments using a simple hierarchy:
Dokploy Instance
├── Projects (organizational units)
│   ├── Applications (your code)
│   ├── Databases (PostgreSQL, MySQL, MongoDB, etc.)
│   └── Docker Compose (multi-container apps)
└── Settings (global configuration)
Projects are logical groupings that help organize related applications and databases. For example, you might have separate projects for “Production”, “Staging”, or different clients.

Your First Project

Projects are the top-level containers for organizing your applications and databases.
1

Create a new project

  1. Log in to your Dokploy dashboard at http://your-server-ip:3000
  2. Click Create Project on the dashboard
  3. Enter a project name (e.g., “my-first-project”)
  4. Optionally add a description
  5. Click Create
Use descriptive project names that reflect the environment or purpose, like “production-web”, “staging-api”, or “client-acme”.
2

Explore your project

Once created, you’ll see the project dashboard with tabs for:
  • Applications - Your deployed code
  • Databases - Managed database instances
  • Compose - Docker Compose stacks
  • Monitoring - Resource usage metrics
  • Settings - Project configuration

Deploy Your First Application

Let’s deploy a sample application from a Git repository.
1

Add an application

From your project dashboard:
  1. Click the Applications tab
  2. Click Create Application
  3. Enter an application name (e.g., “hello-world”)
  4. Choose Git as the source type
2

Configure the Git source

Connect your Git repository:
Repository URL: https://github.com/yourusername/your-repo
Branch: main
For private repositories:
  1. Add an SSH key or personal access token
  2. Navigate to Settings > Git Providers
  3. Authenticate with your Git provider
  4. Select the authenticated provider when creating the application
3

Select build method

Choose how Dokploy should build your application:
4

Configure environment variables (optional)

Add environment variables your application needs:
  1. Click Environment Variables
  2. Click Add Variable
  3. Enter key-value pairs:
NODE_ENV=production
API_URL=https://api.example.com
DATABASE_URL=postgresql://...
Never commit secrets to Git. Use environment variables for API keys, passwords, and other sensitive data.
5

Set port and domains (optional)

Configure how users access your application:Port Configuration:
  • Enter the port your application listens on (e.g., 3000, 8080)
Domain Configuration:
  1. Click Domains
  2. Click Add Domain
  3. Enter your domain (e.g., app.example.com)
  4. Dokploy will automatically configure SSL with Let’s Encrypt
If you don’t have a domain, you can access your app via http://your-server-ip:port
6

Deploy the application

Ready to deploy:
  1. Click Create & Deploy
  2. Watch the build logs in real-time
  3. Wait for the deployment to complete (usually 2-5 minutes)
You’ll see:
  • Git clone progress
  • Build steps and output
  • Docker image creation
  • Container startup
When complete, the status will change to Running

Create a Database

Dokploy makes it easy to provision and manage databases.
1

Add a database

From your project dashboard:
  1. Click the Databases tab
  2. Click Create Database
  3. Choose your database type
2

Select database type

Name: my-postgres
Version: 16-alpine
Database Name: myapp
Username: myapp_user
Password: [auto-generated or custom]
3

Configure database settings

Optional configurations:
  • Port: External port for database access (default: standard port for each DB type)
  • Volume: Persistent storage path (automatically configured)
  • Memory Limit: Restrict memory usage (e.g., 512m, 1g)
  • CPU Limit: Restrict CPU usage (e.g., 0.5, 1.0)
4

Create and start the database

  1. Click Create Database
  2. Wait for the container to start (usually 10-30 seconds)
  3. Copy the connection string from the database details page
Example connection string:
postgresql://myapp_user:password@postgres:5432/myapp
5

Connect your application

Link the database to your application:
  1. Go to your application’s settings
  2. Add an environment variable:
DATABASE_URL=postgresql://myapp_user:password@postgres:5432/myapp
  1. Redeploy your application to apply changes

Monitor Your Deployments

Dokploy provides real-time monitoring for all your resources.
View application metrics:
  1. Open your application
  2. Click the Monitoring tab
You’ll see:
  • CPU Usage - Current and historical CPU consumption
  • Memory Usage - RAM utilization over time
  • Network I/O - Incoming and outgoing traffic
  • Logs - Real-time application logs
Click View Logs to stream live logs or filter by time range and severity.

Essential Operations

Common tasks you’ll perform regularly:
Trigger a new deployment:
  1. Open your application
  2. Click Deploy in the top right
  3. Choose:
    • Redeploy - Use the same code
    • Deploy Latest - Pull latest from Git
Or set up automatic deployments:
  1. Go to application Settings
  2. Enable Auto Deploy
  3. Every Git push will trigger a deployment
Access application logs:
  1. Open your application
  2. Click Logs
  3. Use filters:
    • Time range - Last hour, day, week
    • Log level - Error, warn, info, debug
    • Search - Find specific text
Download logs:
# Via Docker CLI
docker logs <container-name> > app-logs.txt
Adjust resource limits:
  1. Open application Settings
  2. Scroll to Resources
  3. Set limits:
    Memory: 512MB
    CPU: 0.5 cores
    
For horizontal scaling (multiple instances), see Multi-node Deployment.
Update environment variables:
  1. Open application Settings
  2. Go to Environment Variables
  3. Add, edit, or remove variables
  4. Click Save
  5. Click Redeploy to apply changes
Applications must be redeployed for environment variable changes to take effect.
Configure automatic backups:
  1. Open your database
  2. Click Backups
  3. Click Configure Backup
  4. Choose:
    • Schedule - Daily, weekly, or custom cron
    • Destination - S3, local, or other storage
    • Retention - How many backups to keep
  5. Click Enable
Manual backup:
# Click "Backup Now" in the database dashboard
Control application lifecycle:
  1. Open your application or database
  2. Use the controls:
    • Stop - Gracefully shut down
    • Start - Start the container
    • Restart - Stop and start
    • Delete - Permanently remove (WARNING: cannot be undone)
Via Docker CLI:
docker stop <container-name>
docker start <container-name>
docker restart <container-name>

Using Templates

Dokploy includes one-click templates for popular open-source applications.
1

Browse templates

  1. From the dashboard, click Templates
  2. Browse available templates:
    • Plausible Analytics
    • Pocketbase
    • Cal.com
    • Ghost CMS
    • And many more…
2

Deploy a template

  1. Click on a template
  2. Review the description and requirements
  3. Click Deploy
  4. Configure any required settings:
    • Domain name
    • Admin credentials
    • Environment-specific variables
  5. Click Deploy Template
3

Access your deployed template

Once deployed:
  1. Note the URL or IP address provided
  2. Complete any first-time setup in the application
  3. The template is now ready to use

Next Steps

Now that you understand the basics, explore more advanced features:

Deploy from Git

Detailed walkthrough of deploying a real application

Docker Compose

Deploy multi-container applications

Custom Domains

Set up custom domains with automatic SSL

Database Backups

Configure automated database backups

Notifications

Get alerts for deployments and errors

CLI & API

Automate with command line and API

Getting Help

If you run into issues:

Documentation

Check the troubleshooting guide

Discord Community

Get help from the community

GitHub Issues

Report bugs or request features

FAQ

Common questions and answers

Build docs developers (and LLMs) love