Files
docker-stacks/stacks/obsidian-tools/docker-compose.yml
knight 0d9b0302a2
Some checks failed
Deploy Stacks / deploy-prod (push) Has been skipped
Deploy Stacks / deploy-dev (push) Has been cancelled
Add stack-type=dev-only labels to dev stacks
Label stacks that should only run on ubuntu-dev:
- bookclub, dockge, filebrowser, meshmon, meshtastic-web
- mllogwatcher, network-mcp, obby, obsidian-tools
- syncthing, szurubooru

These will now be filtered by the updated workflow.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 15:05:36 -05:00

89 lines
3.0 KiB
YAML

services:
obbytodo:
image: gitea.${DOMAIN}/knight/obbytodo:latest
container_name: obbytodo
restart: unless-stopped
expose:
- "3000"
environment:
- PORT=3000
- VAULT_PATH=/vault
- DEFAULT_TASK_FILE=Mobile Tasks.md
- DAILY_DIR=log
- DAILY_PRIMARY_DIR=Control/log
volumes:
- ./vault:/vault
networks:
- web
depends_on:
- syncthing
labels:
- "com.ghost.tel/stack-type=dev-only"
- "traefik.enable=true"
- "traefik.docker.network=web"
- "traefik.http.routers.todo-obbytodo.entrypoints=https"
- "traefik.http.routers.todo-obbytodo.rule=Host(`shell.${DOMAIN}`) && PathPrefix(`/todo`)"
- "traefik.http.routers.todo-obbytodo.tls.certresolver=http"
- "traefik.http.routers.todo-obbytodo.middlewares=todo-obbytodo-stripprefix@docker,dashboard-auth@file"
- "traefik.http.routers.todo-obbytodo.priority=100"
- "traefik.http.middlewares.todo-obbytodo-stripprefix.stripPrefix.prefixes=/todo"
- "traefik.http.services.todo-obbytodo.loadbalancer.server.port=3000"
- "traefik.http.routers.todo-obbytodo.service=todo-obbytodo"
- "traefik.http.routers.events-obbytodo.entrypoints=https"
- "traefik.http.routers.events-obbytodo.rule=Host(`shell.${DOMAIN}`) && PathPrefix(`/events`)"
- "traefik.http.routers.events-obbytodo.tls.certresolver=http"
- "traefik.http.routers.events-obbytodo.middlewares=dashboard-auth@file"
- "traefik.http.routers.events-obbytodo.priority=100"
- "traefik.http.routers.events-obbytodo.service=todo-obbytodo"
search-service:
image: gitea.${DOMAIN}/knight/obsidiansearch:latest
container_name: obsidian-search-service
restart: unless-stopped
expose:
- "3033"
environment:
- NODE_ENV=production
- OBSIDIAN_VAULT_PATH=/data
- GRAPH_DATA_PATH=/usr/src/app/graph-data/graph.json
volumes:
- ./vault:/data:ro
- ./graph-data:/usr/src/app/graph-data
depends_on:
- syncthing
networks:
- web
labels:
- "traefik.enable=true"
- "traefik.docker.network=web"
- "traefik.http.routers.shell-secure.entrypoints=https"
- "traefik.http.routers.shell-secure.rule=Host(`shell.${DOMAIN}`)"
- "traefik.http.routers.shell-secure.tls.certresolver=http"
- "traefik.http.routers.shell-secure.middlewares=dashboard-auth@file"
- "traefik.http.services.shell-secure.loadbalancer.server.port=3033"
- "traefik.http.routers.shell-secure.service=shell-secure"
syncthing:
image: lscr.io/linuxserver/syncthing:latest
container_name: obsidian-syncthing
hostname: obsidian-syncthing
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
volumes:
- ./syncthing-config:/config
- ./vault:/data1
ports:
- "8385:8384"
- "22001:22000/tcp"
- "22001:22000/udp"
- "21028:21027/udp"
networks:
- web
networks:
web:
external: true