Slowly building all WROLPi help docs.

This commit is contained in:
Roland 2023-10-15 16:31:49 -06:00
commit b2167cf098
No known key found for this signature in database
GPG key ID: 9D6DBD3ACF11AB93
25 changed files with 340 additions and 0 deletions

53
docs/system/index.md Normal file
View file

@ -0,0 +1,53 @@
# Overview of WROLPi Systems
* WROLPi is based off [Debian OS](https://debian.org) and [Raspberry Pi OS](https://www.raspberrypi.com/software/)
* WROLPi has 4 user-facing services:
* [API](#api)
* [App](#app)
* [Map](#map)
* [Zim](#zim)
## Services
### API
| Software Project | Purpose |
|------------------------------------------------------------|-------------------------------------------------------------------------|
| [Python](https://python.org) | The language of the WROLPi API and scripts. |
| [Sanic](https://sanic.dev) | An async web app framework, used for the API. |
| [SQLAlchemy](https://www.sqlalchemy.org/) | The database ORM. |
| [yt-dlp](https://github.com/yt-dlp/yt-dlp) | Used to download videos. |
| [SingleFile](https://github.com/gildas-lormeau/SingleFile) | Used to create Archives. |
| [Readability](https://github.com/mozilla/readability) | Used to extract the article from an Archive. |
| [Chromium](https://chromium.org) | Used to create Archives. |
| [FFMPEG](https://ffmpeg.org/) | Video processing software which is used by the API to manipulate videos |
| [libzim](https://pypi.org/project/libzim/) | Used to search the ZIM files |
### DB
| Software Project | Purpose |
|-------------------------------------------|----------------------------------------------------------------------|
| [Postgresql](https://www.postgresql.org/) | Facilitates searching of files, scheduling downloads, and much more. |
### App
| Software Project | Purpose |
|----------------------------------------------|--------------------------------------------------------------------|
| [ReactJS](https://react.dev/) | The framework which controls the App. Built on-top of Javascript. |
| [SemanticUI](https://react.semantic-ui.com/) | The framework and style of the App's buttons, tables, etc. |
| [NodeJS](https://nodejs.org) | The run-time environment which runs the ReactJS app. |
### Map
| Software Project | Purpose |
|-------------------------------------------------|------------------------------------------|
| [OpenStreetMap](https://www.openstreetmap.org/) | Provides the Map data |
| [osmium](https://osmcode.org/osmium-tool/) | Used to merge map PBF files. |
| [osm2pgsql](https://osm2pgsql.org/) | Used to import PBF files into Postgresql |
### Zim
| Software Project | Purpose |
|-------------------------------------------------------|-------------------------------|
| [Kiwix](https://kiwix.org) | Provides the ZIM files |
| [Kiwix Server](https://github.com/kiwix/kiwix-tools/) | Hosts the ZIM files interface |

View file

@ -0,0 +1,18 @@
## Recommended Hardware
WROLPis is expected to run in one of two systems, on a Raspberry Pi, or on a computer running Debian OS.
### Recommended Raspberry Pi Hardware
1. Raspberry Pi 4 (4GB+ RAM).
2. Micro SD Card (32GB+).
3. External USB Drive.
4. Keyboard, mouse, monitor.
5. Power supplies, USB cables, etc.
### Recommended Debian Hardware
1. A laptop is recommended, but any other AMD64 compatible system is acceptable.
1. 4GB RAM
2. External USB Drive.
3. Power supplies, USB cables, etc.

View file

@ -0,0 +1,44 @@
# Special Directories
| Path | Purpose |
|-------------------------|----------------------------------------------------------|
| `/media/wrolpi/` | The [Media Directory](#media-directory). |
| `/opt/wrolpi/` | The [source code](#wrolpi-source-directory) of WROLPi. |
| `/media/wrolpi/config/` | The [configuration files](#wrolpi-config) of the WROLPi. |
| `/opt/wrolpi-blobs/` | Contains files necessary to the repair of a WROLPi. |
| `/opt/wrolpi-help/` | These help files. |
## Media Directory
`/media/wrolpi/`
The media directory is a ubiquitous part of WROLPi. It is expected that an external drive will be mounted here. All
files that are downloaded by WROLPi will be saved within this directory.
The normal media directory is `/media/wrolpi`
## WROLPi Source Directory
`/opt/wrolpi/`
This directory contains the source code of the WROLPi API, app, etc.
## WROLPi Config
`/media/wrolpi/config/`
This directory contains the configuration files of the WROLPi. These files are considered the "source of truth" and
their contents will alter the behavior of the WROLPi.
## WROLPi Blobs
`/opt/wrolpi-blobs/`
This directory contains the files necessary to repair a WROLPi. For example, the `gis-map.dump.gz` file contains a
Postgresql dump of the map database. **It is best to leave this directory as-is.**
## WROLPi Help
`/opt/wrolpi-help/`
This help file you are reading is contained in this directory.