Files
hub/docker-compose.yml
T
nmemmertandClaude Sonnet 5.5 5466506ffb
build-container / build (push) Successful in 1m55s
Calendar: add events (NE Hub calendar + iCloud) and a Podcast tab
- Add, edit and delete events; month/agenda views open them on tap
- NE Hub calendar stored on the server and published as a private ICS subscribe link
- iCloud CalDAV read/write with an app-specific password (encrypted at rest,
  only *.icloud.com contacted, event addresses checked against the calendar)
- Edits patch the existing entry so alarms/attendees survive; writes use If-Match / If-None-Match
- Time zone definitions (VTIMEZONE) generated so other apps read times correctly
- Podcast tab (PODCAST_URL) alongside Podcast Admin

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 15:08:41 -04:00

29 lines
1.5 KiB
YAML

services:
hub:
image: git.necloud.us/nate/hub:latest # built by the Gitea workflow; `docker compose build` builds locally instead
build: .
restart: unless-stopped
# The container looks names up through these. If necloud.us only exists on your home/LAN DNS
# (Pi-hole, router, AdGuard...), set DNS_1 to that server's IP instead.
dns:
- ${DNS_1:-1.1.1.1}
- ${DNS_2:-8.8.8.8}
ports:
- "8080:8080"
environment:
# Edit the values here, or leave the ${...} placeholders and set them in a .env file / your stack's env UI.
SEAFILE_URL: ${SEAFILE_URL:-https://seafile.necloud.us}
ONLYOFFICE_URL: ${ONLYOFFICE_URL:-https://onlyoffice.necloud.us}
AUDIOBOOKS_URL: ${AUDIOBOOKS_URL:-https://audiobooks.necloud.us}
VERSE_URL: ${VERSE_URL:-https://versebyversewithnate.us/admin}
PODCAST_URL: ${PODCAST_URL:-http://172.16.16.106:8383/}
ONLYOFFICE_JWT_SECRET: ${ONLYOFFICE_JWT_SECRET:-} # same value as the OnlyOffice server's JWT secret
PUBLIC_URL: ${PUBLIC_URL:-} # e.g. https://hub.necloud.us (OnlyOffice posts saved edits here)
HUB_SETUP_CODE: ${HUB_SETUP_CODE:-} # first passkey; if empty, a code is printed in the log
COOKIE_SECRET: ${COOKIE_SECRET:-} # optional; auto-generated and kept in /data if empty
volumes:
- hub-data:/data # passkeys, calendar links and the session secret live here
volumes:
hub-data:
name: nehub-data # fixed name so the data survives redeploys and renamed stacks