Dokploy

Convex

Convex is an open-source reactive database designed to make life easy for web app developers.

Convex logo

Configuration

services:
  backend:
    image: ghcr.io/get-convex/convex-backend:33cef775a8a6228cbacee4a09ac2c4073d62ed13
    ports:
      - "${PORT:-3210}:3210"
      - "${SITE_PROXY_PORT:-3211}:3211"
    volumes:
      - data:/convex/data
    environment:
      - INSTANCE_NAME=${INSTANCE_NAME:-}
      - INSTANCE_SECRET=${INSTANCE_SECRET:-}
      - CONVEX_RELEASE_VERSION_DEV=${CONVEX_RELEASE_VERSION_DEV:-}
      - ACTIONS_USER_TIMEOUT_SECS=${ACTIONS_USER_TIMEOUT_SECS:-}
      - CONVEX_CLOUD_ORIGIN=${CONVEX_CLOUD_ORIGIN:-http://127.0.0.1:3210}
      - CONVEX_SITE_ORIGIN=${CONVEX_SITE_ORIGIN:-http://127.0.0.1:3211}
      - DATABASE_URL=${DATABASE_URL:-}
      - DISABLE_BEACON=${DISABLE_BEACON:-}
      - REDACT_LOGS_TO_CLIENT=${REDACT_LOGS_TO_CLIENT:-}
      - RUST_LOG=${RUST_LOG:-info}
      - RUST_BACKTRACE=${RUST_BACKTRACE:-}
    healthcheck:
      test: curl -f http://localhost:3210/version
      interval: 5s
      start_period: 5s

  dashboard:
    image: ghcr.io/get-convex/convex-dashboard:33cef775a8a6228cbacee4a09ac2c4073d62ed13
    ports:
      - "${DASHBOARD_PORT:-6791}:6791"
    environment:
      - NEXT_PUBLIC_DEPLOYMENT_URL=${NEXT_PUBLIC_DEPLOYMENT_URL:-http://127.0.0.1:3210}
    depends_on:
      backend:
        condition: service_healthy

volumes:
  data:
[variables]
dashboard_domain = "${domain}"
backend_domain = "${domain}"
actions_domain = "${domain}"

[config]
env = [
  "NEXT_PUBLIC_DEPLOYMENT_URL=http://${backend_domain}",
  "CONVEX_CLOUD_ORIGIN=http://${backend_domain}",
  "CONVEX_SITE_ORIGIN=http://${actions_domain}",
]
mounts = []

[[config.domains]]
serviceName = "dashboard"
port = 6_791
host = "${dashboard_domain}"

[[config.domains]]
serviceName = "backend"
port = 3_210
host = "${backend_domain}"

[[config.domains]]
serviceName = "backend"
port = 3_211
host = "${actions_domain}"

Base64

To import this template in Dokploy: create a Compose service → AdvancedBase64 import and paste the content below:

ewogICJjb21wb3NlIjogInNlcnZpY2VzOlxuICBiYWNrZW5kOlxuICAgIGltYWdlOiBnaGNyLmlvL2dldC1jb252ZXgvY29udmV4LWJhY2tlbmQ6MzNjZWY3NzVhOGE2MjI4Y2JhY2VlNGEwOWFjMmM0MDczZDYyZWQxM1xuICAgIHBvcnRzOlxuICAgICAgLSBcIiR7UE9SVDotMzIxMH06MzIxMFwiXG4gICAgICAtIFwiJHtTSVRFX1BST1hZX1BPUlQ6LTMyMTF9OjMyMTFcIlxuICAgIHZvbHVtZXM6XG4gICAgICAtIGRhdGE6L2NvbnZleC9kYXRhXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIElOU1RBTkNFX05BTUU9JHtJTlNUQU5DRV9OQU1FOi19XG4gICAgICAtIElOU1RBTkNFX1NFQ1JFVD0ke0lOU1RBTkNFX1NFQ1JFVDotfVxuICAgICAgLSBDT05WRVhfUkVMRUFTRV9WRVJTSU9OX0RFVj0ke0NPTlZFWF9SRUxFQVNFX1ZFUlNJT05fREVWOi19XG4gICAgICAtIEFDVElPTlNfVVNFUl9USU1FT1VUX1NFQ1M9JHtBQ1RJT05TX1VTRVJfVElNRU9VVF9TRUNTOi19XG4gICAgICAtIENPTlZFWF9DTE9VRF9PUklHSU49JHtDT05WRVhfQ0xPVURfT1JJR0lOOi1odHRwOi8vMTI3LjAuMC4xOjMyMTB9XG4gICAgICAtIENPTlZFWF9TSVRFX09SSUdJTj0ke0NPTlZFWF9TSVRFX09SSUdJTjotaHR0cDovLzEyNy4wLjAuMTozMjExfVxuICAgICAgLSBEQVRBQkFTRV9VUkw9JHtEQVRBQkFTRV9VUkw6LX1cbiAgICAgIC0gRElTQUJMRV9CRUFDT049JHtESVNBQkxFX0JFQUNPTjotfVxuICAgICAgLSBSRURBQ1RfTE9HU19UT19DTElFTlQ9JHtSRURBQ1RfTE9HU19UT19DTElFTlQ6LX1cbiAgICAgIC0gUlVTVF9MT0c9JHtSVVNUX0xPRzotaW5mb31cbiAgICAgIC0gUlVTVF9CQUNLVFJBQ0U9JHtSVVNUX0JBQ0tUUkFDRTotfVxuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDogY3VybCAtZiBodHRwOi8vbG9jYWxob3N0OjMyMTAvdmVyc2lvblxuICAgICAgaW50ZXJ2YWw6IDVzXG4gICAgICBzdGFydF9wZXJpb2Q6IDVzXG5cbiAgZGFzaGJvYXJkOlxuICAgIGltYWdlOiBnaGNyLmlvL2dldC1jb252ZXgvY29udmV4LWRhc2hib2FyZDozM2NlZjc3NWE4YTYyMjhjYmFjZWU0YTA5YWMyYzQwNzNkNjJlZDEzXG4gICAgcG9ydHM6XG4gICAgICAtIFwiJHtEQVNIQk9BUkRfUE9SVDotNjc5MX06Njc5MVwiXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIE5FWFRfUFVCTElDX0RFUExPWU1FTlRfVVJMPSR7TkVYVF9QVUJMSUNfREVQTE9ZTUVOVF9VUkw6LWh0dHA6Ly8xMjcuMC4wLjE6MzIxMH1cbiAgICBkZXBlbmRzX29uOlxuICAgICAgYmFja2VuZDpcbiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHlcblxudm9sdW1lczpcbiAgZGF0YTpcbiIsCiAgImNvbmZpZyI6ICJbdmFyaWFibGVzXVxuZGFzaGJvYXJkX2RvbWFpbiA9IFwiJHtkb21haW59XCJcbmJhY2tlbmRfZG9tYWluID0gXCIke2RvbWFpbn1cIlxuYWN0aW9uc19kb21haW4gPSBcIiR7ZG9tYWlufVwiXG5cbltjb25maWddXG5lbnYgPSBbXG4gIFwiTkVYVF9QVUJMSUNfREVQTE9ZTUVOVF9VUkw9aHR0cDovLyR7YmFja2VuZF9kb21haW59XCIsXG4gIFwiQ09OVkVYX0NMT1VEX09SSUdJTj1odHRwOi8vJHtiYWNrZW5kX2RvbWFpbn1cIixcbiAgXCJDT05WRVhfU0lURV9PUklHSU49aHR0cDovLyR7YWN0aW9uc19kb21haW59XCIsXG5dXG5tb3VudHMgPSBbXVxuXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJkYXNoYm9hcmRcIlxucG9ydCA9IDZfNzkxXG5ob3N0ID0gXCIke2Rhc2hib2FyZF9kb21haW59XCJcblxuW1tjb25maWcuZG9tYWluc11dXG5zZXJ2aWNlTmFtZSA9IFwiYmFja2VuZFwiXG5wb3J0ID0gM18yMTBcbmhvc3QgPSBcIiR7YmFja2VuZF9kb21haW59XCJcblxuW1tjb25maWcuZG9tYWluc11dXG5zZXJ2aWNlTmFtZSA9IFwiYmFja2VuZFwiXG5wb3J0ID0gM18yMTFcbmhvc3QgPSBcIiR7YWN0aW9uc19kb21haW59XCJcbiIKfQ==

Tags

backend, database, api


Version: latest

On this page