Domain Strategy: - fig.systems: Homelab services only (removed edfig.dev fallback from all services) - edfig.dev: Professional/public sites (personal site, blog) - figgy.foo: Experimental/private content (SSO protected) Removed edfig.dev Fallbacks: - Updated 22 compose files to remove || Host(...edfig.dev) pattern - All homelab services now use fig.systems only - Traefik email remains admin@edfig.dev Added Caddy Static Sites Service: - compose/services/static-sites/ with Caddy 2 - Serves three domains with different configurations: * edfig.dev (personal/professional) - Public, no SSO * blog.edfig.dev (blog) - Public, Markdown rendering, templates * figgy.foo (experimental) - SSO protected, directory browsing - Example sites with modern, responsive designs - Comprehensive README with usage examples - Auto-reload on config changes (no restarts needed) Features: - Markdown rendering (write .md, serves as HTML) - Go templates for dynamic content - Directory browsing (figgy.foo) - Automatic gzip compression - Static asset caching - Zero-downtime config reloads Updated Documentation: - README.md: Added domain strategy section, static sites in directory structure - README.md: Added static sites to service URLs table - README.md: Updated deployment instructions
79 lines
1.7 KiB
YAML
79 lines
1.7 KiB
YAML
# Karakeep - Bookmark Everything App with AI
|
|
# Docs: https://docs.karakeep.app
|
|
# Previously known as Hoarder
|
|
|
|
services:
|
|
karakeep:
|
|
container_name: karakeep
|
|
image: ghcr.io/karakeep-app/karakeep:latest
|
|
restart: unless-stopped
|
|
|
|
env_file:
|
|
- .env
|
|
|
|
volumes:
|
|
- ./data:/data
|
|
|
|
depends_on:
|
|
- karakeep-meilisearch
|
|
- karakeep-chrome
|
|
|
|
networks:
|
|
- homelab
|
|
- karakeep_internal
|
|
|
|
labels:
|
|
# Traefik
|
|
traefik.enable: true
|
|
traefik.docker.network: homelab
|
|
|
|
# Web UI
|
|
traefik.http.routers.karakeep.rule: Host(`links.fig.systems`)
|
|
traefik.http.routers.karakeep.entrypoints: websecure
|
|
traefik.http.routers.karakeep.tls.certresolver: letsencrypt
|
|
traefik.http.services.karakeep.loadbalancer.server.port: 3000
|
|
|
|
# SSO Protection
|
|
traefik.http.routers.karakeep.middlewares: tinyauth
|
|
|
|
# Homarr Discovery
|
|
homarr.name: Karakeep (Bookmarks)
|
|
homarr.group: Services
|
|
homarr.icon: mdi:bookmark-multiple
|
|
|
|
karakeep-chrome:
|
|
container_name: karakeep-chrome
|
|
image: gcr.io/zenika-hub/alpine-chrome:123
|
|
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
|
|
|
|
networks:
|
|
- karakeep_internal
|
|
|
|
karakeep-meilisearch:
|
|
container_name: karakeep-meilisearch
|
|
image: getmeili/meilisearch:v1.12.8
|
|
restart: unless-stopped
|
|
|
|
env_file:
|
|
- .env
|
|
|
|
volumes:
|
|
- ./meili_data:/meili_data
|
|
|
|
networks:
|
|
- karakeep_internal
|
|
|
|
networks:
|
|
homelab:
|
|
external: true
|
|
karakeep_internal:
|
|
name: karakeep_internal
|
|
driver: bridge
|