# 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.