The project has lived only as a folder on the Mac Studio and, briefly, as a transfer tarball. This is the first commit: the Express server and its web front end, the Capacitor iOS and Android wrappers, and the release and backup scripts. The repo is the source, not a backup of the machine. Left out on purpose, by the .gitignore files that were already in the tree: node_modules, build output, mobile/www (regenerated from server/public on every build), and server/data, which holds the live checklists and belongs on the NAS rather than in git. Every credential is excluded too — server/.env, the Play upload keystore and its properties file, the App Store Connect key and ios-signing.config. The one secret that was not in an ignored file was the NAS SSH password, hard-coded in build-deploy.sh and grepped back out of it by backup-to-drive.sh. Both now read it from the login keychain (service checklist-nas, account Christian), falling back to NAS_PASS in the environment, so rotating it is one keychain entry rather than a history rewrite. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
42 lines
2.1 KiB
Bash
42 lines
2.1 KiB
Bash
# ────────────────────────────────────────────────────────────────
|
|
# Recurring Checklist — server configuration
|
|
# Copy this file to .env and fill in your values.
|
|
# ────────────────────────────────────────────────────────────────
|
|
|
|
# Port the web server listens on (inside the container).
|
|
PORT=3000
|
|
|
|
# Password required to manage lists (add / rename / delete / import / export).
|
|
# Anyone without this password can only check items off.
|
|
ADMIN_PASSWORD=changeme
|
|
|
|
# ─── Email digest ────────────────────────────────────────────────
|
|
# REPORT_EMAIL gets the GLOBAL digest (every location/team in one email) — keep
|
|
# it set for an at-a-glance master copy. PER-TEAM digests are configured in-app
|
|
# under Manage Users: each team login can have its own report recipient(s), and
|
|
# those go out on the same schedule below, one email per team. Leave REPORT_EMAIL
|
|
# blank to send only the per-team emails.
|
|
REPORT_EMAIL=you@example.com
|
|
|
|
# Cron schedule for the digest. Default: every Sunday at 3:00 PM.
|
|
# Format: minute hour day-of-month month day-of-week
|
|
REPORT_CRON=0 15 * * 0
|
|
|
|
# IANA timezone the cron runs in.
|
|
REPORT_TZ=America/New_York
|
|
|
|
# After the digest is sent, automatically uncheck all items so the
|
|
# list is fresh for next week. Set to "false" to disable.
|
|
RESET_AFTER_DIGEST=true
|
|
|
|
# ─── SMTP (Gmail app-password example) ───────────────────────────
|
|
# For Gmail: enable 2-factor auth on your Google account, then create
|
|
# an "App Password" at https://myaccount.google.com/apppasswords and
|
|
# paste it into SMTP_PASS below.
|
|
SMTP_HOST=smtp.gmail.com
|
|
SMTP_PORT=587
|
|
SMTP_SECURE=false
|
|
SMTP_USER=you@gmail.com
|
|
SMTP_PASS=your-16-char-app-password
|
|
SMTP_FROM=Recurring Checklist <you@gmail.com>
|