68 lines
1.5 KiB
YAML
68 lines
1.5 KiB
YAML
version: "3.9"
|
|
|
|
services:
|
|
nginx:
|
|
image: nginx:1.27-alpine
|
|
container_name: riabenkyi_nginx
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- ./nginx/conf/default.conf:/etc/nginx/conf.d/default.conf:ro
|
|
- ./src:/var/www/html:ro
|
|
- ./nginx/logs:/var/log/nginx
|
|
- ./certbot/conf:/etc/letsencrypt
|
|
- ./certbot/www:/var/www/certbot
|
|
depends_on:
|
|
- php
|
|
networks:
|
|
- appnet
|
|
- proxy-net
|
|
restart: unless-stopped
|
|
|
|
php:
|
|
build: ./php
|
|
container_name: riabenkyi_php
|
|
volumes:
|
|
- /opt/apps/riabenkyi/src:/var/www/html
|
|
- /opt/apps/riabenkyi/php/sessions:/var/lib/php/sessions
|
|
- /opt/apps/riabenkyi/php/logs:/var/log/php
|
|
networks:
|
|
- appnet
|
|
restart: unless-stopped
|
|
|
|
empty:
|
|
image: alpine:3.20
|
|
container_name: riabenkyi_placeholder
|
|
command: ["sleep", "infinity"]
|
|
volumes:
|
|
- /opt/apps/riabenkyi/db/data:/data
|
|
networks:
|
|
- appnet
|
|
restart: unless-stopped
|
|
|
|
api:
|
|
build: ./python
|
|
container_name: riabenkyi_api
|
|
hostname: riabenkyi-api
|
|
volumes:
|
|
- ./python/app:/app
|
|
networks:
|
|
- appnet
|
|
restart: unless-stopped
|
|
|
|
|
|
certbot:
|
|
image: certbot/certbot
|
|
container_name: riabenkyi_certbot
|
|
volumes:
|
|
- ./certbot/conf:/etc/letsencrypt
|
|
- ./certbot/www:/var/www/certbot
|
|
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
|
|
|
|
|
|
networks:
|
|
appnet:
|
|
driver: bridge
|
|
proxy-net:
|
|
external: true |