Phase 1 & 2: full-stack family dashboard scaffold
- pnpm monorepo (apps/client + apps/server) - Server: Express + node:sqlite with numbered migration runner, REST API for all 9 features (members, events, chores, shopping, meals, messages, countdowns, photos, settings) - Client: React 18 + Vite + TypeScript + Tailwind + Framer Motion + Zustand - Theme system: dark/light + 5 accent colors, CSS custom properties, anti-FOUC script, ThemeToggle on every surface - AppShell: collapsible sidebar, animated route transitions, mobile drawer - Phase 2 features: Calendar (custom month grid, event chips, add/edit modal), Chores (card grid, complete/reset, member filter, streaks), Shopping (multi-list tabs, animated check-off, quick-add bar, member assign) - Family member CRUD with avatar, color picker - Settings page: theme/accent, photo folder, slideshow, weather, date/time - Docker: multi-stage Dockerfile, docker-compose.yml, entrypoint with PUID/PGID - Unraid: CA XML template, CLI install script, UNRAID.md guide - .gitignore covering node_modules, dist, db files, secrets, build artifacts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
23
docker-entrypoint.sh
Normal file
23
docker-entrypoint.sh
Normal file
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Resolve PUID/PGID (Unraid default: nobody=99, users=100)
|
||||
PUID=${PUID:-99}
|
||||
PGID=${PGID:-100}
|
||||
|
||||
echo "[entrypoint] Starting Family Planner (PUID=${PUID}, PGID=${PGID})"
|
||||
|
||||
# Create the app user/group if they don't already exist at the requested IDs
|
||||
if ! getent group appgroup > /dev/null 2>&1; then
|
||||
addgroup -g "${PGID}" appgroup
|
||||
fi
|
||||
if ! getent passwd appuser > /dev/null 2>&1; then
|
||||
adduser -D -u "${PUID}" -G appgroup appuser
|
||||
fi
|
||||
|
||||
# Ensure /data is owned by the app user so SQLite can write
|
||||
mkdir -p /data
|
||||
chown -R "${PUID}:${PGID}" /data
|
||||
|
||||
# Drop privileges and exec the CMD
|
||||
exec su-exec "${PUID}:${PGID}" "$@"
|
||||
Reference in New Issue
Block a user