kycnot.me/docker-compose.yml

92 lines
2.0 KiB
YAML
Raw Normal View History

2024-01-27 00:42:12 -05:00
version: "3.9"
2024-02-18 11:31:09 -05:00
name: "kycnotme_v2024"
2024-01-27 00:42:12 -05:00
networks:
caddy:
external: true
2024-02-18 11:16:40 -05:00
volumes:
pb_data: {}
pb_public: {}
2024-02-18 16:45:54 -05:00
pb_migrations: {}
2024-02-18 11:16:40 -05:00
2024-01-27 00:42:12 -05:00
services:
crawler:
container_name: kycnotme-crawler
build: ./crawler
2024-02-18 11:16:40 -05:00
website:
container_name: kycnotme-website
build: ./src
networks:
caddy:
aliases:
- "website"
default:
aliases:
- "website"
2024-02-18 17:47:00 -05:00
volumes:
- ./src/frontend/templates:/app/frontend/templates
2024-02-18 11:16:40 -05:00
env_file:
- .env
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}.onion{path}
2024-01-27 00:42:12 -05:00
pocketbase:
2024-02-18 16:58:54 -05:00
image: spectado/pocketbase:latest
2024-01-27 00:42:12 -05:00
container_name: kycnotme-pocketbase
restart: unless-stopped
volumes:
2024-02-18 17:42:55 -05:00
- pb_data:/pb_data
- pb_public:/pb_public
2024-01-27 00:42:12 -05:00
networks:
caddy: {}
2024-02-18 11:16:40 -05:00
default:
aliases:
- "pocketbase"
- "database"
2024-01-27 00:42:12 -05:00
labels:
2024-02-18 11:16:40 -05:00
caddy: "${PB_DOMAIN}"
2024-02-18 16:58:54 -05:00
caddy.reverse_proxy: "{{upstreams 80}}"
2024-02-18 16:45:54 -05:00
caddy.request_body.max_size: 10MB
2024-01-27 00:42:12 -05:00
healthcheck: #optional (recommended) since v0.10.0
2024-02-18 17:37:33 -05:00
test: wget --no-verbose --tries=1 --spider http://localhost:80/api/health || exit 1
2024-01-27 00:42:12 -05:00
interval: 5s
timeout: 5s
2024-02-18 11:16:40 -05:00
retries: 5
tor:
build:
context: ./docker/tor/
profiles: ["tor"]
container_name: kycnotme-tor
restart: unless-stopped
networks:
caddy: {}
volumes:
- ./docker/tor/data:/var/lib/tor
labels:
caddy: ${ONION_ADDRESS}
caddy.reverse_proxy: "website:4488"
i2pd:
build:
context: ./docker/i2p/
profiles: ["i2p"]
container_name: kycnotme-i2p
restart: unless-stopped
networks:
caddy: {}
#ports:
# - ":14447" # socks
volumes:
- ./docker/i2p/data:/root/.i2pd
labels:
caddy: ${I2P_ADDRESS}
caddy.reverse_proxy: "website:4488"