docker-compose.yml 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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/bin/hysteria2/config/:/tpdata/trojan-panel-core/bin/hysteria2/config/"
  69. - "/tpdata/trojan-panel-core/logs/:/tpdata/trojan-panel-core/logs/"
  70. - "/tpdata/trojan-panel-core/config/:/tpdata/trojan-panel-core/config/"
  71. - "/tpdata/cert/:/tpdata/cert/"
  72. - "/tpdata/web/:/tpdata/web/"
  73. - "/etc/localtime:/etc/localtime"
  74. environment:
  75. - "GIN_MODE=release"
  76. - "mariadb_ip=127.0.0.1"
  77. - "mariadb_port=9507"
  78. - "mariadb_user=root"
  79. - "mariadb_pas=${mariadb_pas}"
  80. - "database=trojan_panel_db"
  81. - "account-table=account"
  82. - "redis_host=127.0.0.1"
  83. - "redis_port=6378"
  84. - "redis_pass=${redis_pass}"
  85. - "crt_path=/tpdata/cert/${domain}.crt"
  86. - "key_path=/tpdata/cert/${domain}.key"
  87. - "grpc_port=8100"
  88. - "server_port=8082"