diff --git a/docker-compose.yml b/docker-compose.yml index 0625d1044..d6a86149c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,18 +1,7 @@ -# Why we are running with network_mode: host -# -# In order for the backend server to talk to the mysql server, they need to be on the same network. -# I tried splitting it out where the mysql runs on a custom network and the backend runs on both -# the custom network AND with localhost. Nothing I tried worked and googling didn't help. They -# only ever mentioned one thing or using host.docker.internal which would cause the domains to -# be different. -# -# So instead we are running with both the mysql server and the backend server in host network mode. -# There may be a better way to do this but if it works, then it works. - version: "3.8" services: - db: - container_name: db + spiffworkflow-db: + container_name: spiffworkflow-db image: mysql:8.0.29 platform: linux/amd64 cap_add: @@ -22,7 +11,6 @@ services: - MYSQL_DATABASE=${SPIFFWORKFLOW_BACKEND_DATABASE_NAME:-spiffworkflow_backend_development} - MYSQL_ROOT_PASSWORD=${SPIFFWORKFLOW_BACKEND_MYSQL_ROOT_DATABASE:-my-secret-pw} - MYSQL_TCP_PORT=7003 - network_mode: host ports: - "7003" volumes: @@ -37,26 +25,25 @@ services: container_name: spiffworkflow-backend image: ghcr.io/sartography/spiffworkflow-backend depends_on: - db: + spiffworkflow-db: condition: service_healthy environment: - APPLICATION_ROOT=/ - SPIFFWORKFLOW_BACKEND_ENV=${SPIFFWORKFLOW_BACKEND_ENV:-development} - FLASK_DEBUG=0 - FLASK_SESSION_SECRET_KEY=${FLASK_SESSION_SECRET_KEY:-super_secret_key} - - OPEN_ID_SERVER_URL=${OPEN_ID_SERVER_URL:-http://localhost:7002} - - SPIFFWORKFLOW_FRONTEND_URL=${SPIFFWORKFLOW_FRONTEND_URL:-http://localhost:7001} - - SPIFFWORKFLOW_BACKEND_URL=${SPIFFWORKFLOW_BACKEND_URL:-http://localhost:7000} + - OPEN_ID_SERVER_URL=${OPEN_ID_SERVER_URL:-http://spiffworkflow-openid:7002} + - SPIFFWORKFLOW_FRONTEND_URL=${SPIFFWORKFLOW_FRONTEND_URL:-http://spiffworkflow-frontend:7001} + - SPIFFWORKFLOW_BACKEND_URL=${SPIFFWORKFLOW_BACKEND_URL:-http://spiffworkflow-backend:7000} - SPIFFWORKFLOW_BACKEND_PORT=7000 - SPIFFWORKFLOW_BACKEND_UPGRADE_DB=true - - SPIFFWORKFLOW_BACKEND_DATABASE_URI=mysql+mysqlconnector://root:${SPIFFWORKFLOW_BACKEND_MYSQL_ROOT_DATABASE:-my-secret-pw}@localhost:7003/${SPIFFWORKFLOW_BACKEND_DATABASE_NAME:-spiffworkflow_backend_development} + - SPIFFWORKFLOW_BACKEND_DATABASE_URI=mysql+mysqlconnector://root:${SPIFFWORKFLOW_BACKEND_MYSQL_ROOT_DATABASE:-my-secret-pw}@spiffworkflow-db:7003/${SPIFFWORKFLOW_BACKEND_DATABASE_NAME:-spiffworkflow_backend_development} - BPMN_SPEC_ABSOLUTE_DIR=/app/process_models - SPIFFWORKFLOW_BACKEND_LOAD_FIXTURE_DATA=${SPIFFWORKFLOW_BACKEND_LOAD_FIXTURE_DATA:-false} - SPIFFWORKFLOW_BACKEND_PERMISSIONS_FILE_NAME=${SPIFFWORKFLOW_BACKEND_PERMISSIONS_FILE_NAME:-acceptance_tests.yml} - RUN_BACKGROUND_SCHEDULER=true ports: - "7000:7000" - network_mode: host volumes: - ${BPMN_SPEC_ABSOLUTE_DIR:-./../sample-process-models}:/app/process_models - ./log:/app/log @@ -75,8 +62,8 @@ services: ports: - "7001:7001" - connector-proxy-demo: &connector-proxy-demo - container_name: connector-proxy-demo + spiffworkflow-connector: + container_name: spiffworkflow-connector image: ghcr.io/sartography/connector-proxy-demo environment: - FLASK_ENV=${FLASK_ENV:-development} @@ -84,7 +71,6 @@ services: - FLASK_SESSION_SECRET_KEY=${FLASK_SESSION_SECRET_KEY:-super_secret_key} ports: - "7004:7004" - network_mode: host healthcheck: test: curl localhost:7004/liveness --fail interval: 10s