242 lines
6.6 KiB
YAML
242 lines
6.6 KiB
YAML
version: "3.4"
|
|
|
|
x-zammad-vars:
|
|
&common-zammad-variables
|
|
MEMCACHE_SERVERS: "zammad-memcached:11211"
|
|
REDIS_URL: "redis://zammad-redis:6379"
|
|
|
|
x-metamigo-vars:
|
|
&common-metamigo-variables
|
|
DATABASE_HOST: "metamigo-postgresql"
|
|
DATABASE_NAME: "metamigo"
|
|
DATABASE_ROOT_OWNER: "root"
|
|
DATABASE_ROOT_PASSWORD: ${METAMIGO_DATABASE_ROOT_PASSWORD}
|
|
DATABASE_OWNER: "metamigo"
|
|
DATABASE_PASSWORD: ${METAMIGO_DATABASE_PASSWORD}
|
|
DATABASE_VISITOR: "app_visitor"
|
|
DATABASE_AUTHENTICATOR: "app_graphile_auth"
|
|
DATABASE_AUTHENTICATOR_PASSWORD: ${METAMIGO_DATABASE_AUTHENTICATOR_PASSWORD}
|
|
DATABASE_URL: "postgresql://metamigo:${METAMIGO_DATABASE_PASSWORD}@metamigo-postgresql/metamigo"
|
|
WORKER_DATABASE_URL: "postgresql://metamigo:${METAMIGO_DATABASE_PASSWORD}@metamigo-postgresql/metamigo"
|
|
SHADOW_DATABASE_URL: "postgresql://metamigo:${METAMIGO_DATABASE_PASSWORD}@metamigo-postgresql/metamigo_shadow"
|
|
ROOT_DATABASE_URL: "postgresql://metamigo:${METAMIGO_DATABASE_PASSWORD}@metamigo-postgresql/template1"
|
|
APP_ROOT_DATABASE_URL: "postgresql://root:${METAMIGO_DATABASE_ROOT_PASSWORD}@metamigo-postgresql/metamigo"
|
|
DATABASE_AUTH_URL: "postgresql://app_graphile_auth:${METAMIGO_DATABASE_AUTHENTICATOR_PASSWORD}@metamigo-postgresql/metamigo"
|
|
CORS_ALLOWED_ORIGINS: "https://metamigo-api,${METAMIGO_DOMAIN},http://localhost:3000,http://127.0.0.1:3000"
|
|
FRONTEND_URL: ${METAMIGO_DOMAIN}
|
|
API_URL: "http://metamigo-api:3001"
|
|
NEXTAUTH_URL: ${METAMIGO_DOMAIN}
|
|
NEXTAUTH_SECRET: ${NEXTAUTH_SECRET}
|
|
NEXTAUTH_AUDIENCE: ${NEXTAUTH_AUDIENCE}
|
|
NEXTAUTH_SIGNING_KEY_B64: ${NEXTAUTH_SIGNING_KEY_B64}
|
|
NEXTAUTH_ENCRYPTION_KEY_B64: ${NEXTAUTH_ENCRYPTION_KEY_B64}
|
|
GITLAB_EMAIL_ADDRESS: ${GITLAB_EMAIL_ADDRESS}
|
|
GITLAB_ID: ${GITLAB_ID}
|
|
GITLAB_SECRET: ${GITLAB_SECRET}
|
|
SIGNALD_ENABLED: "true"
|
|
SIGNALD_SOCKET: /signald/signald.sock
|
|
|
|
services:
|
|
zammad-elasticsearch:
|
|
container_name: zammad-elasticsearch
|
|
environment:
|
|
- discovery.type=single-node
|
|
- ingest.geoip.downloader.enabled=false
|
|
build: ./docker/elasticsearch
|
|
restart: ${RESTART}
|
|
volumes:
|
|
- elasticsearch-data:/usr/share/elasticsearch/data
|
|
|
|
zammad-init:
|
|
container_name: zammad-init
|
|
command: [ "zammad-init" ]
|
|
depends_on:
|
|
- zammad-postgresql
|
|
environment:
|
|
<<: *common-zammad-variables
|
|
POSTGRESQL_USER: zammad
|
|
POSTGRESQL_PASS: ${ZAMMAD_DATABASE_PASSWORD}
|
|
build: ./docker/zammad
|
|
restart: on-failure
|
|
volumes:
|
|
- zammad-data:/opt/zammad
|
|
|
|
zammad-memcached:
|
|
container_name: zammad-memcached
|
|
command: memcached -m 256M
|
|
build: ./docker/memcached
|
|
restart: ${RESTART}
|
|
|
|
zammad-nginx:
|
|
container_name: zammad-nginx
|
|
command: [ "zammad-nginx" ]
|
|
expose:
|
|
- "8080"
|
|
ports:
|
|
- 127.0.0.1:8001:8080
|
|
depends_on:
|
|
- zammad-railsserver
|
|
build: ./docker/zammad
|
|
restart: ${RESTART}
|
|
environment:
|
|
NGINX_SERVER_SCHEME: https
|
|
VIRTUAL_HOST: ${ZAMMAD_VIRTUAL_HOST}
|
|
VIRTUAL_PORT: 8080
|
|
|
|
volumes:
|
|
- zammad-data:/opt/zammad
|
|
|
|
zammad-postgresql:
|
|
container_name: zammad-postgresql
|
|
environment:
|
|
- POSTGRES_USER=zammad
|
|
- POSTGRES_PASSWORD=${ZAMMAD_DATABASE_PASSWORD}
|
|
build: ./docker/postgresql
|
|
restart: ${RESTART}
|
|
volumes:
|
|
- postgresql-data:/var/lib/postgresql/data
|
|
|
|
zammad-railsserver:
|
|
container_name: zammad-railsserver
|
|
command: [ "zammad-railsserver" ]
|
|
depends_on:
|
|
- zammad-memcached
|
|
- zammad-postgresql
|
|
- zammad-redis
|
|
environment: *common-zammad-variables
|
|
build: ./docker/zammad
|
|
restart: ${RESTART}
|
|
volumes:
|
|
- zammad-data:/opt/zammad
|
|
|
|
zammad-redis:
|
|
container_name: zammad-redis
|
|
build: ./docker/redis
|
|
restart: ${RESTART}
|
|
|
|
zammad-scheduler:
|
|
container_name: zammad-scheduler
|
|
command: [ "zammad-scheduler" ]
|
|
depends_on:
|
|
- zammad-memcached
|
|
- zammad-railsserver
|
|
- zammad-redis
|
|
environment: *common-zammad-variables
|
|
build: ./docker/zammad
|
|
restart: ${RESTART}
|
|
volumes:
|
|
- zammad-data:/opt/zammad
|
|
|
|
zammad-websocket:
|
|
container_name: zammad-websocket
|
|
command: [ "zammad-websocket" ]
|
|
depends_on:
|
|
- zammad-memcached
|
|
- zammad-railsserver
|
|
- zammad-redis
|
|
environment: *common-zammad-variables
|
|
build: ./docker/zammad
|
|
restart: ${RESTART}
|
|
volumes:
|
|
- zammad-data:/opt/zammad
|
|
|
|
# metamigo-api:
|
|
# build: ./apps/metamigo-api
|
|
# container_name: metamigo-api
|
|
# restart: ${RESTART}
|
|
# command: [ "api" ]
|
|
# expose:
|
|
# - "3001"
|
|
# environment: *common-metamigo-variables
|
|
# volumes:
|
|
# - ./signald:/signald
|
|
|
|
# metamigo-frontend:
|
|
# build: ./apps/metamigo-frontend
|
|
# container_name: metamigo-frontend
|
|
# restart: ${RESTART}
|
|
# command: [ "frontend" ]
|
|
# expose:
|
|
# - "3000"
|
|
# ports:
|
|
# - 127.0.0.1:8002:3000
|
|
# environment:
|
|
# <<: *common-metamigo-variables
|
|
# VIRTUAL_HOST: ${METAMIGO_VIRTUAL_HOST}
|
|
# VIRTUAL_PORT: 3000
|
|
|
|
# metamigo-worker:
|
|
# build: ./apps/metamigo-worker
|
|
# container_name: metamigo-worker
|
|
# restart: ${RESTART}
|
|
# command: [ "worker" ]
|
|
# environment: *common-metamigo-variables
|
|
|
|
metamigo-postgresql:
|
|
container_name: metamigo-postgresql
|
|
build: ./docker/postgresql
|
|
restart: ${RESTART}
|
|
volumes:
|
|
- metamigo-data:/var/lib/postgresql/data
|
|
- ./scripts/bootstrap-metamigo.sh:/docker-entrypoint-initdb.d/bootstrap-metamigo.sh
|
|
environment:
|
|
<<: *common-metamigo-variables
|
|
POSTGRES_PASSWORD: ${METAMIGO_DATABASE_ROOT_PASSWORD}
|
|
POSTGRES_USER: "root"
|
|
POSTGRES_DB: "metamigo"
|
|
expose:
|
|
- "5432"
|
|
ports:
|
|
- 127.0.0.1:5432:5432
|
|
|
|
signald:
|
|
container_name: signald
|
|
build: ./docker/signald
|
|
restart: ${RESTART}
|
|
user: ${CURRENT_UID}
|
|
volumes:
|
|
- ../signald:/signald
|
|
|
|
nginx-proxy:
|
|
container_name: nginx-proxy
|
|
build: ./docker/nginx-proxy
|
|
restart: ${RESTART}
|
|
ports:
|
|
- "80:80"
|
|
volumes:
|
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
|
|
link:
|
|
container_name: link
|
|
build: ./apps/link
|
|
expose:
|
|
- "3000"
|
|
ports:
|
|
- "8003:3000"
|
|
environment:
|
|
ZAMMAD_PROXY_URL: ${ZAMMAD_PROXY_URL}
|
|
ZAMMAD_URL: ${ZAMMAD_URL}
|
|
ZAMMAD_API_TOKEN: ${ZAMMAD_API_TOKEN}
|
|
ZAMMAD_VIRUAL_HOST: ${ZAMMAD_VIRTUAL_HOST}
|
|
|
|
zammad-proxy:
|
|
container_name: zammad-proxy
|
|
build: ./apps/zammad-proxy
|
|
expose:
|
|
- "3000"
|
|
ports:
|
|
- "8004:3000"
|
|
environment:
|
|
ZAMMAD_URL: ${ZAMMAD_URL}
|
|
ZAMMAD_API_TOKEN: ${ZAMMAD_API_TOKEN}
|
|
ZAMMAD_VIRUAL_HOST: ${ZAMMAD_VIRTUAL_HOST}
|
|
|
|
volumes:
|
|
elasticsearch-data:
|
|
driver: local
|
|
postgresql-data:
|
|
driver: local
|
|
zammad-data:
|
|
driver: local
|
|
metamigo-data:
|
|
driver: local
|