Files
vpnbot/docker-compose.yml
T

163 lines
4.7 KiB
YAML

version: "3.7"
networks:
default:
ipam:
config:
- subnet: 10.10.0.0/24
volumes:
adguard:
services:
ng:
build:
context: dockerfile
dockerfile: doh.dockerfile
volumes:
- ./config/.profile:/root/.bashrc:ro
- ./config/nginx.conf:/etc/nginx/nginx.conf
- ./scripts/start_ng.sh:/start_ng.sh
- ./certs/:/certs/
- ./ssh/:/ssh/
- ./logs/:/logs/
ports:
- 80:80
- 443:443
hostname: nginx
depends_on:
- unit
- ad
- ss
environment:
TZ: ${TZ}
stop_grace_period: 1s
command: ["/bin/sh", "/start_ng.sh"]
networks:
default:
ipv4_address: 10.10.0.2
unit:
build:
dockerfile: dockerfile/php.dockerfile
volumes:
- ./config/.profile:/root/.bashrc:ro
- ./config/php.ini:/usr/local/etc/php/php.ini
- ./config/clients.json:/config/clients.json
- ./config/pac.json:/config/pac.json
- ./config/unit.json:/config/unit.json
- ./config/AdGuardHome.yaml:/config/AdGuardHome.yaml
- ./config/nginx.conf:/config/nginx.conf
- ./config/nginx_default.conf:/config/nginx_default.conf
- ./config/ssserver.json:/config/ssserver.json
- ./config/sslocal.json:/config/sslocal.json
- ./certs/:/certs/
- type: volume
target: /config/adguard
source: adguard
- ./ssh/:/ssh/
- ./app:/app
- ./logs/:/logs/
- ./scripts/start_unit.sh:/start_unit.sh
environment:
TZ: ${TZ}
ADDRESS: ${WGADDRESS}
WGPORT: ${WGPORT}
SSPORT: ${SSPORT}
hostname: unit
restart: unless-stopped
stop_grace_period: 1s
command: ["/bin/sh", "/start_unit.sh"]
working_dir: /app
networks:
default:
ipv4_address: 10.10.0.7
extra_hosts:
- "host.docker.internal:host-gateway"
proxy:
build:
dockerfile: dockerfile/shadowsocks.dockerfile
volumes:
- ./config/.profile:/root/.bashrc:ro
- ./config/sslocal.json:/config.json
- ./ssh:/ssh
- ./scripts/start_proxy.sh:/start_proxy.sh
hostname: proxy
depends_on:
- unit
networks:
default:
ipv4_address: 10.10.0.3
environment:
TZ: ${TZ}
SSPORT: ${SSPORT}
stop_grace_period: 1s
command: ["/bin/sh", "/start_proxy.sh"]
wg:
build:
dockerfile: dockerfile/wireguard.dockerfile
volumes:
- ./config/.profile:/root/.bashrc:ro
- ./config/wg0.conf:/etc/wireguard/wg0.conf
- ./scripts/start_wg.sh:/start_wg.sh
- ./scripts/reset_wg.sh:/reset_wg.sh
- ./ssh:/ssh
hostname: wireguard
depends_on:
- unit
ports:
- ${WGPORT}:${WGPORT}/udp
environment:
TZ: ${TZ}
WGPORT: ${WGPORT}
ADDRESS: ${WGADDRESS}
cap_add:
- NET_ADMIN
stop_grace_period: 1s
command: ["/bin/sh", "/start_wg.sh"]
networks:
default:
ipv4_address: 10.10.0.4
ad:
build:
dockerfile: dockerfile/adguard.dockerfile
volumes:
- ./config/.profile:/root/.bashrc:ro
- type: volume
target: /opt/adguardhome
source: adguard
- ./ssh:/ssh
- ./logs/:/logs/
- ./scripts/start_ad.sh:/start_ad.sh
hostname: adguard
depends_on:
- unit
environment:
TZ: ${TZ}
stop_grace_period: 1s
networks:
default:
ipv4_address: 10.10.0.5
command: ["/bin/sh", "/start_ad.sh"]
ss:
build:
dockerfile: dockerfile/shadowsocks.dockerfile
volumes:
- ./config/.profile:/root/.bashrc:ro
- ./config/ssserver.json:/config.json
- ./ssh:/ssh
- ./scripts/start_ss.sh:/start_ss.sh
hostname: shadowsocks
depends_on:
- unit
ports:
- ${SSPORT}:${SSPORT}/tcp
- ${SSPORT}:${SSPORT}/udp
environment:
TZ: ${TZ}
SSPORT: ${SSPORT}
stop_grace_period: 1s
command: ["/bin/sh", "/start_ss.sh"]
networks:
default:
ipv4_address: 10.10.0.6