3x-ui/docker-compose.yml

56 lines
1.3 KiB
YAML
Raw Normal View History

2023-05-12 17:48:16 +00:00
services:
3x-ui:
build:
context: .
2026-01-18 15:10:17 +00:00
args:
2026-01-18 18:33:06 +00:00
XRAY_VERSION: "${XRAY_VERSION:-v26.1.18}"
container_name: 3xui_app
2023-05-12 17:48:16 +00:00
volumes:
- $PWD/db/:/etc/x-ui/
- $PWD/cert/:/root/cert/
- $PWD/geodata/:/app/bin
2026-01-18 15:10:17 +00:00
2023-05-12 17:48:16 +00:00
environment:
2026-01-18 15:10:17 +00:00
TZ: "UTC"
2023-05-12 17:48:16 +00:00
XRAY_VMESS_AEAD_FORCED: "false"
XUI_ENABLE_FAIL2BAN: "true"
2023-05-12 17:48:16 +00:00
tty: true
network_mode: host
restart: unless-stopped
2026-01-18 15:10:17 +00:00
# If you don't need automatic geodata update, just disable `docker-proxy` and `geodata-cron` containers
2026-01-18 18:15:31 +00:00
docker-proxy:
image: tecnativa/docker-socket-proxy
container_name: docker_proxy
restart: unless-stopped
environment:
- CONTAINERS=1
- POST=1
- ALLOW_RESTARTS=1
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- docker-internal
geodata-cron:
build:
2026-01-18 18:42:51 +00:00
context: .
2026-01-18 18:15:31 +00:00
dockerfile: Dockerfile-cron-runner
container_name: geodata_cron
restart: unless-stopped
depends_on:
- docker-proxy
environment:
TZ: "UTC"
DOCKER_PROXY_URL: "http://docker-proxy:2375"
TARGET_CONTAINER_NAME: "3xui_app"
2026-01-18 19:26:56 +00:00
CRON_SCHEDULE: "0 */6 * * *"
2026-01-18 18:15:31 +00:00
SHARED_VOLUME_PATH: "/app/bin"
volumes:
- $PWD/geodata/:/app/bin/
networks:
- docker-internal
networks:
docker-internal:
driver: bridge