wrolpi/README.md

119 lines
4.8 KiB
Markdown
Raw Normal View History

# WROLPi
[![Build Status](https://img.shields.io/circleci/build/github/lrnselfreliance/wrolpi/release?label=release%20build)](https://app.circleci.com/pipelines/github/lrnselfreliance/wrolpi?branch=release&filter=all)
[![License: GPL v3](https://img.shields.io/github/license/lrnselfreliance/wrolpi?style=flat-square)](https://github.com/lrnselfreliance/wrolpi/blob/master/LICENSE)
2022-03-03 09:55:38 -07:00
[![Discord](https://img.shields.io/discord/900430987987681330?label=Discord&logo=discord)](https://discord.gg/HrwFk7nqA2)
**Take your internet, off-grid.**
<p align="center">
<img width="256px" src="https://raw.githubusercontent.com/lrnselfreliance/wrolpi/master/icon.png" alt='WROLPi Logo'>
</p>
WROLPi is a self-contained collection of software (on a Raspberry Pi) to help you survive the world Without Rule of Law.
WROLPi is intended to be run on a Raspberry Pi with an optional external drive attached. It serves up it's own wifi
network so that any person with a laptop/tablet/phone can connect and use the data previously collected by the user.
# WARNING WROLPi is under active development!
2022-01-21 10:19:56 -07:00
- WROLPi is in Beta!
- Expect things to change!
# Features
- [x] Video player & downloader
- [x] Web archiver
- [x] Map viewer
- [x] Wi-Fi Hotspot
2022-01-03 16:36:44 -07:00
- [x] Universal search
- [x] Food Inventory management
- [x] One-Time pad generator, encrypter/decrypter
- [ ] eBook viewer
- [ ] Wiki viewer & downloader
- [ ] Synchronizer and/or duplicator
- [ ] Food storage calculator
- [ ] Podcast player & downloader
2022-01-21 10:19:56 -07:00
# Demo
2022-01-21 10:31:40 -07:00
<a href="https://www.youtube.com/watch?v=g0Do_mlQcBU"> ![YouTube Demo Video](https://raw.githubusercontent.com/lrnselfreliance/wrolpi/master/demo_link.jpg)</a>
2022-01-21 10:19:56 -07: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
* `git clone git@github.com:lrnselfreliance/wrolpi.git`
3. Change directory into the code base
* `cd wrolpi`
4. Build the containers
* `docker-compose build --parallel`
2022-03-12 10:23:39 -07:00
5. Create volumes
* `docker volume create --name=openstreetmap-data`
* `docker volume create --name=openstreetmap-rendered-tiles`
6. Start the database.
* `docker-compose up -d db`
2022-03-12 10:23:39 -07:00
7. Initialize the database
* `docker-compose run --rm api db upgrade`
8. Start the docker containers
* `docker-compose up`
9. Browse to WROLPi
* http://0.0.0.0:8080
# 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!**
1. Install [Ubuntu Server 20.04](https://ubuntu.com/download/raspberry-pi) onto a RaspberryPi.
2. Login to the new RaspberryPi.
3. 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`
4. Run the installation script
* `sudo /bin/bash /tmp/install.sh`
2021-11-02 10:53:12 -06:00
5. Start WROLPi
* `sudo systemctl start wrolpi.target`
6. Join the Hotspot or browse to the IP address of your WROLPi!
# Charter
## 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
* WiFi USER device such as a phone, tablet, or laptop.
1. A WROLPi instance should consume a minimal amount of electricity during WROL event. It is expected power will be
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.
1. WROLPi should function completely without any internet services.
1. A user should have easy access to their data if WROLPi fails:
* 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.
1. WROLPi should be self-documented. The UI should contain a tutorial for USERS as well as the MAINTAINER.
* If the UI isn't functional, the code should be documented such that a user can restore functionality.
1. WROLPi should favor pre-processing, rather than processing during a WROL event. Such as re-encoding a video, or
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)