2021-11-01 16:42:52 -06:00
|
|
|
# WROLPi
|
|
|
|
|
|
2022-03-12 11:08:07 -07:00
|
|
|
[](https://app.circleci.com/pipelines/github/lrnselfreliance/wrolpi?branch=release&filter=all)
|
2021-11-01 16:42:52 -06:00
|
|
|
[](https://github.com/lrnselfreliance/wrolpi/blob/master/LICENSE)
|
2022-03-03 09:55:38 -07:00
|
|
|
[](https://discord.gg/HrwFk7nqA2)
|
2023-02-03 00:02:02 +01:00
|
|
|
[](https://gitpod.io/#https://github.com/lrnselfreliance/wrolpi)
|
2021-11-01 16:42:52 -06:00
|
|
|
|
2022-11-13 14:20:48 -07:00
|
|
|
**Create your own off-grid library.**
|
2021-11-01 16:42:52 -06:00
|
|
|
|
|
|
|
|
<p align="center">
|
|
|
|
|
<img width="256px" src="https://raw.githubusercontent.com/lrnselfreliance/wrolpi/master/icon.png" alt='WROLPi Logo'>
|
|
|
|
|
</p>
|
|
|
|
|
|
2022-11-13 14:36:13 -07:00
|
|
|
WROLPi is a self-contained collection of software to help you survive the world Without Rule of Law.
|
2021-11-01 16:42:52 -06:00
|
|
|
|
2022-11-13 14:36:13 -07:00
|
|
|
WROLPi is intended to be run on a Raspberry Pi with an optional external drive attached. It serves up it's own Wi-Fi
|
|
|
|
|
network so that any user with a laptop/tablet/phone can connect and use the library created by the maintainer.
|
2021-11-01 16:42:52 -06:00
|
|
|
|
|
|
|
|
# WARNING WROLPi is under active development!
|
|
|
|
|
|
2022-01-21 10:19:56 -07:00
|
|
|
- WROLPi is in Beta!
|
2021-11-01 16:42:52 -06:00
|
|
|
- Expect things to change!
|
|
|
|
|
|
2022-05-03 11:13:29 -06:00
|
|
|
# Table of Contents
|
|
|
|
|
|
|
|
|
|
* [Features](#features)
|
|
|
|
|
* [Demo](#demo)
|
2023-02-23 12:09:19 -07:00
|
|
|
* [Download](#download)
|
2022-05-03 11:13:29 -06:00
|
|
|
* [Try WROLPi](#try-wrolpi)
|
|
|
|
|
* [Debian 11 Install](#debian-11-install)
|
|
|
|
|
* [Raspberry Pi Install](#raspberrypi-install)
|
|
|
|
|
* [Charter](#charter)
|
|
|
|
|
* [Upgrading WROLPi](UPGRADE.md)
|
|
|
|
|
* [Join](#charter)
|
|
|
|
|
|
2021-11-01 16:42:52 -06:00
|
|
|
# Features
|
|
|
|
|
|
2022-12-17 14:51:34 -07:00
|
|
|
- [x] Videos
|
|
|
|
|
- [x] Web Archive
|
|
|
|
|
- [x] Maps
|
2022-12-29 11:25:43 -07:00
|
|
|
- [x] File search
|
2022-12-29 12:09:32 -07:00
|
|
|
- [x] eBooks (EPUB / PDFs)
|
2022-12-17 14:51:34 -07:00
|
|
|
- [x] Wi-Fi Hotspot
|
|
|
|
|
- [x] Universal search
|
|
|
|
|
- [x] Food Inventory management
|
|
|
|
|
- [x] One-Time pad generator, encrypter/decrypter
|
|
|
|
|
- [ ] Synchronizer and/or duplicator
|
|
|
|
|
- [ ] Food storage calculator
|
|
|
|
|
|
2023-02-23 12:09:19 -07:00
|
|
|
## Module features matrix
|
2022-12-17 14:51:34 -07:00
|
|
|
|
2022-12-29 12:09:32 -07:00
|
|
|
| **Module** | **Search** | **View** | **Download** |
|
|
|
|
|
|--------------------|:-----------|----------|--------------|
|
|
|
|
|
| Videos | yes | yes | yes |
|
|
|
|
|
| Web Archives | yes | yes | yes |
|
|
|
|
|
| eBooks (EPUB/PDFs) | yes | yes | planned |
|
|
|
|
|
| Map | planned | yes | planned |
|
|
|
|
|
| Wikis | planned | planned | planned |
|
|
|
|
|
| Podcasts/Audio | planned | planned | planned |
|
2022-12-17 11:28:29 -07:00
|
|
|
|
2022-01-21 10:19:56 -07:00
|
|
|
# Demo
|
2022-05-03 11:00:09 -06:00
|
|
|
|
2022-12-12 11:55:22 -07:00
|
|
|
<a href="https://www.youtube.com/watch?v=Qz-FuenRylQ"> </a>
|
2022-01-21 10:19:56 -07:00
|
|
|
|
2023-02-23 12:09:19 -07:00
|
|
|
# Download
|
|
|
|
|
|
|
|
|
|
Images are available on [wrolpi.org](https://wrolpi.org)
|
|
|
|
|
|
2021-11-01 16:42:52 -06:00
|
|
|
# Try WROLPi!
|
|
|
|
|
|
|
|
|
|
You can try out WROLPi by running the docker containers.
|
|
|
|
|
|
|
|
|
|
1. [Install docker-ce](https://docs.docker.com/install/linux/docker-ce/debian/) and
|
|
|
|
|
[docker-compose](https://docs.docker.com/compose/install/)
|
|
|
|
|
2. Copy the latest WROLPi code
|
2022-03-19 17:49:29 -06:00
|
|
|
* `git clone https://github.com/lrnselfreliance/wrolpi.git`
|
2021-11-01 16:42:52 -06:00
|
|
|
3. Change directory into the code base
|
|
|
|
|
* `cd wrolpi`
|
2022-03-09 19:00:35 -07:00
|
|
|
4. Build the containers
|
2022-05-03 11:00:09 -06:00
|
|
|
* `docker-compose build --parallel`
|
2022-03-12 10:23:39 -07:00
|
|
|
5. Create volumes
|
2022-05-03 11:00:09 -06:00
|
|
|
* `docker volume create --name=openstreetmap-data`
|
|
|
|
|
* `docker volume create --name=openstreetmap-rendered-tiles`
|
2022-03-12 10:23:39 -07:00
|
|
|
6. Start the database.
|
2021-11-01 16:42:52 -06:00
|
|
|
* `docker-compose up -d db`
|
2022-03-12 10:23:39 -07:00
|
|
|
7. Initialize the database
|
2022-01-03 16:36:58 -07:00
|
|
|
* `docker-compose run --rm api db upgrade`
|
2022-03-09 19:00:35 -07:00
|
|
|
8. Start the docker containers
|
2021-11-01 16:42:52 -06:00
|
|
|
* `docker-compose up`
|
2022-03-09 19:00:35 -07:00
|
|
|
9. Browse to WROLPi
|
2021-11-01 16:42:52 -06:00
|
|
|
* http://0.0.0.0:8080
|
|
|
|
|
|
2022-03-19 17:49:29 -06:00
|
|
|
# Debian 11 Install
|
|
|
|
|
|
|
|
|
|
Install WROLPi onto a fresh Debian 11 system.
|
|
|
|
|
|
|
|
|
|
**Warning: this will clobber anything else on the system! Do not run this installation script elsewhere!**
|
|
|
|
|
|
|
|
|
|
1. Install [Debian 11](https://www.debian.org/) onto a laptop or other computer.
|
2023-02-22 21:38:26 -07:00
|
|
|
2. Get the WROLPi installation script
|
2022-03-19 17:49:29 -06:00
|
|
|
* `wget https://raw.githubusercontent.com/lrnselfreliance/wrolpi/release/install.sh -O /tmp/install.sh`
|
2023-02-22 21:38:26 -07:00
|
|
|
3. Run the installation script
|
2022-03-19 17:49:29 -06:00
|
|
|
* `sudo /bin/bash /tmp/install.sh`
|
2023-02-22 21:38:26 -07:00
|
|
|
4. Start WROLPi
|
2022-03-19 17:49:29 -06:00
|
|
|
* `sudo systemctl start wrolpi.target`
|
2023-02-22 21:38:26 -07:00
|
|
|
5. Browse to the IP address of your WROLPi!
|
2022-03-19 17:49:29 -06:00
|
|
|
|
2021-11-01 16:42:52 -06:00
|
|
|
# RaspberryPi Install
|
|
|
|
|
|
|
|
|
|
Install WROLPi onto a fresh Raspberry Pi.
|
|
|
|
|
|
|
|
|
|
**Warning: this will clobber anything else on the Raspberry Pi! Do not run this installation script elsewhere!**
|
|
|
|
|
|
2023-02-23 12:09:19 -07:00
|
|
|
1. Install [Raspberry Pi OS](https://www.raspberrypi.com/software/operating-systems/) onto a RaspberryPi.
|
2023-02-22 21:38:26 -07:00
|
|
|
2. Get the WROLPi installation script
|
2022-01-15 19:00:26 -07:00
|
|
|
* `wget https://raw.githubusercontent.com/lrnselfreliance/wrolpi/release/install.sh -O /tmp/install.sh`
|
2023-02-22 21:38:26 -07:00
|
|
|
3. Run the installation script
|
2021-11-01 16:42:52 -06:00
|
|
|
* `sudo /bin/bash /tmp/install.sh`
|
2023-02-22 21:38:26 -07:00
|
|
|
4. Start WROLPi
|
2021-11-02 10:53:12 -06:00
|
|
|
* `sudo systemctl start wrolpi.target`
|
2023-02-22 21:38:26 -07:00
|
|
|
5. Join the Hotspot or browse to the IP address of your WROLPi!
|
2021-11-01 16:42:52 -06:00
|
|
|
|
|
|
|
|
# Charter
|
|
|
|
|
|
2023-05-29 18:04:03 -06:00
|
|
|
## Guiding Principals
|
|
|
|
|
|
|
|
|
|
1. Storage is cheaper than power.
|
|
|
|
|
2. Two is one, one is none.
|
|
|
|
|
3. In WROL mode, run silently.
|
|
|
|
|
|
2021-11-01 16:42:52 -06:00
|
|
|
## Physical properties
|
|
|
|
|
|
|
|
|
|
1. A WROLPi instance should be capable of running with a minimal of hardware:
|
|
|
|
|
* Raspberry Pi
|
|
|
|
|
* SD card
|
|
|
|
|
* External USB hard drive
|
|
|
|
|
* Power supply and cables
|
2023-05-29 18:04:03 -06:00
|
|
|
* Wi-Fi USER device such as a phone, tablet, or laptop.
|
2023-02-23 12:09:19 -07:00
|
|
|
2. A WROLPi instance should consume a minimal amount of electricity during WROL event. It is expected power will be
|
2021-11-01 16:42:52 -06:00
|
|
|
scarce when WROLPi is needed most.
|
|
|
|
|
|
|
|
|
|
## User expectations
|
|
|
|
|
|
|
|
|
|
1. A WROLPi instance should be run and maintained by a person (MAINTAINER) with a moderate amount of Linux and Raspberry
|
|
|
|
|
Pi experience. It is expected that they should be able to do this using only the documentation on their WROLPi.
|
|
|
|
|
|
|
|
|
|
## Software properties and capabilities
|
|
|
|
|
|
|
|
|
|
1. A WROLPi instance should be able to "factory-reset" itself without any outside services.
|
2023-02-23 12:09:19 -07:00
|
|
|
2. WROLPi should function completely without any internet services.
|
|
|
|
|
3. A user should have easy access to their data if WROLPi fails:
|
2021-11-01 16:42:52 -06:00
|
|
|
* For example, a user can watch their videos by navigating a short and intuitive directory structure and opening the
|
|
|
|
|
video in their preferred video player.
|
2023-02-23 12:09:19 -07:00
|
|
|
4. WROLPi should be self-documented. The UI should contain a tutorial for USERS as well as the MAINTAINER.
|
2021-11-01 16:42:52 -06:00
|
|
|
* If the UI isn't functional, the code should be documented such that a user can restore functionality.
|
2023-02-23 12:09:19 -07:00
|
|
|
5. WROLPi should favor pre-processing, rather than processing during a WROL event. Such as re-encoding a video, or
|
2021-11-01 16:42:52 -06:00
|
|
|
processing captions. This is to ensure that when a user adds content during non-WROL time, the processing for optimum
|
|
|
|
|
performance is already done for a WROL event.
|
|
|
|
|
|
|
|
|
|
# Join!
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
<img src="https://raw.githubusercontent.com/lrnselfreliance/wrolpi/master/join_discord.png" alt='Discord QR Code'>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
[Join our Discord](https://discord.gg/HrwFk7nqA2)
|