docker-compose.yml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. version: '3'
  2. services:
  3. trojan-panel-caddy:
  4. image: caddy:2.6.2
  5. container_name: trojan-panel-caddy
  6. restart: always
  7. network_mode: host
  8. volumes:
  9. - "/tpdata/caddy/config.json:/tpdata/caddy/config.json"
  10. - "/tpdata/cert/:/tpdata/cert/certificates/acme-v02.api.letsencrypt.org-directory/${domain}/"
  11. - "/tpdata/web/:/tpdata/web/"
  12. - "/tpdata/caddy/logs/:/tpdata/caddy/logs/"
  13. command: caddy run --config /tpdata/caddy/config.json
  14. trojan-panel-mariadb:
  15. image: mariadb:10.7.3
  16. container_name: trojan-panel-mariadb
  17. restart: always
  18. network_mode: host
  19. environment:
  20. MYSQL_DATABASE: trojan_panel_db
  21. MYSQL_ROOT_PASSWORD: "${mariadb_pas}"
  22. TZ: Asia/Shanghai
  23. command: --port=9507
  24. trojan-panel-redis:
  25. image: redis:6.2.7
  26. container_name: trojan-panel-redis
  27. restart: always
  28. network_mode: host
  29. command: redis-server --requirepass ${redis_pass} --port 6378
  30. trojan-panel:
  31. image: jonssonyan/trojan-panel
  32. container_name: trojan-panel
  33. restart: always
  34. network_mode: host
  35. volumes:
  36. - "/tpdata/web/:/tpdata/trojan-panel/webfile/"
  37. - "/tpdata/trojan-panel/logs/:/tpdata/trojan-panel/logs/"
  38. - "/tpdata/trojan-panel/config/:/tpdata/trojan-panel/config/"
  39. - "/etc/localtime:/etc/localtime"
  40. environment:
  41. - "GIN_MODE=release"
  42. - "mariadb_ip=127.0.0.1"
  43. - "mariadb_port=9507"
  44. - "mariadb_user=root"
  45. - "mariadb_pas=${mariadb_pas}"
  46. - "redis_host=127.0.0.1"
  47. - "redis_port=6378"
  48. - "redis_pass=${redis_pass}"
  49. - "server_port=8081"
  50. trojan-panel-ui:
  51. image: jonssonyan/trojan-panel-ui
  52. container_name: trojan-panel-ui
  53. restart: always
  54. network_mode: host
  55. volumes:
  56. - "/tpdata/trojan-panel-ui/nginx/default.conf:/etc/nginx/conf.d/default.conf"
  57. - "/tpdata/cert/:/tpdata/cert/"
  58. trojan-panel-core:
  59. image: jonssonyan/trojan-panel-core
  60. container_name: trojan-panel-core
  61. restart: always
  62. network_mode: host
  63. volumes:
  64. - "/tpdata/trojan-panel-core/bin/xray/config/:/tpdata/trojan-panel-core/bin/xray/config/"
  65. - "/tpdata/trojan-panel-core/bin/trojango/config/:/tpdata/trojan-panel-core/bin/trojango/config/"
  66. - "/tpdata/trojan-panel-core/bin/hysteria/config/:/tpdata/trojan-panel-core/bin/hysteria/config/"
  67. - "/tpdata/trojan-panel-core/bin/naiveproxy/config/:/tpdata/trojan-panel-core/bin/naiveproxy/config/"
  68. - "/tpdata/trojan-panel-core/logs/:/tpdata/trojan-panel-core/logs/"
  69. - "/tpdata/trojan-panel-core/config/:/tpdata/trojan-panel-core/config/"
  70. - "/tpdata/cert/:/tpdata/cert/"
  71. - "/tpdata/web/:/tpdata/web/"
  72. - "/etc/localtime:/etc/localtime"
  73. environment:
  74. - "GIN_MODE=release"
  75. - "mariadb_ip=127.0.0.1"
  76. - "mariadb_port=9507"
  77. - "mariadb_user=root"
  78. - "mariadb_pas=${mariadb_pas}"
  79. - "database=trojan_panel_db"
  80. - "account-table=account"
  81. - "redis_host=127.0.0.1"
  82. - "redis_port=6378"
  83. - "redis_pass=${redis_pass}"
  84. - "crt_path=/tpdata/cert/${domain}.crt"
  85. - "key_path=/tpdata/cert/${domain}.key"
  86. - "grpc_port=8100"
  87. - "server_port=8082"