65 lines
2.1 KiB
YAML
65 lines
2.1 KiB
YAML
# Bike-Tinder stack — deck app + Tailscale sidecar.
|
|
#
|
|
# Deployed on Rotarran at /var/mnt/DATA/podman-stacks/bike-tinder/ (a checkout
|
|
# of the `release` branch). Run via the user unit podman-stack-bike-tinder.service
|
|
# (Delegate=yes) or manually:
|
|
# podman-compose -f deploy/docker-compose.yml --env-file .env up -d
|
|
#
|
|
# Networking:
|
|
# - app: published on 127.0.0.1:9453 only — Hermes cron triggers (import /
|
|
# agent read) and local debugging. The LAN sees nothing.
|
|
# - tailscale (userspace mode, no tun/caps): joins the tailnet as `biketinder`
|
|
# and serves https://biketinder.tailf35a34.ts.net -> http://app:8000 (443).
|
|
# Secrets: TS_AUTHKEY + OPENROUTER_API_KEY come from the stack-local .env
|
|
# (never committed). Before the authkey is placed, the sidecar simply reports
|
|
# "no authkey" and exits — the app runs fine on its own.
|
|
|
|
x-logging: &default-logging
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "50m"
|
|
max-file: "5"
|
|
compress: "true"
|
|
|
|
services:
|
|
app:
|
|
build:
|
|
context: ..
|
|
dockerfile: deploy/Dockerfile
|
|
image: localhost/bike-tinder:latest
|
|
container_name: bike-tinder-app
|
|
restart: unless-stopped
|
|
environment:
|
|
- TZ=America/Halifax
|
|
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY:-}
|
|
volumes:
|
|
- /var/mnt/DATA/podman-stacks/bike-tinder/data:/data
|
|
- /var/home/admin/.hermes/scripts/motorcycle-hunt.d:/state:ro,z
|
|
ports:
|
|
- "127.0.0.1:9453:8000"
|
|
stop_grace_period: 15s
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
logging:
|
|
<<: *default-logging
|
|
|
|
tailscale:
|
|
image: docker.io/tailscale/tailscale:latest
|
|
container_name: bike-tinder-ts
|
|
hostname: biketinder
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- app
|
|
environment:
|
|
- TS_AUTHKEY=${TS_AUTHKEY:-}
|
|
- TS_HOSTNAME=biketinder
|
|
- TS_STATE_DIR=/var/lib/tailscale
|
|
- TS_SERVE_CONFIG=/config/serve.json
|
|
- TS_USERSPACE=true
|
|
- TZ=America/Halifax
|
|
volumes:
|
|
- /var/mnt/DATA/podman-stacks/bike-tinder/tailscale-state:/var/lib/tailscale
|
|
- /var/mnt/DATA/podman-stacks/bike-tinder/deploy/tailscale:/config:ro
|
|
logging:
|
|
<<: *default-logging
|