services: nocodb: image: nocodb/nocodb:latest container_name: nocodb-content restart: unless-stopped ports: - "${HTTP_PORT}:8080" depends_on: nocodb_db: condition: service_healthy env_file: - .env.secrets # NC_DB, NC_AUTH_JWT_SECRET — never committed volumes: - /path/to/nocodb-content/nc_data:/usr/app/data networks: - nocodb-content-net nocodb_db: image: postgres:18-alpine container_name: nocodb-content-postgres restart: unless-stopped env_file: - .env.secrets # POSTGRES_PASSWORD — never committed environment: TZ: ${TZ} POSTGRES_DB: ${POSTGRES_DB} POSTGRES_USER: ${POSTGRES_USER} volumes: - /path/to/nocodb-content/db_data:/var/lib/postgresql healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] interval: 10s timeout: 5s retries: 10 start_period: 20s networks: - nocodb-content-net networks: nocodb-content-net: external: true