SOA/docker-compose.yml
Alexis Bruneteau 15e56fea50 merged
2025-06-28 12:40:55 +02:00

107 lines
1.9 KiB
YAML

version: '3.8'
services:
keycloak-db:
image: postgres:15
environment:
POSTGRES_DB: keycloak # CHANGE THIS IN PROD
POSTGRES_USER: keycloak # CHANGE THIS IN PROD
POSTGRES_PASSWORD: password # CHANGE THIS IN PROD
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- soa
keycloak:
image: quay.io/keycloak/keycloak:24.0.3
command: start-dev
ports:
- "8080:8080"
environment:
KC_DB: postgres
KC_DB_URL_HOST: keycloak-db
KC_DB_URL_DATABASE: keycloak
KC_DB_USERNAME: keycloak
KC_DB_PASSWORD: password
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
KC_HOSTNAME_URL: https://auth.local
KC_PROXY: edge
depends_on:
- keycloak-db
networks:
- soa
public_api:
build:
context: ./laravel
depends_on:
- keycloak
- mysql
expose:
- "5001"
networks:
- soa
private_api:
build:
context: ./private
depends_on:
- keycloak
- mysql
expose:
- "5002"
networks:
- soa
apache:
build:
context: ./apache
container_name: apache
ports:
- "443:443"
- "80:80"
depends_on:
- keycloak
- public_api
- private_api
volumes:
- ./apache/logs:/usr/local/apache2/conf/logs
environment:
APACHE_LOG_DIR: /usr/local/apache2/conf/logs
networks:
- soa
mysql:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: mydb
MYSQL_USER: myuser
MYSQL_PASSWORD: mypassword
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
networks:
- soa
redis:
image: redis:7
ports:
- "6379:6379"
networks:
- soa
networks:
soa:
driver: bridge
volumes:
postgres_data:
mysql_data: