ci: use ENV variables for all ports

Also add a comment warning about hardcoded backend port.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
Jakub Sokołowski 2023-01-24 21:20:19 +01:00
parent b05e7fcd38
commit fdd769dfe6
No known key found for this signature in database
GPG Key ID: FE65CD384D5BF7B4
1 changed files with 54 additions and 50 deletions

View File

@ -1,23 +1,16 @@
version: "3.8" version: "3.8"
services: services:
spiffworkflow-db: spiffworkflow-frontend:
container_name: spiffworkflow-db container_name: spiffworkflow-frontend
image: mysql:8.0.29 image: ghcr.io/sartography/spiffworkflow-frontend:latest
platform: linux/amd64 depends_on:
cap_add: spiffworkflow-backend:
- SYS_NICE condition: service_healthy
restart: "no"
environment: environment:
- MYSQL_DATABASE=spiffworkflow_backend_development APPLICATION_ROOT: "/"
- MYSQL_ROOT_PASSWORD=my-secret-pw PORT0: "${SPIFF_FRONTEND_PORT:-8001}"
- MYSQL_TCP_PORT=8003
ports: ports:
- "8003" - "${SPIFF_FRONTEND_PORT:-8001}:${SPIFF_FRONTEND_PORT:-8001}/tcp"
healthcheck:
test: mysql --user=root --password=my-secret-pw -e 'select 1' spiffworkflow_backend_development
interval: 10s
timeout: 5s
retries: 10
spiffworkflow-backend: spiffworkflow-backend:
container_name: spiffworkflow-backend container_name: spiffworkflow-backend
@ -26,58 +19,69 @@ services:
spiffworkflow-db: spiffworkflow-db:
condition: service_healthy condition: service_healthy
environment: environment:
- APPLICATION_ROOT=/ APPLICATION_ROOT: "/"
- SPIFFWORKFLOW_BACKEND_ENV=development SPIFFWORKFLOW_BACKEND_ENV: "development"
- FLASK_DEBUG=0 FLASK_DEBUG: "0"
- FLASK_SESSION_SECRET_KEY=super_secret_key FLASK_SESSION_SECRET_KEY: "${FLASK_SESSION_SECRET_KEY:-super_secret_key}"
- OPEN_ID_SERVER_URL=http://localhost:8000/openid OPEN_ID_SERVER_URL: "http://localhost:${SPIFF_BACKEND_PORT:-8000}/openid"
- SPIFFWORKFLOW_FRONTEND_URL=http://localhost:8001 SPIFFWORKFLOW_FRONTEND_URL: "http://localhost:${SPIFF_FRONTEND_PORT:-8001}"
- SPIFFWORKFLOW_BACKEND_URL=http://localhost:8000 # WARNING: Frontend is a static site which assumes frontend port - 1 on localhost.
- SPIFFWORKFLOW_BACKEND_PORT=8000 SPIFFWORKFLOW_BACKEND_URL: "http://localhost:${SPIFF_BACKEND_PORT:-8000}"
- SPIFFWORKFLOW_BACKEND_UPGRADE_DB=true SPIFFWORKFLOW_BACKEND_PORT: "${SPIFF_BACKEND_PORT:-8000}"
- SPIFFWORKFLOW_BACKEND_DATABASE_URI=mysql+mysqlconnector://root:my-secret-pw@spiffworkflow-db:8003/spiffworkflow_backend_development SPIFFWORKFLOW_BACKEND_UPGRADE_DB: "true"
- BPMN_SPEC_ABSOLUTE_DIR=/app/process_models SPIFFWORKFLOW_BACKEND_DATABASE_URI: "mysql+mysqlconnector://root:${SPIFF_MYSQL_PASS:-my-secret-pw}@spiffworkflow-db:${SPIFF_MYSQL_PORT:-8003}/spiffworkflow_backend_development"
- SPIFFWORKFLOW_BACKEND_LOAD_FIXTURE_DATA=false BPMN_SPEC_ABSOLUTE_DIR: "/app/process_models"
- SPIFFWORKFLOW_BACKEND_PERMISSIONS_FILE_NAME=example.yml SPIFFWORKFLOW_BACKEND_LOAD_FIXTURE_DATA: "false"
- RUN_BACKGROUND_SCHEDULER=true SPIFFWORKFLOW_BACKEND_PERMISSIONS_FILE_NAME: "example.yml"
- OPEN_ID_CLIENT_ID=spiffworkflow-backend RUN_BACKGROUND_SCHEDULER: "true"
- OPEN_ID_CLIENT_SECRET_KEY=my_open_id_secret_key OPEN_ID_CLIENT_ID: "spiffworkflow-backend"
OPEN_ID_CLIENT_SECRET_KEY: "my_open_id_secret_key"
ports: ports:
- "8000:8000" - "${SPIFF_BACKEND_PORT:-8000}:${SPIFF_BACKEND_PORT:-8000}/tcp"
volumes: volumes:
- ./process_models:/app/process_models - ./process_models:/app/process_models
- ./log:/app/log - ./log:/app/log
healthcheck: healthcheck:
test: curl localhost:8000/v1.0/status --fail test: "curl localhost:${SPIFF_BACKEND_PORT:-8000}/v1.0/status --fail"
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 20 retries: 20
spiffworkflow-frontend:
container_name: spiffworkflow-frontend
image: ghcr.io/sartography/spiffworkflow-frontend
environment:
- APPLICATION_ROOT=/
- PORT0=8001
ports:
- "8001:8001"
spiffworkflow-connector: spiffworkflow-connector:
container_name: spiffworkflow-connector container_name: spiffworkflow-connector
image: ghcr.io/sartography/connector-proxy-demo image: ghcr.io/sartography/connector-proxy-demo:latest
environment: environment:
- FLASK_ENV=${FLASK_ENV:-development} FLASK_ENV: "${FLASK_ENV:-development}"
- FLASK_DEBUG=0 FLASK_DEBUG: "0"
- FLASK_SESSION_SECRET_KEY=${FLASK_SESSION_SECRET_KEY:-super_secret_key} FLASK_SESSION_SECRET_KEY: "${FLASK_SESSION_SECRET_KEY:-super_secret_key}"
- CONNECTOR_PROXY_PORT=8004 CONNECTOR_PROXY_PORT: "${SPIFF_CONNECTOR_PORT:-8004}"
ports: ports:
- "8004:8004" - "${SPIFF_CONNECTOR_PORT:-8004}:${SPIFF_CONNECTOR_PORT:-8004}/tcp"
healthcheck: healthcheck:
test: curl localhost:8004/liveness --fail test: "curl localhost:${SPIFF_CONNECTOR_PORT:-8004}/liveness --fail"
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 20 retries: 20
spiffworkflow-db:
container_name: spiffworkflow-db
image: mysql:8.0.29
platform: linux/amd64
cap_add:
- SYS_NICE
restart: "no"
environment:
MYSQL_DATABASE: "spiffworkflow_backend_development"
MYSQL_ROOT_PASSWORD: "${SPIFF_MYSQL_PASS:-my-secret-pw}"
MYSQL_TCP_PORT: "${SPIFF_MYSQL_PORT:-8003}"
ports:
- "${SPIFF_MYSQL_PORT:-8003}:${SPIFF_MYSQL_PORT:-8003}/tcp"
healthcheck:
test: "mysql --user=root --password=${SPIFF_MYSQL_PASS:-my-secret-pw} -e 'select 1' spiffworkflow_backend_development"
interval: 10s
timeout: 5s
retries: 10
volumes: volumes:
spiffworkflow_backend: spiffworkflow_backend: