317 lines
9.3 KiB
YAML
317 lines
9.3 KiB
YAML
version: "3.7"
|
|
|
|
x-logging:
|
|
&default-logging
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "200k"
|
|
max-file: "10"
|
|
|
|
networks:
|
|
default:
|
|
ipam:
|
|
config:
|
|
- subnet: 10.10.0.0/24
|
|
volumes:
|
|
adguard:
|
|
|
|
services:
|
|
up:
|
|
build:
|
|
context: dockerfile
|
|
dockerfile: nginx.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
volumes:
|
|
- ./config/.profile:/root/.ashrc:ro
|
|
- ./config/upstream.conf:/etc/nginx/nginx.conf
|
|
- ./scripts/start_upstream.sh:/start_upstream.sh
|
|
- ./ssh:/ssh
|
|
- ./config/sshd_config:/etc/ssh/sshd_config
|
|
- ./logs/:/logs/
|
|
ports:
|
|
- 443:443
|
|
hostname: upstream
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
ad:
|
|
condition: service_started
|
|
ss:
|
|
condition: service_started
|
|
environment:
|
|
TZ: ${TZ}
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_upstream.sh"]
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.10
|
|
logging: *default-logging
|
|
ng:
|
|
build:
|
|
context: dockerfile
|
|
dockerfile: nginx.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
volumes:
|
|
- ./config/.profile:/root/.ashrc:ro
|
|
- ./config/nginx.conf:/etc/nginx/nginx.conf
|
|
- ./config/include.conf:/etc/nginx/include.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/
|
|
ports:
|
|
- 80:80
|
|
hostname: nginx
|
|
depends_on:
|
|
up:
|
|
condition: service_started
|
|
environment:
|
|
TZ: ${TZ}
|
|
SSPORT: ${SSPORT}
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_ng.sh"]
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.2
|
|
logging: *default-logging
|
|
php:
|
|
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/
|
|
- ./scripts/start_php.sh:/start_php.sh
|
|
- ./scripts/check_file.sh:/check_file.sh
|
|
- ./version:/version
|
|
environment:
|
|
TZ: ${TZ}
|
|
IP: ${IP}
|
|
ADDRESS: ${WGADDRESS}
|
|
WGPORT: ${WGPORT}
|
|
SSPORT: ${SSPORT}
|
|
TGPORT: ${TGPORT}
|
|
hostname: php
|
|
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
|
|
proxy:
|
|
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
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.3
|
|
environment:
|
|
TZ: ${TZ}
|
|
SSPORT: ${SSPORT}
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_proxy.sh"]
|
|
logging: *default-logging
|
|
wg:
|
|
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/unblock_torrent.sh:/unblock_torrent.sh
|
|
- ./scripts/block_exchange.sh:/block_exchange.sh
|
|
- ./scripts/unblock_exchange.sh:/unblock_exchange.sh
|
|
- ./ssh:/ssh
|
|
- ./config/sshd_config:/etc/ssh/sshd_config
|
|
hostname: wireguard
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
ports:
|
|
- ${WGPORT}:${WGPORT}/udp
|
|
environment:
|
|
TZ: ${TZ}
|
|
WGPORT: ${WGPORT}
|
|
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
|
|
ad:
|
|
build:
|
|
dockerfile: dockerfile/adguard.dockerfile
|
|
args:
|
|
image: ${IMAGE}
|
|
ports:
|
|
- 853:853
|
|
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
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
environment:
|
|
TZ: ${TZ}
|
|
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
|
|
ss:
|
|
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
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
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
|
|
logging: *default-logging
|
|
tg:
|
|
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
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
ports:
|
|
- ${TGPORT}:${TGPORT}
|
|
environment:
|
|
TZ: ${TZ}
|
|
IP: ${IP}
|
|
TGPORT: ${TGPORT}
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_tg.sh"]
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.8
|
|
logging: *default-logging
|
|
xr:
|
|
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
|
|
hostname: xray
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
environment:
|
|
TZ: ${TZ}
|
|
stop_grace_period: 1s
|
|
command: ["/bin/sh", "/start_xray.sh"]
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.9
|
|
logging: *default-logging
|
|
oc:
|
|
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
|
|
depends_on:
|
|
php:
|
|
condition: service_healthy
|
|
environment:
|
|
TZ: ${TZ}
|
|
ENV: /root/.ashrc
|
|
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
|