Bring the checklist app under version control
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>
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# ────────────────────────────────────────────────────────────────
|
||||
# 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>
|
||||
Reference in New Issue
Block a user