Files
browser/docker-compose.yml

94 lines
3.0 KiB
YAML

services:
platform:
build:
context: .
dockerfile: platform/Dockerfile
environment:
PLATFORM_ADDR: ":8080"
# Metadata backend:
# - file: default Docker deployment, persisted in the platform-data volume.
# - mysql: change PLATFORM_STORAGE_BACKEND from file to mysql, uncomment PLATFORM_MYSQL_DSN,
# then uncomment the mysql service and depends_on block below.
PLATFORM_STORAGE_BACKEND: file
# PLATFORM_MYSQL_DSN: platform:platform@tcp(mysql:3306)/platform?parseTime=true
PLATFORM_DATA_DIR: /data/platform
PLATFORM_METADATA_PATH: /data/platform/metadata.json
# Log bodies are separate from metadata. Keep file for local Docker.
# MySQL should store metadata/cursors/indexes, not one row per log line.
PLATFORM_LOG_BODY_BACKEND: file
PLATFORM_LOG_DIR: /data/platform/logs
PLATFORM_ARTIFACT_DIR: /data/platform/artifacts
PLATFORM_SECRET_ENVELOPE_KEY: ${PLATFORM_SECRET_ENVELOPE_KEY:-local-compose-secret-envelope-key-change-me}
PLATFORM_RUN_RELEASE_URL: ${PLATFORM_RUN_RELEASE_URL:-https://scum.npc0.com/}
ports:
- "8080:8080"
volumes:
- platform-data:/data/platform
healthcheck:
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:8080/healthz"]
interval: 10s
timeout: 3s
retries: 12
# To run platform metadata on MySQL, uncomment this dependency and the mysql service below.
# Also change PLATFORM_STORAGE_BACKEND above from file to mysql.
# depends_on:
# mysql:
# condition: service_healthy
# Optional local MySQL metadata database.
# Uncomment this block plus PLATFORM_STORAGE_BACKEND/PLATFORM_MYSQL_DSN above.
# mysql:
# image: mysql:8.4
# environment:
# MYSQL_DATABASE: platform
# MYSQL_USER: platform
# MYSQL_PASSWORD: platform
# MYSQL_ROOT_PASSWORD: platform-root
# ports:
# - "3306:3306"
# volumes:
# - mysql-data:/var/lib/mysql
# healthcheck:
# test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uplatform", "-pplatform"]
# interval: 10s
# timeout: 5s
# retries: 20
run:
build:
context: ${RUN_REPO_DIR:-./run}
dockerfile: Dockerfile
depends_on:
platform:
condition: service_healthy
environment:
RUN_MODE: worker
RUN_PLATFORM_URL: http://platform:8080
RUN_ENDPOINT_ID: run-docker
RUN_DISPLAY_NAME: Docker Run
RUN_VERSION: 0.1.0
RUN_REGISTRATION_TOKEN: local-registration
RUN_WORKSPACE_ROOT: /data/run/workspace
RUN_SPOOL_ROOT: /data/run/spool
RUN_MAX_JOBS: "1"
RUN_HEARTBEAT_INTERVAL_MS: "15000"
RUN_POLL_INTERVAL_MS: "2000"
RUN_RETRY_BACKOFF_MS: "1000"
volumes:
- run-data:/data/run
platform-web:
build:
context: .
dockerfile: platform_web/Dockerfile
depends_on:
platform:
condition: service_healthy
ports:
- "5173:80"
volumes:
platform-data:
run-data:
# mysql-data: