182 lines
4.7 KiB
YAML
182 lines
4.7 KiB
YAML
services:
|
|
ergo:
|
|
container_name: ergo
|
|
image: ergo
|
|
environment:
|
|
ERGO__DATASTORE__MYSQL__PASSWORD: ${ERGO__DATASTORE__MYSQL__PASSWORD}
|
|
ERGO__SERVER__IP_CLOAKING__NETNAME: ${ERGO__SERVER__IP_CLOAKING__NETNAME}
|
|
ERGO__SERVER__OVERRIDE_SERVICES_HOSTNAME: ${ERGO__SERVER__OVERRIDE_SERVICES_HOSTNAME}
|
|
ERGO__SERVER__NAME: ${ERGO__SERVER__NAME}
|
|
ERGO__NETWORK__NAME: ${ERGO__NETWORK__NAME}
|
|
ERGO__CEF__IMAGOR__URL: ${ERGO__CEF__IMAGOR__URL}
|
|
ERGO__CEF__IMAGOR__SECRET: ${ERGO__CEF__IMAGOR__SECRET}
|
|
IMAGOR_SECRET: ${IMAGOR_SECRET}
|
|
IMAGOR_URL: ${IMAGOR_URL}
|
|
networks:
|
|
- cef
|
|
volumes:
|
|
- ergodata:/ircd/persist
|
|
- ${PWD}/certs:/ircd/certs
|
|
- type: bind
|
|
source: ${PWD}/configs/ergo/ircd.yaml
|
|
target: /ircd/ircd.yaml
|
|
read_only: true
|
|
- type: bind
|
|
source: ${PWD}/configs/ergo/ircd.motd
|
|
target: /ircd/ircd.motd
|
|
depends_on:
|
|
mariadb:
|
|
condition: service_healthy
|
|
restart: "always"
|
|
3m:
|
|
container_name: 3m
|
|
image: 3m
|
|
environment:
|
|
THREEM_MINIO_EXTERNAL_ADDR: ${THREEM_MINIO_EXTERNAL_ADDR}
|
|
THREEM_MINIO_ACCESS_KEY: ${THREEM_MINIO_ACCESS_KEY}
|
|
THREEM_MINIO_SECRET_KEY: ${THREEM_MINIO_SECRET_KEY}
|
|
THREEM_DBURL: ${THREEM_DBURL}
|
|
THREEM_MEDIAMTX_API: ${THREEM_MEDIAMTX_API}
|
|
THREEM_MEDIAMTX_RTSP: ${THREEM_MEDIAMTX_RTSP}
|
|
networks:
|
|
- cef
|
|
volumes:
|
|
- type: bind
|
|
source: ${PWD}/certs/3m.pub
|
|
target: /3m/keys/3m.pub
|
|
- type: bind
|
|
source: ${PWD}/configs/3m/config.py
|
|
target: /3m/config.py
|
|
depends_on:
|
|
- ergo
|
|
restart: "always"
|
|
mediamtx:
|
|
container_name: mediamtx
|
|
image: mediamtx
|
|
command: /mediamtx/mediamtx.yaml
|
|
environment:
|
|
MTX_WEBRTCADDITIONALHOSTS: ${MTX_WEBRTCADDITIONALHOSTS}
|
|
MTX_WEBRTCICESERVERS2_0_URL: "turn:${VIDEO_DOMAIN}:3478"
|
|
MTX_WEBRTCICESERVERS2_0_USERNAME: "AUTH_SECRET"
|
|
MTX_WEBRTCICESERVERS2_0_PASSWORD: ${COTURN_PASSWORD}
|
|
networks:
|
|
- cef
|
|
ports:
|
|
- "8189:8189/tcp"
|
|
- "8189:8189/udp"
|
|
volumes:
|
|
- type: bind
|
|
source: ${PWD}/configs/mediamtx/mediamtx.yaml
|
|
target: /mediamtx/mediamtx.yaml
|
|
restart: "always"
|
|
coturn:
|
|
container_name: coturn
|
|
image: "ghcr.io/coturn/coturn:edge-alpine"
|
|
network_mode: "host"
|
|
environment:
|
|
DETECT_EXTERNAL_IP: "yes"
|
|
DETECT_RELAY_IP: "yes"
|
|
COTURN_LOGIN: ${COTURN_LOGIN}
|
|
restart: "always"
|
|
ports:
|
|
- "3478:3478"
|
|
- "3478:3478/udp"
|
|
- "5349:5349"
|
|
- "5349:5349/udp"
|
|
- "49152-65535:49152-65535/udp"
|
|
command: "--fingerprint --use-auth-secret --static-auth-secret ${COTURN_PASSWORD} --realm cef.icu"
|
|
grumble:
|
|
container_name: grumble
|
|
image: grumble
|
|
environment:
|
|
GRUMBLE_ERGO_ADDR: "ergo"
|
|
networks:
|
|
- cef
|
|
volumes:
|
|
- type: bind
|
|
source: ${PWD}/certs/grumble.pub
|
|
target: /data/jwtpub.pem
|
|
depends_on:
|
|
- ergo
|
|
restart: "always"
|
|
minio:
|
|
container_name: minio
|
|
image: docker.io/minio/minio
|
|
command: server /data
|
|
environment:
|
|
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
|
|
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
|
|
networks:
|
|
- cef
|
|
volumes:
|
|
- miniodata:/data
|
|
restart: "always"
|
|
redis:
|
|
container_name: redis
|
|
image: docker.io/redis:7.2.5-alpine
|
|
networks:
|
|
- cef
|
|
restart: "always"
|
|
caddy:
|
|
container_name: caddy
|
|
image: docker.io/caddy:2.8.4-alpine
|
|
cap_add:
|
|
- NET_ADMIN
|
|
environment:
|
|
DOMAIN: ${DOMAIN}
|
|
HOST_DOMAIN: ${HOST_DOMAIN}
|
|
IMAGOR_URL: ${IMAGOR_URL}
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
- "443:443/udp"
|
|
networks:
|
|
- cef
|
|
volumes:
|
|
- caddydata:/data
|
|
- caddyconfig:/config
|
|
- ${PWD}/www:/srv
|
|
- type: bind
|
|
source: ${PWD}/configs/caddy
|
|
target: /etc/caddy
|
|
restart: "always"
|
|
mariadb:
|
|
container_name: mariadb
|
|
image: docker.io/mariadb:11-ubi9
|
|
restart: always
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: ${MYSQL_PASSWORD}
|
|
networks:
|
|
- cef
|
|
volumes:
|
|
- mariadbdata:/var/lib/mysql
|
|
- ${PWD}/configs/mariadb:/docker-entrypoint-initdb.d
|
|
healthcheck:
|
|
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
|
start_period: 10s
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
imagor:
|
|
container_name: imagor
|
|
image: git.cef.icu/cef/imagorvideoextended:latest
|
|
environment:
|
|
IMAGOR_SECRET: ${IMAGOR_SECRET}
|
|
IMAGOR_SIGNER_TYPE: "sha256"
|
|
DEBUG: "1"
|
|
networks:
|
|
- cef
|
|
|
|
networks:
|
|
cef:
|
|
|
|
volumes:
|
|
ergodata:
|
|
external: true
|
|
miniodata:
|
|
external: true
|
|
mariadbdata:
|
|
external: true
|
|
caddyconfig:
|
|
caddydata:
|
|
external: true
|