cfeee5dc2a25a041839f4e6e36aadbc049d7512c
Without prisma.config.ts in the runner stage, prisma db push has no datasource URL (schema.prisma no longer carries url in Prisma 7) and silently skips creating the database. Also add set -e to the entrypoint so any db push failure is visible in logs and stops the container. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
WFH Daily Report App
A sleek, modern, and dockerized web application for employees to track and submit their daily work-from-home reports. Features a stunning glassmorphic design and seamless integration with Google Workspace.
✨ Features
- Premium UI: Modern glassmorphism aesthetics with smooth animations and responsive design.
- Google OAuth 2.0: Secure authentication using your company's Google Workspace accounts.
- Multi-Step Reporting:
- Morning: Log planned tasks, time estimates, and initial notes.
- Evening: Review achievements, update statuses, and submit links to completed work.
- Smart Admin Logic:
- The first user to log in is automatically granted the ADMIN role.
- Exclusive Admin Panel to search and review all employee reports.
- Google Drive Integration:
- Automatically exports completed reports as Google Docs.
- Admins can designate a specific folder for all exports.
- Single-Container Architecture: Uses SQLite for persistent storage, making it ideal for "drop-in" deployments (e.g., Unraid, Synology).
🚀 Quick Start
1. Prerequisites
- Google Cloud Console Project with:
- OAuth 2.0 Credentials (Web Application)
- Google Drive API enabled
- Docker installed on your host.
2. Environment Setup
Copy .env.example to .env and provide your credentials:
cp .env.example .env
3. Run with Docker
# Build and run the container
docker build -t wfh-report .
docker run -p 3000:3000 \
--env-file .env \
-v $(pwd)/data:/app/data \
wfh-report
🏡 Unraid Installation
For specific instructions on installing this on Unraid (including volume mapping and Unraid UI configuration), please refer to our Unraid Installation Guide.
🛠️ Tech Stack
- Framework: Next.js (App Router)
- Database: SQLite via Prisma ORM
- Auth: NextAuth.js
- Styles: Vanilla CSS & TailwindCSS (for utility)
- Icons: Lucide React
Description
Languages
TypeScript
91.2%
Dockerfile
3.3%
CSS
2.9%
JavaScript
2.6%