forked from baron/baron-sso
- Remove TenantOrgChartPage and related internal routes - Update AppLayout to render external links for org-chart navigation - Add orgfront service configuration to docker-compose.yaml
161 lines
5.2 KiB
YAML
161 lines
5.2 KiB
YAML
services:
|
|
backend:
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile
|
|
container_name: baron_backend
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- APP_ENV=${APP_ENV:-development}
|
|
- GO_ENV=${APP_ENV:-development}
|
|
- COOKIE_SECRET=${COOKIE_SECRET}
|
|
- JWT_SECRET=${JWT_SECRET}
|
|
- DESCOPE_PROJECT_ID=${DESCOPE_PROJECT_ID:-}
|
|
- DESCOPE_MANAGEMENT_KEY=${DESCOPE_MANAGEMENT_KEY:-}
|
|
- NAVER_CLOUD_ACCESS_KEY=${NAVER_CLOUD_ACCESS_KEY}
|
|
- NAVER_CLOUD_SECRET_KEY=${NAVER_CLOUD_SECRET_KEY}
|
|
- NAVER_CLOUD_SERVICE_ID=${NAVER_CLOUD_SERVICE_ID}
|
|
- NAVER_SENDER_PHONE_NUMBER=${NAVER_SENDER_PHONE_NUMBER}
|
|
- USERFRONT_URL=${USERFRONT_URL}
|
|
- REDIS_ADDR=${REDIS_ADDR}
|
|
- IDP_PROVIDER=${IDP_PROVIDER:-ory}
|
|
- KRATOS_ADMIN_URL=${KRATOS_ADMIN_URL:-http://kratos:4434}
|
|
- HYDRA_ADMIN_URL=${HYDRA_ADMIN_URL:-http://hydra:4445}
|
|
- HYDRA_PUBLIC_URL=${HYDRA_PUBLIC_URL:-http://hydra:4444}
|
|
- KETO_READ_URL=${KETO_READ_URL:-http://keto:4466}
|
|
- KETO_WRITE_URL=${KETO_WRITE_URL:-http://keto:4467}
|
|
- DB_HOST=postgres
|
|
- CLICKHOUSE_HOST=clickhouse
|
|
- CLICKHOUSE_PORT=${CLICKHOUSE_PORT_NATIVE:-9000}
|
|
- CLICKHOUSE_USER=${CLICKHOUSE_USER:-baron}
|
|
- CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD:-password}
|
|
depends_on:
|
|
- infra_check
|
|
networks:
|
|
- baron_net
|
|
- ory-net
|
|
volumes:
|
|
- ./backend:/app
|
|
command: ["go", "run", "./cmd/server"]
|
|
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:3000/health"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
adminfront:
|
|
build:
|
|
context: ./adminfront
|
|
dockerfile: Dockerfile
|
|
container_name: baron_adminfront
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- APP_ENV=${APP_ENV:-development}
|
|
- API_PROXY_TARGET=http://baron_backend:3000
|
|
- USERFRONT_URL=${USERFRONT_URL}
|
|
ports:
|
|
- "${ADMINFRONT_PORT:-5173}:5173"
|
|
volumes:
|
|
- ./adminfront:/app
|
|
- ./locales:/locales
|
|
- /app/node_modules
|
|
networks:
|
|
- baron_net
|
|
|
|
devfront:
|
|
build:
|
|
context: ./devfront
|
|
dockerfile: Dockerfile
|
|
container_name: baron_devfront
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- APP_ENV=${APP_ENV:-development}
|
|
- API_PROXY_TARGET=http://baron_backend:3000
|
|
- USERFRONT_URL=${USERFRONT_URL}
|
|
ports:
|
|
- "${DEVFRONT_PORT:-5174}:5173"
|
|
volumes:
|
|
- ./devfront:/app
|
|
- ./locales:/locales
|
|
- /app/node_modules
|
|
networks:
|
|
- baron_net
|
|
|
|
orgfront:
|
|
build:
|
|
context: ../baron-orgchart
|
|
dockerfile: Dockerfile
|
|
container_name: baron_orgfront
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- APP_ENV=${APP_ENV:-development}
|
|
- API_PROXY_TARGET=http://baron_backend:3000
|
|
- USERFRONT_URL=${USERFRONT_URL}
|
|
ports:
|
|
- "${ORGFRONT_PORT:-5175}:5175"
|
|
volumes:
|
|
- ../baron-orgchart:/app
|
|
- ./locales:/locales
|
|
- /app/node_modules
|
|
networks:
|
|
- baron_net
|
|
|
|
|
|
userfront:
|
|
build:
|
|
context: .
|
|
dockerfile: userfront/Dockerfile
|
|
container_name: baron_userfront
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- BACKEND_URL=${BACKEND_URL:-}
|
|
- USERFRONT_URL=${USERFRONT_URL}
|
|
- APP_ENV=${APP_ENV}
|
|
networks:
|
|
- baron_net
|
|
- ory-net
|
|
depends_on:
|
|
backend:
|
|
condition: service_healthy
|
|
command: >
|
|
/bin/sh -c "mkdir -p /usr/share/nginx/html/assets &&
|
|
echo \"BACKEND_URL=$${BACKEND_URL}\" >> /usr/share/nginx/html/assets/.env &&
|
|
echo \"USERFRONT_URL=$${USERFRONT_URL}\" >> /usr/share/nginx/html/assets/.env &&
|
|
echo \"APP_ENV=$${APP_ENV}\" >> /usr/share/nginx/html/assets/.env &&
|
|
cp /usr/share/nginx/html/assets/.env /usr/share/nginx/html/.env &&
|
|
nginx -g 'daemon off;'"
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:5000/"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
# Dummy service to wait for infra network if needed,
|
|
# but essentially we assume infra is running.
|
|
# In a real unified stack, we might include infra here or use external links.
|
|
# Here we attach to the same network.
|
|
infra_check:
|
|
image: alpine
|
|
command: ["echo", "Infrastructure assumed running"]
|
|
networks:
|
|
- baron_net
|
|
|
|
networks:
|
|
baron_net:
|
|
external: true
|
|
name: baron_net
|
|
ory-net:
|
|
external: true
|
|
name: ory-net
|
|
public_net:
|
|
external: true
|
|
name: public_net
|