Sets up the complete self-hosted infrastructure on Voyager (HP t630 thin client): DNS Stack (dns/): - Pi-hole for network-wide ad blocking - Unbound as recursive DNS resolver - dnscrypt-proxy for DNS-over-HTTPS via Cloudflare/Quad9 Services: - Vaultwarden - self-hosted password manager (Bitwarden compatible) - Forgejo - self-hosted git mirror (primary on PMS1, mirror here) - Karakeep - self-hosted bookmark manager - Resilio Sync - P2P sync for PMS1 database backups Tunneling: - Newt - Pangolin tunnel client for exposing services via tunnel.pelagiamarine.com without open ports All services exposed externally via Pangolin reverse proxy on PMS1. Local DNS resolves through Pi-hole → Unbound → dnscrypt-proxy chain.
44 lines
1.4 KiB
YAML
44 lines
1.4 KiB
YAML
services:
|
|
web:
|
|
image: ghcr.io/karakeep-app/karakeep:${KARAKEEP_VERSION:-release}
|
|
restart: unless-stopped
|
|
volumes:
|
|
# By default, the data is stored in a docker volume called "data".
|
|
# If you want to mount a custom directory, change the volume mapping to:
|
|
# - /path/to/your/directory:/data
|
|
- data:/data
|
|
ports:
|
|
- 3333:3000
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
MEILI_ADDR: http://meilisearch:7700
|
|
BROWSER_WEB_URL: http://chrome:9222
|
|
OPENAI_API_KEY: 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
|
|
|
|
# You almost never want to change the value of the DATA_DIR variable.
|
|
# If you want to mount a custom directory, change the volume mapping above instead.
|
|
DATA_DIR: /data # DON'T CHANGE THIS
|
|
chrome:
|
|
image: gcr.io/zenika-hub/alpine-chrome:124
|
|
restart: unless-stopped
|
|
command:
|
|
- --no-sandbox
|
|
- --disable-gpu
|
|
- --disable-dev-shm-usage
|
|
- --remote-debugging-address=0.0.0.0
|
|
- --remote-debugging-port=9222
|
|
- --hide-scrollbars
|
|
meilisearch:
|
|
image: getmeili/meilisearch:v1.41.0
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
MEILI_NO_ANALYTICS: "true"
|
|
volumes:
|
|
- meilisearch:/meili_data
|
|
|
|
volumes:
|
|
meilisearch:
|
|
data:
|