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:
|
2024-02-19 16:27:07 +00:00
|
|
|
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
|
2024-04-22 09:59:33 +00:00
|
|
|
depends_on:
|
|
|
|
pocketbase:
|
|
|
|
condition: service_healthy
|
2024-02-18 16:16:40 +00:00
|
|
|
labels:
|
|
|
|
caddy: "${WEB_DOMAIN}"
|
|
|
|
caddy.reverse_proxy: "{{upstreams 4488}}"
|
2024-02-19 16:27:07 +00:00
|
|
|
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-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
|
2024-04-22 09:59:33 +00:00
|
|
|
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}}"
|
2024-04-22 09:59:33 +00:00
|
|
|
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
|
2024-02-19 16:27:07 +00:00
|
|
|
|
2024-04-22 09:59:33 +00:00
|
|
|
|
2024-02-19 16:27:07 +00:00
|
|
|
tor:
|
2024-04-22 09:59:33 +00:00
|
|
|
image: goldy/tor-hidden-service:latest
|
2024-02-19 16:27:07 +00:00
|
|
|
profiles: ["tor"]
|
|
|
|
container_name: kycnotme-tor
|
2024-04-22 09:59:33 +00:00
|
|
|
restart: always
|
2024-02-19 16:27:07 +00:00
|
|
|
networks:
|
|
|
|
caddy: {}
|
2024-03-04 14:57:28 +00:00
|
|
|
default: {}
|
2024-04-22 09:59:33 +00:00
|
|
|
links:
|
|
|
|
- website
|
2024-02-19 16:27:07 +00:00
|
|
|
volumes:
|
2024-04-22 09:59:33 +00:00
|
|
|
- ./docker/tor/hidden_service:/var/lib/tor/hidden_service
|
|
|
|
environment:
|
|
|
|
SERVICE1_TOR_SERVICE_HOSTS: 80:website:4488
|
|
|
|
SERVICE1_TOR_SERVICE_VERSION: '3'
|
|
|
|
#labels:
|
|
|
|
# caddy: ${ONION_ADDRESS}
|
|
|
|
# caddy.reverse_proxy: "website:4488"
|
2024-02-19 16:27:07 +00:00
|
|
|
|
|
|
|
i2pd:
|
|
|
|
build:
|
|
|
|
context: ./docker/i2p/
|
|
|
|
profiles: ["i2p"]
|
|
|
|
container_name: kycnotme-i2p
|
2024-04-22 09:59:33 +00:00
|
|
|
restart: always
|
2024-02-19 16:27:07 +00:00
|
|
|
networks:
|
|
|
|
caddy: {}
|
2024-03-04 14:57:28 +00:00
|
|
|
default: {}
|
2024-02-19 16:27:07 +00:00
|
|
|
#ports:
|
|
|
|
# - ":14447" # socks
|
|
|
|
volumes:
|
|
|
|
- ./docker/i2p/data:/root/.i2pd
|
|
|
|
labels:
|
|
|
|
caddy: ${I2P_ADDRESS}
|
|
|
|
caddy.reverse_proxy: "website:4488"
|