docker-compose.yml 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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/caddy/cert/:/tpdata/caddy/cert/certificates/acme-v02.api.letsencrypt.org-directory/${domain}/"
  11. - "/tpdata/caddy/srv/:/tpdata/caddy/srv/"
  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/caddy/srv/:/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. - "mariadb_ip=127.0.0.1"
  42. - "mariadb_port=9507"
  43. - "mariadb_user=root"
  44. - "mariadb_pas=${mariadb_pas}"
  45. - "redis_host=127.0.0.1"
  46. - "redis_port=6378"
  47. - "redis_pass=${redis_pass}"
  48. - "server_port=8081"
  49. trojan-panel-ui:
  50. image: jonssonyan/trojan-panel-ui
  51. container_name: trojan-panel-ui
  52. restart: always
  53. network_mode: host
  54. volumes:
  55. - "/tpdata/nginx/default.conf:/etc/nginx/conf.d/default.conf"
  56. - "/tpdata/caddy/cert/:/tpdata/caddy/cert/"
  57. trojan-panel-core:
  58. image: jonssonyan/trojan-panel-core
  59. container_name: trojan-panel-core
  60. restart: always
  61. network_mode: host
  62. volumes:
  63. - "/tpdata/trojan-panel-core/bin/xray/config:/tpdata/trojan-panel-core/bin/xray/config"
  64. - "/tpdata/trojan-panel-core/bin/trojango/config:/tpdata/trojan-panel-core/bin/trojango/config"
  65. - "/tpdata/trojan-panel-core/bin/hysteria/config:/tpdata/trojan-panel-core/bin/hysteria/config"
  66. - "/tpdata/trojan-panel-core/bin/naiveproxy/config:/tpdata/trojan-panel-core/bin/naiveproxy/config"
  67. - "/tpdata/trojan-panel-core/logs/:/tpdata/trojan-panel-core/logs/"
  68. - "/tpdata/trojan-panel-core/config/:/tpdata/trojan-panel-core/config/"
  69. - "/tpdata/caddy/cert/:/tpdata/caddy/cert/"
  70. - "/tpdata/caddy/srv/:/tpdata/caddy/srv/"
  71. - "/etc/localtime:/etc/localtime"
  72. environment:
  73. - "mariadb_ip=127.0.0.1"
  74. - "mariadb_port=9507"
  75. - "mariadb_user=root"
  76. - "mariadb_pas=${mariadb_pas}"
  77. - "database=trojan_panel_db"
  78. - "account-table=account"
  79. - "redis_host=127.0.0.1"
  80. - "redis_port=6378"
  81. - "redis_pass=${redis_pass}"
  82. - "crt_path=/tpdata/caddy/cert/${domain}.crt"
  83. - "key_path=/tpdata/caddy/cert/${domain}.key"
  84. - "grpc_port=8100"
  85. - "server_port=8082"