Skip to content

Commit 8f5fee2

Browse files
committed
docs: sync installation instructions from project site to README
1 parent e4213c2 commit 8f5fee2

File tree

1 file changed

+89
-1
lines changed

1 file changed

+89
-1
lines changed

README.md

Lines changed: 89 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,82 @@ I decided to build Scriberr to bridge that gap, creating a powerful, private, an
112112

113113
## Installation
114114

115-
Get Scriberr running on your system in a few minutes using Docker.
115+
Get Scriberr running on your system in a few minutes.
116+
117+
### Migrating from v1.1.0
118+
119+
If you are upgrading from v1.1.0, please follow these steps to ensure a smooth transition. Version 1.2.0 introduces a separation between application data (database, uploads) and model data (Python environments).
120+
121+
#### 1. Update Volume Mounts
122+
123+
You will need to update your Docker volume configuration to split your data:
124+
125+
* **Application Data:** Bind your existing data folder (containing `scriberr.db`, `jwt_secret`, `transcripts/`, and `uploads/`) to `/app/data`.
126+
* **Model Environment:** Create a **new, empty folder** and bind it to `/app/whisperx-env`.
127+
128+
#### 2. Clean Up Old Environments
129+
130+
> **CRITICAL:** You must delete any existing `whisperx-env` folder from your previous installation.
131+
132+
The Python environment and models need to be reinitialized for v1.2.0. If the application detects an old environment, it may attempt to use it, leading to compatibility errors. Starting with a fresh `/app/whisperx-env` volume ensures the correct dependencies are installed.
133+
134+
### Install with Homebrew (macOS & Linux)
135+
136+
The easiest way to install Scriberr is using Homebrew. If you don’t have Homebrew installed, [get it here first](https://brew.sh/).
137+
138+
```bash
139+
# Add the Scriberr tap
140+
brew tap rishikanthc/scriberr
141+
142+
# Install Scriberr (automatically installs UV dependency)
143+
brew install scriberr
144+
145+
# Start the server
146+
scriberr
147+
```
148+
149+
Open [http://localhost:8080](http://localhost:8080) in your browser.
150+
151+
### Configuration
152+
153+
Scriberr works out of the box. However, for Homebrew or manual installations, you can customize the application behavior using environment variables or a `.env` file placed in the same directory as the binary (or where you run the command from).
154+
155+
> **Docker Users:** You can ignore this section if you are using `docker-compose.yml`, as these values are already configured with sane defaults.
156+
157+
#### Environment Variables
158+
159+
| Variable | Description | Default |
160+
| :--- | :--- | :--- |
161+
| `PORT` | The port the server listens on. | `8080` |
162+
| `HOST` | The interface to bind to. | `0.0.0.0` |
163+
| `APP_ENV` | Application environment (`development` or `production`). | `development` |
164+
| `ALLOWED_ORIGINS` | CORS allowed origins (comma separated). | `http://localhost:5173,http://localhost:8080` |
165+
| `DATABASE_PATH` | Path to the SQLite database file. | `data/scriberr.db` |
166+
| `UPLOAD_DIR` | Directory for storing uploaded files. | `data/uploads` |
167+
| `TRANSCRIPTS_DIR` | Directory for storing transcripts. | `data/transcripts` |
168+
| `WHISPERX_ENV` | Path to the managed Python environment for models. | `data/whisperx-env` |
169+
| `OPENAI_API_KEY` | API Key for OpenAI (optional). | `""` |
170+
| `JWT_SECRET` | Secret for signing JWTs. Auto-generated if not set. | Auto-generated |
171+
172+
**Example `.env` file:**
173+
174+
```bash
175+
# Server settings
176+
HOST=localhost
177+
PORT=8080
178+
APP_ENV=production
179+
180+
# Paths
181+
DATABASE_PATH=/var/lib/scriberr/data/scriberr.db
182+
UPLOAD_DIR=/var/lib/scriberr/data/uploads
183+
184+
# Security
185+
JWT_SECRET=your-super-secret-key-change-this
186+
```
187+
188+
### Docker Deployment
189+
190+
For a containerized setup, you can use Docker. We provide two configurations: one for standard CPU usage and one optimized for NVIDIA GPUs (CUDA).
116191

117192
#### Standard Deployment (CPU)
118193

@@ -191,6 +266,19 @@ volumes:
191266
docker compose -f docker-compose.cuda.yml up -d
192267
```
193268

269+
### App Startup
270+
271+
When you run Scriberr for the first time, it may take several minutes to start. This is normal!
272+
273+
The application needs to:
274+
1. Initialize the Python environments.
275+
2. Download the necessary machine learning models (Whisper, PyAnnote, NVIDIA NeMo).
276+
3. Configure the database.
277+
278+
**Subsequent runs will be much faster** because all models and environments are persisted to the `env_data` volume (or your local mapped folders).
279+
280+
You will know the application is ready when you see the line: `msg="Scriberr is ready" url=http://0.0.0.0:8080`.
281+
194282
## Post installation
195283

196284
Once you have Scriberr up and running:

0 commit comments

Comments
 (0)