-
Stackspin-renovate Bot authored8570dc1f
docker-compose.yml 2.83 KiB
version: "3"
services:
frontend:
build:
context: ./frontend
working_dir: "/home/node/app"
env_file: ./frontend/local.env
ports:
- "3000:3000"
# command: "yarn start"
stackspin_proxy:
image: nginx:1.23.2
ports:
- "8081:8081"
volumes:
- ./backend/proxy/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- kube_port_kratos_public
- flask_app
flask_app:
build:
context: ./backend
environment:
- FLASK_APP=app.py
- FLASK_ENV=development
- HYDRA_CLIENT_ID=dashboard-local
# Domain-specific URL settings
- HYDRA_AUTHORIZATION_BASE_URL=https://sso.$DOMAIN/oauth2/auth
- TOKEN_URL=https://sso.$DOMAIN/oauth2/token
- HYDRA_PUBLIC_URL=https://sso.$DOMAIN
# Local path overrides
- KRATOS_PUBLIC_URL=http://stackspin_proxy:8081/kratos
- KRATOS_ADMIN_URL=http://kube_port_kratos_admin:8000
- HYDRA_ADMIN_URL=http://kube_port_hydra_admin:4445
- LOGIN_PANEL_URL=http://stackspin_proxy:8081/web/
- DATABASE_URL=mysql+pymysql://stackspin:$DATABASE_PASSWORD@kube_port_mysql/stackspin
# ENV variables that are deployment-specific
- SECRET_KEY=$FLASK_SECRET_KEY
- HYDRA_CLIENT_SECRET=$HYDRA_CLIENT_SECRET
- KUBECONFIG=/.kube/config
# Disable loading config from the service account
- LOAD_INCLUSTER_CONFIG=false
ports:
- "5000:5000"
user: "${KUBECTL_UID}:${KUBECTL_GID}"
volumes:
- ./backend:/app
- "$KUBECONFIG:/.kube/config"
depends_on:
- kube_port_mysql
entrypoint: ["bash", "-c", "flask run --host $$(hostname -i)"]
kube_port_kratos_admin:
image: bitnami/kubectl:1.25.4
user: "${KUBECTL_UID}:${KUBECTL_GID}"
expose:
- 8000
volumes:
- "$KUBECONFIG:/.kube/config"
entrypoint: ["bash", "-c", "kubectl -n stackspin port-forward --address $$(hostname -i) service/kratos-admin 8000:80"]
kube_port_hydra_admin:
image: bitnami/kubectl:1.25.4
user: "${KUBECTL_UID}:${KUBECTL_GID}"
expose:
- 4445
volumes:
- "$KUBECONFIG:/.kube/config"