Skip to main content

Get Web Server Settings

Retrieve current web server configuration and settings.

GET /settings.getWebServerSettings

This endpoint is disabled on Dokploy Cloud instances.

Authentication

Requires user authentication.

Example Request

curl -X GET "https://your-dokploy-instance.com/api/settings.getWebServerSettings" \
  -H "Authorization: Bearer YOUR_TOKEN"

Example Response

{
  "host": "dokploy.example.com",
  "letsEncryptEmail": "[email protected]",
  "certificateType": "letsencrypt",
  "https": true,
  "serverIp": "203.0.113.42",
  "sshPrivateKey": "[REDACTED]",
  "enableDockerCleanup": true,
  "metricsConfig": {
    "server": {
      "refreshRate": 5,
      "port": 9090
    }
  }
}

Assign Domain to Server

Configure the main domain and SSL settings for the Dokploy instance.

POST /settings.assignDomainServer

Admin privileges required. Disabled on Dokploy Cloud.
host
string
required
Domain name for the Dokploy instance
letsEncryptEmail
string
Email address for Let’s Encrypt SSL certificates
certificateType
string
required
Type of SSL certificateAllowed values:
  • letsencrypt
  • custom
  • none
https
boolean
required
Enable HTTPS for the server

Example Request

curl -X POST "https://your-dokploy-instance.com/api/settings.assignDomainServer" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
  -d '{
    "host": "dokploy.example.com",
    "letsEncryptEmail": "[email protected]",
    "certificateType": "letsencrypt",
    "https": true
  }'

Traefik Management

Reload Traefik

POST /settings.reloadTraefik

Restart the Traefik proxy service.
serverId
string
Optional server ID for remote Traefik instances
curl -X POST "https://your-dokploy-instance.com/api/settings.reloadTraefik" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
  -d '{}'

Toggle Traefik Dashboard

POST /settings.toggleDashboard

Enable or disable the Traefik dashboard on port 8080.
enableDashboard
boolean
required
Set to true to enable dashboard, false to disable
serverId
string
Optional server ID for remote instances
curl -X POST "https://your-dokploy-instance.com/api/settings.toggleDashboard" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
  -d '{
    "enableDashboard": true
  }'

Read Traefik Configuration

GET /settings.readTraefikConfig

Retrieve the main Traefik configuration file.
curl -X GET "https://your-dokploy-instance.com/api/settings.readTraefikConfig" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"

Update Traefik Configuration

POST /settings.updateTraefikConfig

traefikConfig
string
required
Updated Traefik configuration in YAML format
curl -X POST "https://your-dokploy-instance.com/api/settings.updateTraefikConfig" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
  -d '{
    "traefikConfig": "# Traefik config in YAML..."
  }'

Docker Cleanup

Manage automated Docker cleanup operations.

Clean Operations

Perform various Docker cleanup tasks:

Clean Unused Images

curl -X POST "https://your-dokploy-instance.com/api/settings.cleanUnusedImages" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"

Clean Unused Volumes

curl -X POST "https://your-dokploy-instance.com/api/settings.cleanUnusedVolumes" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"

Clean Stopped Containers

curl -X POST "https://your-dokploy-instance.com/api/settings.cleanStoppedContainers" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"

Clean Docker Builder Cache

curl -X POST "https://your-dokploy-instance.com/api/settings.cleanDockerBuilder" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"

Clean All (System Prune)

curl -X POST "https://your-dokploy-instance.com/api/settings.cleanAll" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"

Configure Automatic Cleanup

POST /settings.updateDockerCleanup

Enable or disable scheduled Docker cleanup.
enableDockerCleanup
boolean
required
Enable automatic cleanup
serverId
string
Optional server ID for remote cleanup
curl -X POST "https://your-dokploy-instance.com/api/settings.updateDockerCleanup" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
  -d '{
    "enableDockerCleanup": true
  }'

SSH Key Management

Save SSH Private Key

POST /settings.saveSSHPrivateKey

sshPrivateKey
string
required
SSH private key content in PEM format
curl -X POST "https://your-dokploy-instance.com/api/settings.saveSSHPrivateKey" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
  -d '{
    "sshPrivateKey": "-----BEGIN OPENSSH PRIVATE KEY-----\n..."
  }'

Remove SSH Private Key

POST /settings.cleanSSHPrivateKey

curl -X POST "https://your-dokploy-instance.com/api/settings.cleanSSHPrivateKey" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"

Server Management

Reload Dokploy Server

POST /settings.reloadServer

Restart the Dokploy server container.
curl -X POST "https://your-dokploy-instance.com/api/settings.reloadServer" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"

Update Server

POST /settings.updateServer

Update Dokploy to the latest version.
curl -X POST "https://your-dokploy-instance.com/api/settings.updateServer" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"

Get Update Information

POST /settings.getUpdateData

Check for available updates.
curl -X POST "https://your-dokploy-instance.com/api/settings.getUpdateData" \
  -H "Authorization: Bearer YOUR_TOKEN"

Example Response

{
  "updateAvailable": true,
  "currentVersion": "0.5.0",
  "latestVersion": "0.6.0",
  "releaseNotes": "Bug fixes and performance improvements"
}

Redis Management

Clean Redis

POST /settings.cleanRedis

Flush all Redis cache data.
curl -X POST "https://your-dokploy-instance.com/api/settings.cleanRedis" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"

Reload Redis

POST /settings.reloadRedis

Restart the Redis container.
curl -X POST "https://your-dokploy-instance.com/api/settings.reloadRedis" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"

Monitoring Configuration

Clean Monitoring Data

POST /settings.cleanMonitoring

Delete all collected monitoring data.
curl -X POST "https://your-dokploy-instance.com/api/settings.cleanMonitoring" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"

GPU Support

Setup GPU

POST /settings.setupGPU

Configure NVIDIA GPU support for Docker containers.
serverId
string
Server ID (required on Dokploy Cloud)
curl -X POST "https://your-dokploy-instance.com/api/settings.setupGPU" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
  -d '{
    "serverId": "server_abc123"
  }'

Check GPU Status

GET /settings.checkGPUStatus

serverId
string
Server ID (required on Dokploy Cloud)
curl -X GET "https://your-dokploy-instance.com/api/settings.checkGPUStatus?serverId=server_abc123" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"

Example Response

{
  "driverInstalled": true,
  "driverVersion": "535.129.03",
  "gpuModel": "NVIDIA GeForce RTX 3080",
  "runtimeInstalled": true,
  "runtimeConfigured": true,
  "cudaSupport": true,
  "cudaVersion": "12.2",
  "memoryInfo": "10GB",
  "availableGPUs": 1,
  "swarmEnabled": true,
  "gpuResources": 1
}

System Information

Get Dokploy Version

GET /settings.getDokployVersion

curl -X GET "https://your-dokploy-instance.com/api/settings.getDokployVersion" \
  -H "Authorization: Bearer YOUR_TOKEN"

Get Server IP

GET /settings.getIp

Retrieve the configured server IP address.
curl -X GET "https://your-dokploy-instance.com/api/settings.getIp" \
  -H "Authorization: Bearer YOUR_TOKEN"

Update Server IP

POST /settings.updateServerIp

serverIp
string
required
New server IP address
curl -X POST "https://your-dokploy-instance.com/api/settings.updateServerIp" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
  -d '{
    "serverIp": "203.0.113.42"
  }'

Health Check

GET /settings.health

Check the health status of the Dokploy instance and database connection.
This endpoint does not require authentication.
curl -X GET "https://your-dokploy-instance.com/api/settings.health"

Example Response

{
  "status": "ok"
}

Build docs developers (and LLMs) love