mirror of
https://codeberg.org/pluja/kycnot.me
synced 2025-01-07 13:17:57 -05:00
94 lines
2.3 KiB
YAML
94 lines
2.3 KiB
YAML
name: "kycnotme_v2024"
|
|
|
|
networks:
|
|
caddy:
|
|
external: true
|
|
|
|
volumes:
|
|
pb_data: {}
|
|
pb_public: {}
|
|
pb_migrations: {}
|
|
|
|
services:
|
|
website:
|
|
container_name: kycnotme-website
|
|
build: ./src
|
|
networks:
|
|
caddy:
|
|
default:
|
|
volumes:
|
|
- ./src/frontend/templates:/app/frontend/templates
|
|
- ./src/frontend/static/proofs:/app/frontend/static/proofs
|
|
env_file:
|
|
- .env
|
|
depends_on:
|
|
pocketbase:
|
|
condition: service_healthy
|
|
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
|
|
caddy.header.Onion-Location: ${ONION_ADDRESS}{path}
|
|
ofelia.enabled: "true"
|
|
ofelia.job-exec.toscheck.schedule: "0 0 1 * *"
|
|
ofelia.job-exec.toscheck.command: "kycnotme -scrap"
|
|
|
|
pocketbase:
|
|
image: spectado/pocketbase:latest
|
|
container_name: kycnotme-pocketbase
|
|
restart: always
|
|
volumes:
|
|
- pb_data:/pb_data
|
|
- pb_public:/pb_public
|
|
networks:
|
|
caddy: {}
|
|
default:
|
|
aliases:
|
|
- "database"
|
|
labels:
|
|
caddy: "${PB_DOMAIN}"
|
|
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;"
|
|
healthcheck: #optional (recommended) since v0.10.0
|
|
test: wget --no-verbose --tries=1 --spider http://localhost:80/api/health || exit 1
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
tor:
|
|
image: goldy/tor-hidden-service:latest
|
|
profiles: ["tor"]
|
|
container_name: kycnotme-tor
|
|
restart: always
|
|
networks:
|
|
caddy: {}
|
|
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: {}
|
|
default: {}
|
|
#ports:
|
|
# - ":14447" # socks
|
|
volumes:
|
|
- ./docker/i2p/data:/root/.i2pd
|
|
labels:
|
|
caddy: ${I2P_ADDRESS}
|
|
caddy.reverse_proxy: "website:4488"
|