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:
|
2024-02-19 11:27:07 -05:00
|
|
|
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}}"
|
2024-02-19 11:27:07 -05:00
|
|
|
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
|
2024-02-19 11:27:07 -05:00
|
|
|
|
|
|
|
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"
|