x-default-logging: &default-logging logging: options: max-size: '100m' max-file: '5' driver: json-file x-ignition-opts: &ignition-opts <<: *default-logging env_file: gw-init/gateway.env secrets: - gateway-admin-password services: ignition: <<: *ignition-opts build: context: gw-build dockerfile: Dockerfile additional_contexts: modules: modules args: IGNITION_VERSION: ${IGNITION_VERSION:-latest} SUPPLEMENTAL_MODULES: "" BASE_GWBK_NAME: base.gwbk GATEWAY_ADMIN_USERNAME: admin secrets: # NOTE: changing a build secret will not bust the cache, run the build with `--no-cache` to force a rebuild - gateway-admin-password pull_policy: build container_name: EDGE ports: # host 8088 already held by buildathon-ignition; EDGE's gateway is reachable at :8089 on the host - "8089:8088" environment: ACCEPT_IGNITION_EULA: "Y" GATEWAY_ADMIN_USERNAME: admin GATEWAY_ADMIN_PASSWORD: password IGNITION_EDITION: edge DISABLE_QUICKSTART: "true" # Run the gateway as the HOST dev uid/gid (primebench pattern): started # as root (user 0:0), the official entrypoint chowns the bind mounts to # IGNITION_UID/GID and drops privileges — repo-mapped gateway files stay # owned by you, so host-side edits need no chown dance (WSL2 included). IGNITION_UID: "${IGNITION_UID:-1000}" IGNITION_GID: "${IGNITION_GID:-1000}" TZ: America/Chicago user: "0:0" # Runtime args: gateway name + 500 mb max JVM heap (8.3 uses the -m flag, not an env var) command: > -n Test-Test-Test -m 512 -a gateway.localtest.me -h 8089 -s 8043 volumes: - ignition-data-EDGE:/usr/local/bin/ignition/data - ./gw-backup/gateway:/backup # depends_on: # db: # condition: service_healthy restart: unless-stopped networks: - EDGE # db: # image: mariadb:11.8 # container_name: EDGE-db # environment: # MARIADB_ROOT_PASSWORD: password # MARIADB_DATABASE: ignition # MARIADB_USER: ignition # MARIADB_PASSWORD: ignition # ports: # # localhost only, for inspecting with a SQL client # # (3306 remapped to 3307 on the host — buildathon-db already holds 3306) # - "127.0.0.1:3307:3306" # volumes: # - db-data-EDGE:/var/lib/mysql # healthcheck: # test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] # start_period: 15s # interval: 5s # timeout: 5s # retries: 12 # restart: unless-stopped # networks: # - EDGE secrets: gateway-admin-password: file: secrets/gateway-admin-password db-ignition-password: file: secrets/db-ignition-password db-root-password: file: secrets/db-root-password networks: EDGE: volumes: # db-data-EDGE: ignition-data-EDGE: