docker-compose.yml 3.0 KB

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