Move .github/workflows/ → .gitea/workflows/ and update secrets
to use REGISTRY_USER/REGISTRY_TOKEN with git.necloud.us registry.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
VOLUME ["/data"] was causing Docker to create an anonymous volume for
/data that shadowed the bind mount defined in docker-compose.yml,
leaving the container with an empty /data instead of the host data.
The bind mount in docker-compose.yml is sufficient; no Dockerfile
VOLUME needed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The production stage was using an ad-hoc npm install without package.json,
which could pull unexpected package versions and lost the lockfile guarantee.
Moved all React/build/test/type packages to devDependencies so the production
stage can use npm install --omit=dev cleanly, installing only express, cors,
and docx — exactly what server.js needs. Regenerated lockfile to match.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
npm ci fails when the lockfile was generated on a different platform
or npm version than what runs inside the container. npm install is
more forgiving and resolves the exit code 1 in the build stage.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The production stage was running npm ci --omit=dev against a macOS-
generated lockfile on linux/alpine, which caused exit code 1. Switch
to installing only the three packages the server actually needs
(express, cors, docx) so the lockfile is irrelevant in that stage.
Also upgrades to node:22-alpine (current LTS) to clear the Node 20
deprecation warning on GitHub Actions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Each prayer gets a consistent color derived from its ID; calendar
dots now use those colors so you can see which prayers were covered
at a glance, and the day-detail panel color-codes each entry too
- New Notes field on every prayer card for scripture, updates, and
mid-prayer thoughts — separate from the answer field, freely editable
- Word export now includes Notes and Prayer Log sections for each prayer
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Each prayer card now has a "Prayer Log" section where you can record
when you prayed, with an optional note per session. A Calendar tab
shows a monthly view with dots on days you prayed; clicking a day
reveals which prayers were covered and any notes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add missing Firebase Admin environment variables to docker-compose.yml
- Update CasaOS configuration with gracious_eldan naming
- Fix Firebase admin initialization for build-time compatibility
- Add missing component imports in main page
- Fix TypeScript compilation errors in API routes
- Update port mapping to 3050 for CasaOS deployment
- Use GitHub Container Registry image instead of local build
- Add EmailJS environment variables for email functionality
- Configure proper networking and health checks
- Install su-exec for user switching
- Modify startup script to run cron as root and app as nextjs user
- Remove USER directive to allow proper service management
- Cron daemon now starts successfully alongside Next.js app
- Move cron file and startup script creation before USER directive
- Set proper ownership for cron files and startup script
- Fix permission denied errors in Docker build
- Replace localStorage with Firestore for prayer persistence
- Prayers now sync across all devices when logged in
- Add userId to prayers for proper user association
- Update archive/unarchive to work with Firestore
- Update Firestore rules for user-specific prayer access
- Remove localStorage dependencies
- Add cron service to Docker container for automated email sending
- Create /api/send-scheduled-emails endpoint for cron job calls
- Modify prayer submission to store user reminder preferences instead of sending immediate emails
- Update Firestore rules to allow server-side API access for scheduled emails
- Add userId to prayers for proper user association
- Cron runs every 5 minutes to check and send scheduled reminders
- Fix ENV format warnings in Dockerfile
- Set NODE_ENV=production during build
- Enable PWA plugin for all environments to ensure consistent builds
- Add debugging for build failures
- Install all dependencies (including dev dependencies) in builder stage
- Ensure TypeScript, Tailwind, and other build tools are available during build