Files
remna/docker-compose.standalone.yml
2026-07-25 00:37:09 +03:00

73 lines
1.8 KiB
YAML

# Опционально: старый стек без Coolify (Caddy :9000 + lego)
# docker compose -f docker-compose.standalone.yml up -d --build
services:
web:
build: ./app
container_name: remna-web
restart: always
env_file: .env
environment:
DATABASE_PATH: /data/app.db
volumes:
- web-data:/data
expose:
- "8000"
networks:
- site-network
lego:
image: goacme/lego:v4.22.2
container_name: remna-lego
env_file: .env
environment:
CF_DNS_API_TOKEN: ${CLOUDFLARE_API_TOKEN}
volumes:
- lego-certs:/letsencrypt
entrypoint: ["/bin/sh", "-c"]
command:
- |
set -e
CERT="/letsencrypt/certificates/rm.de4ima.uk.crt"
if [ ! -f "$$CERT" ]; then
/lego --path /letsencrypt --email "$$ACME_EMAIL" --domains rm.de4ima.uk --dns cloudflare --accept-tos run
else
/lego --path /letsencrypt --email "$$ACME_EMAIL" --domains rm.de4ima.uk --dns cloudflare --accept-tos renew --days 30 || true
fi
sleep infinity
networks:
- site-network
restart: unless-stopped
caddy:
image: caddy:2.9
container_name: remna-caddy
restart: always
ports:
- "0.0.0.0:9000:9000"
volumes:
- ./caddy/Caddyfile:/etc/caddy/Caddyfile:ro
- lego-certs:/certs:ro
- caddy-ssl-data:/data
- caddy-config:/config
depends_on:
- web
- lego
entrypoint: ["/bin/sh", "-c"]
command:
- |
CERT="/certs/certificates/rm.de4ima.uk.crt"
while [ ! -f "$$CERT" ]; do sleep 2; done
exec caddy run --config /etc/caddy/Caddyfile --adapter caddyfile
networks:
- site-network
networks:
site-network:
name: remna-site-network
volumes:
web-data:
lego-certs:
caddy-ssl-data:
caddy-config: