kycnot.me/docker-compose.yml

94 lines
2.3 KiB
YAML
Raw Normal View History

2024-02-18 16:31:09 +00:00
name: "kycnotme_v2024"
2024-01-27 05:42:12 +00:00
networks:
caddy:
external: true
2024-02-18 16:16:40 +00:00
volumes:
pb_data: {}
pb_public: {}
2024-02-18 21:45:54 +00:00
pb_migrations: {}
2024-02-18 16:16:40 +00:00
2024-01-27 05:42:12 +00:00
services:
2024-02-18 16:16:40 +00:00
website:
container_name: kycnotme-website
build: ./src
networks:
caddy:
default:
2024-02-18 22:47:00 +00:00
volumes:
- ./src/frontend/templates:/app/frontend/templates
2024-02-18 16:16:40 +00:00
env_file:
- .env
depends_on:
pocketbase:
condition: service_healthy
2024-02-18 16:16:40 +00:00
labels:
caddy: "${WEB_DOMAIN}"
caddy.reverse_proxy: "{{upstreams 4488}}"
caddy.header.Referrer-Policy: "no-referrer"
caddy.header.Strict-Transport-Security: "max-age=31536000; includeSubdomains; preload;"
caddy.encode: zstd gzip
2024-03-04 14:57:28 +00:00
caddy.header.Onion-Location: ${ONION_ADDRESS}{path}
2024-04-22 10:06:57 +00:00
ofelia.enabled: true
ofelia.job-exec.toscheck.schedule: "0 0 1 * *"
ofelia.job-exec.toscheck.command: "kycnotme -scrap"
2024-01-27 05:42:12 +00:00
pocketbase:
2024-02-18 21:58:54 +00:00
image: spectado/pocketbase:latest
2024-01-27 05:42:12 +00:00
container_name: kycnotme-pocketbase
restart: always
2024-01-27 05:42:12 +00:00
volumes:
2024-02-18 22:42:55 +00:00
- pb_data:/pb_data
- pb_public:/pb_public
2024-01-27 05:42:12 +00:00
networks:
caddy: {}
2024-02-18 16:16:40 +00:00
default:
aliases:
- "database"
2024-01-27 05:42:12 +00:00
labels:
2024-02-18 16:16:40 +00:00
caddy: "${PB_DOMAIN}"
2024-02-18 21:58:54 +00:00
caddy.reverse_proxy: "{{upstreams 80}}"
caddy.request_body.max_size: 20MB
caddy.header.X-Robots-Tag: "noindex"
caddy.header.Strict-Transport-Security: "max-age=31536000; includeSubdomains; preload;"
2024-01-27 05:42:12 +00:00
healthcheck: #optional (recommended) since v0.10.0
2024-02-18 22:37:33 +00:00
test: wget --no-verbose --tries=1 --spider http://localhost:80/api/health || exit 1
2024-01-27 05:42:12 +00:00
interval: 5s
timeout: 5s
2024-02-18 16:16:40 +00:00
retries: 5
tor:
image: goldy/tor-hidden-service:latest
profiles: ["tor"]
container_name: kycnotme-tor
restart: always
networks:
caddy: {}
2024-03-04 14:57:28 +00:00
default: {}
links:
- website
volumes:
- ./docker/tor/hidden_service:/var/lib/tor/hidden_service
environment:
SERVICE1_TOR_SERVICE_HOSTS: 80:website:4488
SERVICE1_TOR_SERVICE_VERSION: '3'
i2pd:
build:
context: ./docker/i2p/
profiles: ["i2p"]
container_name: kycnotme-i2p
restart: always
networks:
caddy: {}
2024-03-04 14:57:28 +00:00
default: {}
#ports:
# - ":14447" # socks
volumes:
- ./docker/i2p/data:/root/.i2pd
labels:
caddy: ${I2P_ADDRESS}
caddy.reverse_proxy: "website:4488"