version: '3' services: core: build: ./server image: core:latest volumes: - sql_scripts:/server/sql-files database: image: mysql:latest restart: always command: --default-authentication-plugin=mysql_native_password volumes: - sql_scripts:/docker-entrypoint-initdb.d - server_db:/var/lib/mysql - ./database/my.cnf:/etc/my.cnf env_file: - .production.env graphql: image: bryanveloso/enyxsis-graphql-server:latest restart: always environment: DB_HOST: database depends_on: - database labels: - "traefik.enable=true" - "traefik.http.routers.api.rule=Host(`api.enyxsis.com`)" - "traefik.http.routers.api.entrypoints=secure" - "traefik.http.routers.api.tls.certresolver=cloudflare" char: image: core restart: always command: ./wait.sh database:3306 -t 0 -- "./char-server" depends_on: - core - database ports: - 6121:6121 login: image: core restart: always command: ./wait.sh database:3306 -t 0 -- "./login-server" depends_on: - core - database ports: - 6900:6900 map: image: core restart: always command: ./wait.sh database:3306 -t 0 -- "./map-server" depends_on: - core - database ports: - 5121:5121 status: build: ./status image: status:latest environment: CHAR_IP: char CHAR_PORT: 6121 LOGIN_IP: login LOGIN_PORT: 6900 MAP_IP: map MAP_PORT: 5121 PORT: 3000 labels: - "traefik.enable=true" - "traefik.http.routers.status.rule=Host(`status.enyxsis.com`)" - "traefik.http.routers.status.entrypoints=secure" - "traefik.http.routers.status.tls.certresolver=cloudflare" flux: image: richarvey/nginx-php-fpm:1.10.3 restart: always environment: GIT_EMAIL: bryan@avalonstar.com GIT_NAME: Bryan Veloso GIT_REPO: https://github.com/bryanveloso/FluxCP/ labels: - "traefik.enable=true" - "traefik.http.routers.flux.rule=Host(`oldcp.enyxsis.com`)" - "traefik.http.routers.flux.entrypoints=secure" - "traefik.http.routers.flux.tls.certresolver=cloudflare" adminer: image: adminer:latest restart: always ports: - 8081:8080 environment: - ADMINER_DEFAULT_SERVER=database - ADMINER_DESIGN=pepa-linha depends_on: - database labels: - "traefik.enable=true" - "traefik.http.routers.adminer.rule=Host(`adminer.enyxsis.com`)" - "traefik.http.routers.adminer.entrypoints=secure" - "traefik.http.routers.adminer.tls.certresolver=cloudflare" traefik: image: traefik:latest restart: always volumes: - ./traefik/traefik.yml:/etc/traefik/traefik.yml:ro - ./traefik/logs:/logs - ./traefik/letsencrypt:/letsencrypt - /var/run/docker.sock:/var/run/docker.sock:ro ports: - 80:80 - 443:443 - 8080:8080 labels: - "traefik.enable=true" - "traefik.http.routers.http_catchall.rule=HostRegexp(`{any:.+}`)" - "traefik.http.routers.http_catchall.entrypoints=insecure" - "traefik.http.routers.http_catchall.middlewares=https_redirect" - "traefik.http.middlewares.https_redirect.redirectscheme.scheme=https" - "traefik.http.middlewares.https_redirect.redirectscheme.permanent=true" - "traefik.http.routers.traefik.rule=Host(`traefik.enyxsis.com`)" - "traefik.http.routers.traefik.entrypoints=secure" - "traefik.http.routers.traefik.service=api@internal" - "traefik.http.routers.traefik.tls.certresolver=cloudflare" watchtower: image: containrrr/watchtower restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock:ro labels: - "com.centurylinklabs.watchtower.enable=true" volumes: sql_scripts: server_db: networks: default: external: name: "traefik-network"