535 lines
16 KiB
YAML
535 lines
16 KiB
YAML
x-logging:
|
|
&default-logging
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "200k"
|
|
max-file: "10"
|
|
|
|
networks:
|
|
default:
|
|
ipam:
|
|
config:
|
|
- subnet: 10.10.0.0/24
|
|
xray:
|
|
ipam:
|
|
config:
|
|
- subnet: 10.10.1.0/24
|
|
volumes:
|
|
adguard:
|
|
warp:
|
|
|
|
services:
|
|
up:
|
|
image: mercurykd/vpnbot-ng:1.1
|
|
build:
|
|
context: dockerfile
|
|
dockerfile: nginx.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
volumes:
|
|
- ./config/.profile:/root/.ashrc:ro
|
|
- ./config/upstream.conf:/etc/nginx/nginx.conf
|
|
- ./config/deny:/etc/nginx/deny
|
|
- ./scripts/start_upstream.sh:/start_upstream.sh
|
|
- ./ssh:/ssh
|
|
- ./config/sshd_config:/etc/ssh/sshd_config
|
|
- ./logs/:/logs/
|
|
ports:
|
|
- 443:443/tcp
|
|
- 443:443/udp
|
|
hostname: upstream
|
|
container_name: upstream-${VER}
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
ng:
|
|
condition: service_started
|
|
ad:
|
|
condition: service_started
|
|
ss:
|
|
condition: service_started
|
|
xr:
|
|
condition: service_started
|
|
oc:
|
|
condition: service_started
|
|
np:
|
|
condition: service_started
|
|
env_file:
|
|
- path: ./.env
|
|
required: true # default
|
|
- path: ./override.env
|
|
required: false
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_upstream.sh"]
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.10
|
|
logging: *default-logging
|
|
ng:
|
|
image: mercurykd/vpnbot-ng:1.1
|
|
build:
|
|
context: dockerfile
|
|
dockerfile: nginx.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
volumes:
|
|
- ./config/.profile:/root/.ashrc:ro
|
|
- ./config/nginx.conf:/etc/nginx/nginx.conf
|
|
- ./config/override.conf:/etc/nginx/override.conf
|
|
- ./config/location.conf:/etc/nginx/location.conf
|
|
- ./config/nginx_default.conf:/nginx_default.conf
|
|
- ./scripts/start_ng.sh:/start_ng.sh
|
|
- ./certs/:/certs/
|
|
- ./ssh:/ssh
|
|
- ./config/sshd_config:/etc/ssh/sshd_config
|
|
- ./logs/:/logs/
|
|
- ./app/webapp:/app
|
|
ports:
|
|
- 80:80
|
|
hostname: nginx
|
|
container_name: nginx-${VER}
|
|
env_file:
|
|
- path: ./.env
|
|
required: true # default
|
|
- path: ./override.env
|
|
required: false
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_ng.sh"]
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.2
|
|
xray:
|
|
ipv4_address: 10.10.1.2
|
|
logging: *default-logging
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
php:
|
|
image: mercurykd/vpnbot-php:1.7
|
|
build:
|
|
dockerfile: dockerfile/php.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
ports:
|
|
- 127.0.0.1:8081:8080
|
|
volumes:
|
|
- ./config/.profile:/root/.ashrc:ro
|
|
- ./config/php.ini:/etc/php81/php.ini
|
|
- ./config/:/config/
|
|
- ./certs/:/certs/
|
|
- ./ssh:/ssh
|
|
- ./app:/app
|
|
- ./logs/:/logs/
|
|
- ./scripts/start_php.sh:/start_php.sh
|
|
- ./scripts/check_file.sh:/check_file.sh
|
|
- ./version:/version
|
|
- ./mirror:/mirror
|
|
- ./.env:/mirror/.env
|
|
- ./update:/update
|
|
- ./.git:/.git
|
|
- ./singbox_windows:/singbox
|
|
- ./docker-compose.override.yml:/docker/compose
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
environment:
|
|
IP: ${IP}
|
|
VER: ${VER}
|
|
env_file:
|
|
- path: ./.env
|
|
required: true # default
|
|
- path: ./override.env
|
|
required: false
|
|
hostname: php
|
|
container_name: php-${VER}
|
|
# restart: unless-stopped
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_php.sh"]
|
|
working_dir: /app
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.7
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
logging: *default-logging
|
|
healthcheck:
|
|
test: ["CMD", "/bin/sh", "/check_file.sh"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
service:
|
|
image: mercurykd/vpnbot-php:1.7
|
|
build:
|
|
dockerfile: dockerfile/php.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
volumes:
|
|
- ./config/.profile:/root/.ashrc:ro
|
|
- ./config/php.ini:/etc/php81/php.ini
|
|
- ./config/:/config/
|
|
- ./certs/:/certs/
|
|
- ./ssh:/ssh
|
|
- ./app:/app
|
|
- ./logs/:/logs/
|
|
- ./version:/version
|
|
- ./update:/update
|
|
- ./.git:/.git
|
|
- ./scripts/start_service.sh:/start_service.sh
|
|
- ./docker-compose.override.yml:/docker/compose
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
environment:
|
|
IP: ${IP}
|
|
VER: ${VER}
|
|
env_file:
|
|
- path: ./.env
|
|
required: true # default
|
|
- path: ./override.env
|
|
required: false
|
|
hostname: service
|
|
container_name: service-${VER}
|
|
# restart: unless-stopped
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_service.sh"]
|
|
working_dir: /app
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.15
|
|
logging: *default-logging
|
|
depends_on:
|
|
- up
|
|
- ng
|
|
- php
|
|
- wg
|
|
- wg1
|
|
- ad
|
|
- tg
|
|
- xr
|
|
- oc
|
|
- np
|
|
- proxy
|
|
- ss
|
|
wg:
|
|
image: mercurykd/vpnbot-wg:1.1
|
|
build:
|
|
dockerfile: dockerfile/wireguard.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
volumes:
|
|
- ./config/.profile:/root/.ashrc:ro
|
|
- ./config/wg0.conf:/etc/wireguard/wg0.conf
|
|
- ./config/pac.json:/pac.json
|
|
- ./scripts/start_wg.sh:/start_wg.sh
|
|
- ./scripts/reset_wg.sh:/reset_wg.sh
|
|
- ./scripts/block_torrent.sh:/block_torrent.sh
|
|
- ./scripts/block_exchange.sh:/block_exchange.sh
|
|
- ./ssh:/ssh
|
|
- ./config/sshd_config:/etc/ssh/sshd_config
|
|
hostname: wireguard
|
|
container_name: wireguard-${VER}
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
env_file:
|
|
- path: ./.env
|
|
required: true # default
|
|
- path: ./override.env
|
|
required: false
|
|
environment:
|
|
ADDRESS: ${WGADDRESS}
|
|
cap_add:
|
|
- NET_ADMIN
|
|
devices:
|
|
- /dev/net/tun:/dev/net/tun
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_wg.sh"]
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.4
|
|
logging: *default-logging
|
|
wg1:
|
|
image: mercurykd/vpnbot-wg:1.1
|
|
build:
|
|
dockerfile: dockerfile/wireguard.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
volumes:
|
|
- ./config/.profile:/root/.ashrc:ro
|
|
- ./config/wg1.conf:/etc/wireguard/wg0.conf
|
|
- ./config/pac.json:/pac.json
|
|
- ./scripts/start_wg.sh:/start_wg.sh
|
|
- ./scripts/reset_wg.sh:/reset_wg.sh
|
|
- ./scripts/block_torrent.sh:/block_torrent.sh
|
|
- ./scripts/block_exchange.sh:/block_exchange.sh
|
|
- ./ssh:/ssh
|
|
- ./config/sshd_config:/etc/ssh/sshd_config
|
|
hostname: wireguard1
|
|
container_name: wireguard1-${VER}
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
env_file:
|
|
- path: ./.env
|
|
required: true # default
|
|
- path: ./override.env
|
|
required: false
|
|
environment:
|
|
ADDRESS: ${WG1ADDRESS}
|
|
cap_add:
|
|
- NET_ADMIN
|
|
devices:
|
|
- /dev/net/tun:/dev/net/tun
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_wg.sh"]
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.14
|
|
logging: *default-logging
|
|
ad:
|
|
image: mercurykd/vpnbot-ad:1.3
|
|
build:
|
|
dockerfile: dockerfile/adguard.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
volumes:
|
|
- ./config/.profile:/root/.ashrc:ro
|
|
- type: volume
|
|
target: /opt/adguardhome/work
|
|
source: adguard
|
|
- ./ssh:/ssh
|
|
- ./config/sshd_config:/etc/ssh/sshd_config
|
|
- ./config/:/config/
|
|
- ./certs/:/certs/
|
|
- ./logs/:/logs/
|
|
- ./scripts/start_ad.sh:/start_ad.sh
|
|
hostname: adguard
|
|
container_name: adguard-${VER}
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
env_file:
|
|
- path: ./.env
|
|
required: true # default
|
|
- path: ./override.env
|
|
required: false
|
|
stop_grace_period: 1s
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.5
|
|
cap_add:
|
|
- NET_ADMIN
|
|
entrypoint: ["/bin/sh", "/start_ad.sh"]
|
|
logging: *default-logging
|
|
tg:
|
|
image: mercurykd/vpnbot-tg:1.1
|
|
build:
|
|
dockerfile: dockerfile/telegram.dockerfile
|
|
volumes:
|
|
- ./config/.profile:/root/.ashrc:ro
|
|
- ./ssh:/ssh
|
|
- ./config/sshd_config:/etc/ssh/sshd_config
|
|
- ./scripts/start_tg.sh:/start_tg.sh
|
|
- ./config/mtprotosecret:/mtprotosecret
|
|
hostname: telegram
|
|
container_name: mtproto-${VER}
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
environment:
|
|
IP: ${IP}
|
|
env_file:
|
|
- path: ./.env
|
|
required: true # default
|
|
- path: ./override.env
|
|
required: false
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_tg.sh"]
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.8
|
|
logging: *default-logging
|
|
xr:
|
|
image: mercurykd/vpnbot-xr:1.4
|
|
build:
|
|
dockerfile: dockerfile/xray.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
volumes:
|
|
- ./config/.profile:/root/.ashrc:ro
|
|
- ./ssh:/ssh
|
|
- ./config/sshd_config:/etc/ssh/sshd_config
|
|
- ./config/xray.json:/xray.json
|
|
- ./scripts/start_xray.sh:/start_xray.sh
|
|
- ./logs:/logs
|
|
hostname: xray
|
|
container_name: xray-${VER}
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
env_file:
|
|
- path: ./.env
|
|
required: true # default
|
|
- path: ./override.env
|
|
required: false
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_xray.sh"]
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.9
|
|
xray:
|
|
ipv4_address: 10.10.1.9
|
|
logging: *default-logging
|
|
oc:
|
|
image: mercurykd/vpnbot-oc:1.2
|
|
build:
|
|
dockerfile: dockerfile/ocserv.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
volumes:
|
|
- ./config/.profile:/root/.ashrc:ro
|
|
- ./ssh:/ssh
|
|
- ./config/sshd_config:/etc/ssh/sshd_config
|
|
- ./config:/etc/ocserv
|
|
- ./certs:/certs
|
|
- ./scripts/start_oc.sh:/start_oc.sh
|
|
hostname: ocserv
|
|
container_name: openconnect-${VER}
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
env_file:
|
|
- path: ./.env
|
|
required: true # default
|
|
- path: ./override.env
|
|
required: false
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_oc.sh"]
|
|
cap_add:
|
|
- NET_ADMIN
|
|
devices:
|
|
- /dev/net/tun:/dev/net/tun
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.11
|
|
logging: *default-logging
|
|
np:
|
|
image: mercurykd/vpnbot-np:1.1
|
|
build:
|
|
dockerfile: dockerfile/naive.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
volumes:
|
|
- ./config/.profile:/root/.ashrc:ro
|
|
- ./ssh:/ssh
|
|
- ./config/sshd_config:/etc/ssh/sshd_config
|
|
- ./config:/config
|
|
- ./certs:/certs
|
|
- ./scripts/start_np.sh:/start_np.sh
|
|
hostname: naive
|
|
container_name: naive-${VER}
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
env_file:
|
|
- path: ./.env
|
|
required: true # default
|
|
- path: ./override.env
|
|
required: false
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_np.sh"]
|
|
cap_add:
|
|
- NET_ADMIN
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.12
|
|
logging: *default-logging
|
|
wp:
|
|
image: mercurykd/vpnbot-wp:1.3
|
|
build:
|
|
dockerfile: dockerfile/warp.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
cap_add:
|
|
- NET_ADMIN
|
|
devices:
|
|
- /dev/net/tun:/dev/net/tun
|
|
volumes:
|
|
- ./config/.profile:/root/.bashrc:ro
|
|
- ./ssh:/ssh
|
|
- ./config/sshd_config:/etc/ssh/sshd_config
|
|
- ./config:/config
|
|
- ./certs:/certs
|
|
- ./scripts/start_wp.sh:/start_wp.sh
|
|
- warp:/var/lib/cloudflare-warp
|
|
hostname: warp
|
|
container_name: warp-${VER}
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
env_file:
|
|
- path: ./.env
|
|
required: true # default
|
|
- path: ./override.env
|
|
required: false
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_wp.sh"]
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.13
|
|
logging: *default-logging
|
|
proxy:
|
|
image: mercurykd/vpnbot-ss:1.2
|
|
build:
|
|
dockerfile: dockerfile/shadowsocks.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
volumes:
|
|
- ./config/.profile:/root/.ashrc:ro
|
|
- ./config/sslocal.json:/config.json
|
|
- ./ssh:/ssh
|
|
- ./config/sshd_config:/etc/ssh/sshd_config
|
|
- ./scripts/start_proxy.sh:/start_proxy.sh
|
|
hostname: proxy
|
|
container_name: proxy-${VER}
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.3
|
|
environment:
|
|
TZ: ${TZ}
|
|
env_file:
|
|
- path: ./.env
|
|
required: true # default
|
|
- path: ./override.env
|
|
required: false
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_proxy.sh"]
|
|
logging: *default-logging
|
|
ss:
|
|
image: mercurykd/vpnbot-ss:1.2
|
|
build:
|
|
dockerfile: dockerfile/shadowsocks.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
volumes:
|
|
- ./config/.profile:/root/.ashrc:ro
|
|
- ./config/ssserver.json:/config.json
|
|
- ./ssh:/ssh
|
|
- ./config/sshd_config:/etc/ssh/sshd_config
|
|
- ./scripts/start_ss.sh:/start_ss.sh
|
|
hostname: shadowsocks
|
|
container_name: shadowsocks-${VER}
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
env_file:
|
|
- path: ./.env
|
|
required: true # default
|
|
- path: ./override.env
|
|
required: false
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_ss.sh"]
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.6
|
|
logging: *default-logging
|