version: '3' services: trojan-panel-caddy: image: caddy:2.6.2 container_name: trojan-panel-caddy restart: always network_mode: host volumes: - "/tpdata/caddy/config.json:/tpdata/caddy/config.json" - "/tpdata/cert/:/tpdata/cert/certificates/acme-v02.api.letsencrypt.org-directory/${domain}/" - "/tpdata/web/:/tpdata/web/" - "/tpdata/caddy/logs/:/tpdata/caddy/logs/" command: caddy run --config /tpdata/caddy/config.json trojan-panel-mariadb: image: mariadb:10.7.3 container_name: trojan-panel-mariadb restart: always network_mode: host environment: MYSQL_DATABASE: trojan_panel_db MYSQL_ROOT_PASSWORD: "${mariadb_pas}" TZ: Asia/Shanghai command: --port=9507 trojan-panel-redis: image: redis:6.2.7 container_name: trojan-panel-redis restart: always network_mode: host command: redis-server --requirepass ${redis_pass} --port 6378 trojan-panel: image: jonssonyan/trojan-panel container_name: trojan-panel restart: always network_mode: host volumes: - "/tpdata/web/:/tpdata/trojan-panel/webfile/" - "/tpdata/trojan-panel/logs/:/tpdata/trojan-panel/logs/" - "/tpdata/trojan-panel/config/:/tpdata/trojan-panel/config/" - "/etc/localtime:/etc/localtime" environment: - "GIN_MODE=release" - "mariadb_ip=127.0.0.1" - "mariadb_port=9507" - "mariadb_user=root" - "mariadb_pas=${mariadb_pas}" - "redis_host=127.0.0.1" - "redis_port=6378" - "redis_pass=${redis_pass}" - "server_port=8081" trojan-panel-ui: image: jonssonyan/trojan-panel-ui container_name: trojan-panel-ui restart: always network_mode: host volumes: - "/tpdata/trojan-panel-ui/nginx/default.conf:/etc/nginx/conf.d/default.conf" - "/tpdata/cert/:/tpdata/cert/" trojan-panel-core: image: jonssonyan/trojan-panel-core container_name: trojan-panel-core restart: always network_mode: host volumes: - "/tpdata/trojan-panel-core/bin/xray/config/:/tpdata/trojan-panel-core/bin/xray/config/" - "/tpdata/trojan-panel-core/bin/trojango/config/:/tpdata/trojan-panel-core/bin/trojango/config/" - "/tpdata/trojan-panel-core/bin/hysteria/config/:/tpdata/trojan-panel-core/bin/hysteria/config/" - "/tpdata/trojan-panel-core/bin/naiveproxy/config/:/tpdata/trojan-panel-core/bin/naiveproxy/config/" - "/tpdata/trojan-panel-core/bin/hysteria2/config/:/tpdata/trojan-panel-core/bin/hysteria2/config/" - "/tpdata/trojan-panel-core/logs/:/tpdata/trojan-panel-core/logs/" - "/tpdata/trojan-panel-core/config/:/tpdata/trojan-panel-core/config/" - "/tpdata/cert/:/tpdata/cert/" - "/tpdata/web/:/tpdata/web/" - "/etc/localtime:/etc/localtime" environment: - "GIN_MODE=release" - "mariadb_ip=127.0.0.1" - "mariadb_port=9507" - "mariadb_user=root" - "mariadb_pas=${mariadb_pas}" - "database=trojan_panel_db" - "account-table=account" - "redis_host=127.0.0.1" - "redis_port=6378" - "redis_pass=${redis_pass}" - "crt_path=/tpdata/cert/${domain}.crt" - "key_path=/tpdata/cert/${domain}.key" - "grpc_port=8100" - "server_port=8082"