seperate port and container for external callback
This commit is contained in:
+34
-1
@@ -34,11 +34,12 @@ services:
|
||||
BACKUP_RETENTION_DAYS: ${BACKUP_RETENTION_DAYS:-3}
|
||||
MESHCENTRAL_PASSWORD: ${MESHCENTRAL_PASSWORD:-}
|
||||
SYNC_LOG_DIR: /app/data/logs/sync
|
||||
DIAGNOSTIC_DIR: /app/data/logs/diagnostics
|
||||
DIAGNOSTIC_DIR: /app/data/logs/diagnostics
|
||||
LDAP_BIND_PASSWORD: ${LDAP_BIND_PASSWORD:-}
|
||||
SESSION_SECRET: ${SESSION_SECRET:-}
|
||||
LOCAL_ADMIN_USERNAME: ${LOCAL_ADMIN_USERNAME:-}
|
||||
LOCAL_ADMIN_PASSWORD: ${LOCAL_ADMIN_PASSWORD:-}
|
||||
CALLBACK_PORT: ${CALLBACK_PORT:-8090}
|
||||
|
||||
ports:
|
||||
- "${APP_PORT:-8088}:8000"
|
||||
@@ -49,3 +50,35 @@ services:
|
||||
- ./data/backups:/data/backups
|
||||
- ./data/scripts:/scripts
|
||||
|
||||
# Optional callback-only listener for Internet/DMZ scenarios.
|
||||
# Start with: docker compose --profile callback up -d
|
||||
# Only the callback POST endpoint and callback health endpoint are exposed.
|
||||
callback:
|
||||
build: .
|
||||
profiles: ["callback"]
|
||||
container_name: assetmanager-callback
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
DATABASE_URL: postgresql+psycopg://${POSTGRES_USER:-assetmanager}:${POSTGRES_PASSWORD:-change-me}@db:5432/${POSTGRES_DB:-assetmanager}
|
||||
APP_TITLE: AssetManager
|
||||
APP_CONFIG: /app/config/config.json
|
||||
APPINFO_PATH: /app/config/APPINFO.json
|
||||
MESHCENTRAL_PASSWORD: ${MESHCENTRAL_PASSWORD:-}
|
||||
LDAP_BIND_PASSWORD: ${LDAP_BIND_PASSWORD:-}
|
||||
SESSION_SECRET: ${SESSION_SECRET:-}
|
||||
command: ["uvicorn", "app.main:callback_app", "--host", "0.0.0.0", "--port", "8001"]
|
||||
ports:
|
||||
- "${CALLBACK_PORT:-8090}:8001"
|
||||
volumes:
|
||||
- ./data/config:/app/config
|
||||
- ./data/logs:/app/data/logs
|
||||
healthcheck:
|
||||
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8001/api/software-callback/health', timeout=3).read()"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
start_period: 10s
|
||||
retries: 3
|
||||
|
||||
|
||||
Reference in New Issue
Block a user