version: '3.8' services: takserver-db: image: git.merith.xyz/oci/takserver:nightly environment: - TAK_MODE=database volumes: # TAK Archive - replace with your actual archive path - ${TAK_ARCHIVE_PATH:-/path/to/takserver-docker-5.4-RELEASE-19.zip}:/tak-archive/takserver-docker-5.4-RELEASE-19.zip:ro # Persistent data volumes - takserver-db-data:/var/lib/postgresql/data - takserver-db-logs:/opt/tak/db-utils/logs container_name: takserver-db restart: unless-stopped networks: - takserver-network healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 30s timeout: 10s retries: 3 start_period: 40s takserver: image: git.merith.xyz/oci/takserver:nightly environment: - TAK_MODE=server volumes: # TAK Archive - replace with your actual archive path - ${TAK_ARCHIVE_PATH:-/path/to/takserver-docker-5.4-RELEASE-19.zip}:/tak-archive/takserver-docker-5.4-RELEASE-19.zip:ro # Persistent data volumes - takserver-logs:/opt/tak/logs - takserver-certs:/opt/tak/certs - takserver-config:/opt/tak/conf container_name: takserver restart: unless-stopped depends_on: takserver-db: condition: service_healthy networks: - takserver-network ports: # Common TAK Server ports - adjust as needed - "${TAK_HTTPS_PORT:-8443}:8443" # HTTPS Web UI - "${TAK_CERT_PORT:-8444}:8444" # Certificate enrollment - "${TAK_FEDERATION_PORT:-8446}:8446" # Federation - "${TAK_STREAMING_API_PORT:-9000}:9000" # Streaming API - "${TAK_STREAMING_API_TLS_PORT:-9001}:9001" # Streaming API TLS healthcheck: test: ["CMD-SHELL", "curl -f https://localhost:8443/Marti/api/version/config || exit 1"] interval: 60s timeout: 10s retries: 3 start_period: 120s # Named volumes for data persistence volumes: takserver-db-data: driver: local takserver-db-logs: driver: local takserver-logs: driver: local takserver-certs: driver: local takserver-config: driver: local # Network for inter-container communication networks: takserver-network: driver: bridge