docs: rebuild documentation from scratch with clean IA

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Justin Visser 2026-02-27 09:39:27 +01:00
parent 6c31b331f7
commit 0c5b199b76
30 changed files with 1647 additions and 649 deletions

View file

@ -1,41 +1,86 @@
# User Getting Started
---
title: Getting Started
sidebar_position: 2
---
## Required Setup
# Getting Started
1. Copy `.env.example` to `.env`.
2. Set `POSTGRES_PASSWORD`.
3. Set `SESSION_SECRET_KEY`.
## Prerequisites
## Deploy Method A: Prebuilt Image
- Docker and Docker Compose v2+
- A machine with at least 512 MB RAM
## Installation
1. Clone the repository:
```bash
git clone https://github.com/JustinZeus/scholarr.git
cd scholarr
```
2. Copy the example environment file:
```bash
cp .env.example .env
```
3. Edit `.env` and set the required secrets:
```bash
# Required: database password
POSTGRES_PASSWORD=your-secure-password
# Required: session signing key (32+ random characters)
SESSION_SECRET_KEY=your-random-secret-key
```
4. Start the stack:
```bash
docker compose up -d
```
5. Verify the service is healthy:
```bash
docker compose ps
curl http://localhost:8000/healthz
```
The app is now available at `http://localhost:8000`.
## First Run
### Bootstrap an Admin User
Set these environment variables before first start (or add them to `.env`):
```bash
BOOTSTRAP_ADMIN_ON_START=1
BOOTSTRAP_ADMIN_EMAIL=admin@example.com
BOOTSTRAP_ADMIN_PASSWORD=your-admin-password
```
Restart the app container. The admin account is created on startup.
### Add Your First Scholar
1. Log in at `http://localhost:8000`.
2. Navigate to the Scholars page.
3. Click **Add Scholar**.
4. Enter a Google Scholar profile URL (e.g., `https://scholar.google.com/citations?user=XXXXXXXXXX`) or a Scholar ID.
5. The scheduler will begin fetching publications on the next tick (default: 60 seconds).
### Manual Run
To trigger an immediate ingestion run, use the **Manual Run** button on the Runs page. This respects the minimum run interval (`INGESTION_MIN_RUN_INTERVAL_MINUTES`, default 15 minutes).
## Updating
```bash
docker compose pull
docker compose up -d
```
Open:
- App/API: `http://localhost:8000`
- Health endpoint: `http://localhost:8000/healthz`
Upgrade:
```bash
docker compose pull
docker compose up -d
```
## Deploy Method B: Local Source + Dev Frontend
```bash
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d --build
```
Open:
- API: `http://localhost:8000`
- Frontend dev server: `http://localhost:5173`
Stop:
```bash
docker compose -f docker-compose.yml -f docker-compose.dev.yml down
```
Database migrations run automatically on startup when `MIGRATE_ON_START=1` (the default).