- Move audit reports and status reports to reports/ directory - Move documentation, configuration files, and infrastructure to reference/ directory - Keep only core project files (LICENSE, README.md) at root level - Resolve organizational issues from previous branch merges 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
189 lines
5.7 KiB
YAML
189 lines
5.7 KiB
YAML
version: '3.8'
|
|
|
|
networks:
|
|
sol-calc-saas-dev-network:
|
|
name: sol-calc-saas-dev-network
|
|
|
|
volumes:
|
|
sol-calc-saas-dev-postgres-data:
|
|
name: sol-calc-saas-dev-postgres-data
|
|
sol-calc-saas-dev-keycloak-data:
|
|
name: sol-calc-saas-dev-keycloak-data
|
|
sol-calc-saas-dev-prometheus-data:
|
|
name: sol-calc-saas-dev-prometheus-data
|
|
sol-calc-saas-dev-loki-data:
|
|
name: sol-calc-saas-dev-loki-data
|
|
sol-calc-saas-dev-grafana-data:
|
|
name: sol-calc-saas-dev-grafana-data
|
|
sol-calc-saas-dev-etcd-data:
|
|
name: sol-calc-saas-dev-etcd-data
|
|
sol-calc-saas-dev-dolibarr-data:
|
|
name: sol-calc-saas-dev-dolibarr-data
|
|
|
|
services:
|
|
sol-calc-saas-dev-frontend:
|
|
container_name: sol-calc-saas-dev-frontend
|
|
image: nginx:alpine
|
|
restart: unless-stopped
|
|
networks:
|
|
- sol-calc-saas-dev-network
|
|
ports:
|
|
- "12000:80" # Frontend on 12000
|
|
|
|
sol-calc-saas-dev-postgres:
|
|
container_name: sol-calc-saas-dev-postgres
|
|
image: postgres:15-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: solcalcdb
|
|
POSTGRES_USER: solcalcuser
|
|
POSTGRES_PASSWORD: solcalcpassword
|
|
volumes:
|
|
- sol-calc-saas-dev-postgres-data:/var/lib/postgresql/data
|
|
networks:
|
|
- sol-calc-saas-dev-network
|
|
ports:
|
|
- "12001:5432" # PostgreSQL on 12001
|
|
|
|
sol-calc-saas-dev-keycloak:
|
|
container_name: sol-calc-saas-dev-keycloak
|
|
image: quay.io/keycloak/keycloak:22.0.1
|
|
restart: unless-stopped
|
|
environment:
|
|
KEYCLOAK_ADMIN: admin
|
|
KEYCLOAK_ADMIN_PASSWORD: admin
|
|
KC_DB: postgres
|
|
KC_DB_URL: jdbc:postgresql://sol-calc-saas-dev-postgres:5432/keycloakdb
|
|
KC_DB_USERNAME: keycloakuser
|
|
KC_DB_PASSWORD: keycloakpassword
|
|
KC_HOSTNAME: localhost
|
|
KC_HTTP_PORT: 8080
|
|
KC_PROXY: edge
|
|
KC_HEALTH_ENABLED: true
|
|
KC_METRICS_ENABLED: true
|
|
KC_FEATURES: token-exchange,admin-fine-grained-authz
|
|
command: start-dev
|
|
volumes:
|
|
- sol-calc-saas-dev-keycloak-data:/opt/keycloak/data
|
|
networks:
|
|
- sol-calc-saas-dev-network
|
|
ports:
|
|
- "12002:8080" # Keycloak on 12002
|
|
depends_on:
|
|
- sol-calc-saas-dev-postgres
|
|
|
|
sol-calc-saas-dev-prometheus:
|
|
container_name: sol-calc-saas-dev-prometheus
|
|
image: prom/prometheus:v2.47.1
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./prometheus:/etc/prometheus
|
|
- sol-calc-saas-dev-prometheus-data:/prometheus
|
|
command:
|
|
- '--config.file=/etc/prometheus/prometheus.yml'
|
|
- '--storage.tsdb.path=/prometheus'
|
|
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
|
|
- '--web.console.templates=/usr/share/prometheus/consoles'
|
|
networks:
|
|
- sol-calc-saas-dev-network
|
|
ports:
|
|
- "12003:9090" # Prometheus on 12003
|
|
|
|
sol-calc-saas-dev-loki:
|
|
container_name: sol-calc-saas-dev-loki
|
|
image: grafana/loki:2.9.0
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./loki:/etc/loki
|
|
- sol-calc-saas-dev-loki-data:/loki
|
|
command: -config.file=/etc/loki/loki-config.yaml
|
|
networks:
|
|
- sol-calc-saas-dev-network
|
|
ports:
|
|
- "12004:3100" # Loki on 12004
|
|
|
|
sol-calc-saas-dev-etcd:
|
|
container_name: sol-calc-saas-dev-etcd
|
|
image: bitnami/etcd:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
ETCD_ADVERTISE_CLIENT_URLS: http://sol-calc-saas-dev-etcd:2379
|
|
ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:2379
|
|
ALLOW_NONE_AUTHENTICATION: "yes" # For development only
|
|
healthcheck:
|
|
test: ["CMD", "etcdctl", "--endpoints=http://localhost:2379", "endpoint", "health"] # Check etcd health
|
|
interval: 5s
|
|
timeout: 10s
|
|
retries: 10
|
|
networks:
|
|
- sol-calc-saas-dev-network
|
|
ports:
|
|
- "12013:2379" # etcd client port
|
|
- "12014:2380" # etcd peer port
|
|
volumes:
|
|
- sol-calc-saas-dev-etcd-data:/bitnami/etcd
|
|
|
|
sol-calc-saas-dev-apisix:
|
|
container_name: sol-calc-saas-dev-apisix
|
|
image: apache/apisix:latest
|
|
restart: on-failure # Restart on failure
|
|
environment:
|
|
APISIX_DEPLOYMENT_ETCD_HOST: '["http://sol-calc-saas-dev-etcd:2379"]'
|
|
networks:
|
|
- sol-calc-saas-dev-network
|
|
ports:
|
|
- "12015:9080" # APISIX HTTP
|
|
- "12016:9443" # APISIX HTTPS
|
|
- "12017:9180" # APISIX Admin API
|
|
depends_on:
|
|
sol-calc-saas-dev-etcd:
|
|
condition: service_healthy
|
|
|
|
sol-calc-saas-dev-apisix-dashboard:
|
|
container_name: sol-calc-saas-dev-apisix-dashboard
|
|
image: apache/apisix-dashboard:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
APISIX_ADMIN_API_BASEURL: http://sol-calc-saas-dev-apisix:9180
|
|
APISIX_ADMIN_API_KEY: edd1c9f034335f136f87ad84b625c8f1
|
|
networks:
|
|
- sol-calc-saas-dev-network
|
|
ports:
|
|
- "12018:80" # APISIX Dashboard
|
|
depends_on:
|
|
- sol-calc-saas-dev-apisix
|
|
|
|
sol-calc-saas-dev-dolibarr:
|
|
container_name: sol-calc-saas-dev-dolibarr
|
|
image: dolibarr/dolibarr:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
DOCKER_ENABLE_PHP_EXT: gd,ldap,opcache,zip,intl,curl,xmlrpc,soap,exif,pgsql
|
|
DOLI_DB_TYPE: pgsql
|
|
DOLI_DB_HOST: sol-calc-saas-dev-postgres
|
|
DOLI_DB_PORT: 5432
|
|
DOLI_DB_NAME: dolibarrdb
|
|
DOLI_DB_USER: dolibarruser
|
|
DOLI_DB_PASSWORD: dolibarrpassword
|
|
networks:
|
|
- sol-calc-saas-dev-network
|
|
ports:
|
|
- "12019:80" # Dolibarr on 12019
|
|
volumes:
|
|
- sol-calc-saas-dev-dolibarr-data:/var/www/html
|
|
depends_on:
|
|
- sol-calc-saas-dev-postgres
|
|
|
|
sol-calc-saas-dev-grafana:
|
|
container_name: sol-calc-saas-dev-grafana
|
|
image: grafana/grafana:10.1.5
|
|
restart: unless-stopped
|
|
volumes:
|
|
- sol-calc-saas-dev-grafana-data:/var/lib/grafana
|
|
networks:
|
|
- sol-calc-saas-dev-network
|
|
ports:
|
|
- "12006:3000" # Grafana on 12006
|
|
depends_on:
|
|
- sol-calc-saas-dev-prometheus
|
|
- sol-calc-saas-dev-loki |