initial commit

This commit is contained in:
jason
2026-03-12 17:09:22 -05:00
commit 4982e5392e
35 changed files with 9803 additions and 0 deletions

74
unraid_install.md Normal file
View File

@@ -0,0 +1,74 @@
# Unraid Installation Guide for WFH Daily Report
To install the WFH Daily Report app on your Unraid server, follow these steps.
## Docker Configuration
1. **Go to the 'Docker' tab** on your Unraid dashboard.
2. **Click 'Add Container'** (at the bottom).
3. **Configure the following settings**:
- **Name**: `WFH-Daily-Report`
- **Repository**: `[your-docker-registry]/wfh-daily-report:latest` (or your local build)
- **Network Type**: `Bridge`
- **WebUI**: `http://[IP]:[PORT:3000]`
### 1. Port Mapping
- **Container Port**: `3000`
- **Host Port**: `3000` (or any free port on your server)
### 2. Path Mapping (Volumes)
Adding a path mapping ensures your reports (SQLite database) persist when the container updates.
- **Container Path**: `/app/data`
- **Host Path**: `/mnt/user/appdata/wfh-daily-report/data`
- **Access Mode**: `Read/Write`
### 3. Environment Variables
Click **'Add another Path, Port, Variable, Label or Device'** to add each of these required variables:
| Variable | Recommended Value / Description |
| :--- | :--- |
| `NEXTAUTH_URL` | `http://[your-unraid-ip]:3000` |
| `NEXTAUTH_SECRET` | A random 32-char hex string (e.g. from `openssl rand -hex 32`) |
| `GOOGLE_CLIENT_ID` | Your Google Cloud Client ID |
| `GOOGLE_CLIENT_SECRET` | Your Google Cloud Client Secret |
| `DATABASE_URL` | `file:/app/data/dev.db` |
---
## Obtaining Google OAuth Credentials
To enable login and Google Drive exports, you must create a project in the [Google Cloud Console](https://console.cloud.google.com/).
### 1. Create a New Project
- Click the project dropdown in the top-left and select **'New Project'**.
- Give it a name like `WFH-Daily-Report` and click **Create**.
### 2. Configure OAuth Consent Screen
- Go to **APIs & Services > OAuth consent screen**.
- Select **'Internal'** (if you have Google Workspace) or 'External'.
- Fill in the required App Information (App name, support email, developer contact).
- In the **Scopes** section, click **'Add or Remove Scopes'** and add:
- `.../auth/userinfo.email`
- `.../auth/userinfo.profile`
- `.../auth/drive.file` (Required for report exports)
### 3. Create Credentials
- Go to **APIs & Services > Credentials**.
- Click **'Create Credentials'** and select **'OAuth client ID'**.
- Select **'Web application'** as the Application type.
- **Authorized Redirect URIs**: Add `http://[your-unraid-ip]:3000/api/auth/callback/google`.
- Click **Create**. Copy the **Client ID** and **Client Secret** now displayed.
### 4. Enable Google Drive API
- Go to **Enabled APIs & Services > Enable APIs and Services**.
- Search for **'Google Drive API'** and click **Enable**.
---
## Google Cloud Console Requirements
For the application to work, you must configure your Google Cloud Project:
1. **Authorized Redirect URIs**: `http://[your-unraid-ip]:3000/api/auth/callback/google`
2. **Scopes**: Enable `Google Drive API` and ensure `auth/drive.file` scope is requested.
## Support
The database is a single SQLite file located at `/mnt/user/appdata/wfh-daily-report/data/dev.db`. You can back this file up directly.