Docker is the recommended way to run Lightnovel Crawler in a reproducible, portable environment. The official image is published to GitHub Container Registry and includes Calibre, so all output formats work out of the box.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/lncrawl/lightnovel-crawler/llms.txt
Use this file to discover all available pages before exploring further.
Quick setup
Create a data directory
/data, which you map to this host directory via a volume mount.Docker alias
To avoid typing the fulldocker run command every time, add an alias to your shell profile (~/.bashrc, ~/.zshrc, etc.):
Volume mount
The container reads and writes all persistent data through the/data path, set by the LNCRAWL_DATA_PATH environment variable.
| Host path | Container path | Purpose |
|---|---|---|
~/.lncrawl | /data | Database, novel files, artifacts, config |
Environment variables
| Variable | Default | Description |
|---|---|---|
LNCRAWL_DATA_PATH | /data | Path inside the container where all data is stored. |
DATABASE_URL | SQLite in /data | Override with a PostgreSQL URL for production use. |
SELENIUM_GRID | URL to a Selenium Grid for JavaScript-heavy sites (e.g. http://chrome:4444). | |
PYTHONUNBUFFERED | Set to 1 to get real-time log output. |
Building from source
If you want to build the image yourself:Docker Compose
The repository includes a local Docker Compose file atscripts/local-compose.yml that wires together the app server, a PostgreSQL database, and a Selenium Chrome node for JavaScript-heavy sites.
| Service | Port | Description |
|---|---|---|
server | 8080 | Lightnovel Crawler web server |
postgres | 5432 | PostgreSQL database |
chrome | 4444, 7900 | Selenium Chrome node |
For production deployments, use
scripts/server-compose.yml as a starting point. It references the published ghcr.io/lncrawl/lightnovel-crawler:latest image and omits the Chrome node by default.