Files
wfh/unraid_install.md
2026-03-12 17:09:22 -05:00

3.0 KiB

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.

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