speckle-server/docker-compose-deps.yml

132 строки
3.4 KiB
YAML

version: '3'
services:
# Actual Speckle Server dependencies
postgres:
build:
context: .
dockerfile: utils/postgres/Dockerfile
restart: always
environment:
POSTGRES_DB: speckle
POSTGRES_USER: speckle
POSTGRES_PASSWORD: speckle
volumes:
- postgres-data:/var/lib/postgresql/data/
- ./setup/db/0-docker_postgres_aiven.sql:/docker-entrypoint-initdb.d/9-docker_postgres_aiven.sql
- ./setup/db/10-docker_postgres_init.sql:/docker-entrypoint-initdb.d/10-docker_postgres_init.sql
- ./setup/db/11-docker_postgres_keycloack_init.sql:/docker-entrypoint-initdb.d/11-docker_postgres_keycloack_init.sql
ports:
- '127.0.0.1:5432:5432'
postgres-region1:
build:
context: .
dockerfile: utils/postgres/Dockerfile
restart: always
environment:
POSTGRES_DB: speckle
POSTGRES_USER: speckle
POSTGRES_PASSWORD: speckle
volumes:
- postgres-region1-data:/var/lib/postgresql/data/
- ./setup/db/0-docker_postgres_aiven.sql:/docker-entrypoint-initdb.d/9-docker_postgres_aiven.sql
- ./setup/db/10-docker_postgres_init.sql:/docker-entrypoint-initdb.d/10-docker_postgres_init.sql
- ./setup/db/11-docker_postgres_keycloack_init.sql:/docker-entrypoint-initdb.d/11-docker_postgres_keycloack_init.sql
ports:
- '127.0.0.1:5401:5432'
redis:
image: 'redis:7-alpine'
restart: always
volumes:
- redis-data:/data
ports:
- '127.0.0.1:6379:6379'
minio:
image: 'minio/minio'
command: server /data --console-address ":9001"
restart: always
volumes:
- minio-data:/data
ports:
- '127.0.0.1:9000:9000'
- '127.0.0.1:9001:9001'
# Local OIDC provider for testing
keycloak:
image: quay.io/keycloak/keycloak:25.0
depends_on:
- postgres
environment:
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://postgres:5432/keycloak
KC_DB_USERNAME: speckle
KC_DB_PASSWORD: speckle
KC_HOSTNAME: 127.0.0.1
KC_HOSTNAME_PORT: 9000
KC_HOSTNAME_STRICT: false
KC_HOSTNAME_STRICT_HTTPS: false
KC_LOG_LEVEL: info
KC_METRICS_ENABLED: true
KC_HEALTH_ENABLED: true
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
ports:
- 8443:8443
- 9010:9000
- 8090:8080
command: start-dev --import-realm
volumes:
- ./setup/keycloak:/opt/keycloak/data/import
# user: root
# command: export --dir /opt/keycloak/backup --realm speckle
# volumes:
# - ./keycloak-backup:/opt/keycloak/backup
# Local email server for email troubleshooting
maildev:
restart: always
image: maildev/maildev
ports:
- '127.0.0.1:1080:1080'
- '127.0.0.1:1025:1025'
# Useful for debugging / exploring local databases
pgadmin:
image: dpage/pgadmin4
restart: always
environment:
PGADMIN_DEFAULT_EMAIL: admin@localhost.com
PGADMIN_DEFAULT_PASSWORD: admin
volumes:
- pgadmin-data:/var/lib/pgadmin
ports:
- '127.0.0.1:16543:80'
depends_on:
- postgres
redis_insight:
image: redislabs/redisinsight:latest
restart: always
volumes:
- redis_insight-data:/db
ports:
- '127.0.0.1:8001:8001'
depends_on:
- redis
# Storage persistency
volumes:
postgres-data:
postgres-region1-data:
redis-data:
pgadmin-data:
redis_insight-data:
minio-data: