63 lines
2.6 KiB
YAML
63 lines
2.6 KiB
YAML
networks:
|
|
traefik-network:
|
|
external: true
|
|
teamspeak6:
|
|
external: false
|
|
services:
|
|
teamspeak:
|
|
image: teamspeaksystems/teamspeak6-server:latest
|
|
container_name: teamspeak-server
|
|
restart: unless-stopped
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=traefik-network"
|
|
- "traefik.udp.routers.ts6-voice.entrypoints=ts6-voice"
|
|
- "traefik.udp.routers.ts6-voice.service=ts6-voice-service"
|
|
- "traefik.udp.services.ts6-voice-service.loadbalancer.server.port=9987"
|
|
- "traefik.tcp.routers.ts6-filetransfer.rule=HostSNI(`*`)"
|
|
- "traefik.tcp.routers.ts6-filetransfer.entrypoints=ts6-filetransfer"
|
|
- "traefik.tcp.routers.ts6-filetransfer.service=ts6-filetransfer-service"
|
|
- "traefik.tcp.services.ts6-filetransfer-service.loadbalancer.server.port=30033"
|
|
- "traefik.tcp.routers.ts6-webquery.rule=HostSNI(`*`)"
|
|
- "traefik.tcp.routers.ts6-webquery.entrypoints=ts6-webquery"
|
|
- "traefik.tcp.routers.ts6-webquery.service=ts6-webquery-service"
|
|
- "traefik.tcp.services.ts6-webquery-service.loadbalancer.server.port=10080"
|
|
networks:
|
|
- traefik-network
|
|
- teamspeak6
|
|
environment:
|
|
- TSSERVER_LICENSE_ACCEPTED=${TSSERVER_LICENSE_ACCEPTED}
|
|
# Database settings
|
|
- TSSERVER_DATABASE_PLUGIN=${TSSERVER_DATABASE_PLUGIN}
|
|
- TSSERVER_DATABASE_SQL_CREATE_PATH=create_mariadb
|
|
- TSSERVER_DATABASE_HOST={TSSERVER_DATABASE_SQL_CREATE_PATH}
|
|
- TSSERVER_DATABASE_PORT=${TSSERVER_DATABASE_PORT}
|
|
- TSSERVER_DATABASE_NAME=${MYSQL_DATABASE}
|
|
- TSSERVER_DATABASE_USERNAME=${MYSQL_USER}
|
|
- TSSERVER_DATABASE_PASSWORD=${MYSQL_PASSWORD}
|
|
volumes:
|
|
- ./data:/var/tsserver
|
|
depends_on:
|
|
mariadb:
|
|
condition: service_healthy
|
|
|
|
mariadb:
|
|
image: mariadb:latest
|
|
container_name: mariadb
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD={MYSQL_ROOT_PASSWORD}
|
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
|
- MYSQL_USER=${MYSQL_USER}
|
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
|
volumes:
|
|
- mariadb-data:/var/lib/mysql
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
|
start_period: 10s
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
networks:
|
|
- teamspeak6
|