92 lines
2.4 KiB
YAML
92 lines
2.4 KiB
YAML
version: "3.7"
|
|
|
|
volumes:
|
|
nginxkey:
|
|
sshkey:
|
|
|
|
networks:
|
|
default:
|
|
ipam:
|
|
config:
|
|
- subnet: 10.10.0.0/24
|
|
|
|
services:
|
|
nginx:
|
|
image: nginx
|
|
ports:
|
|
- 443:443
|
|
volumes:
|
|
- ./config/nginx/:/etc/nginx/conf.d/
|
|
- ./config/.profile:/root/.bashrc:ro
|
|
- type: volume
|
|
target: /cert
|
|
source: nginxkey
|
|
environment:
|
|
TZ: ${TZ}
|
|
hostname: nginx
|
|
restart: always
|
|
depends_on:
|
|
- fpm
|
|
stop_grace_period: 1s
|
|
fpm:
|
|
build:
|
|
dockerfile: dockerfile/php.dockerfile
|
|
args:
|
|
IP: ${IP}
|
|
volumes:
|
|
- ./config/fpm/:/usr/local/etc/
|
|
- ./config/.profile:/root/.bashrc:ro
|
|
- ./app:/app
|
|
- ./logs:/app/logs/
|
|
- ./config/clients.json:/app/clients.json
|
|
- type: volume
|
|
target: /ssh
|
|
source: sshkey
|
|
- type: volume
|
|
target: /cert
|
|
source: nginxkey
|
|
environment:
|
|
TZ: ${TZ}
|
|
ADDRESS: ${ADDRESS}
|
|
PORT_WG: ${PORT}
|
|
working_dir: /app
|
|
hostname: fpm
|
|
restart: always
|
|
depends_on:
|
|
- wg
|
|
command: bash -c 'chown -R www-data:www-data /app/logs && chown www-data:www-data /app/clients.json && php init.php && php-fpm'
|
|
stop_grace_period: 1s
|
|
proxy:
|
|
build:
|
|
dockerfile: dockerfile/proxy.dockerfile
|
|
volumes:
|
|
- ./config/.profile:/root/.bashrc:ro
|
|
- ./config/sockd.conf:/etc/sockd.conf
|
|
hostname: proxy
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.0.3
|
|
environment:
|
|
TZ: ${TZ}
|
|
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
|
|
- type: volume
|
|
target: /ssh
|
|
source: sshkey
|
|
hostname: wireguard
|
|
ports:
|
|
- ${PORT}:${PORT}/udp
|
|
environment:
|
|
TZ: ${TZ}
|
|
PORT_WG: ${PORT}
|
|
ADDRESS: ${ADDRESS}
|
|
cap_add:
|
|
- NET_ADMIN
|
|
stop_grace_period: 1s
|