Varia library working group XPPL. https://gitea.xpub.nl/XPUB/XPPL
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
2.3 KiB

# Varia's XPPL
7 years ago
The [XPUB] library living at [Varia].
7 years ago
> https://books.vvvvvvaria.org/
[XPUB]: http://xpub.nl/
[Varia]: https://varia.zone/
# Run It Locally
Please note, the following instructions have only been tested on the Debian Stretch OS.
7 years ago
You'll need to run an [RQLite] database first:
```
$ apt update && apt install -y make
$ make install-rqlite
$ make rqlited
```
Then get [Pipenv] and run the development server with:
7 years ago
```bash
$ pipenv install --dev --three
$ pipenv run devserver
```
7 years ago
The local development web server will now be available.
If you need to check the database contents, run:
```bash
$ make rqlite
```
And then run `.help` for which commands are available.
[Pipenv]: https://pipenv.readthedocs.io/en/latest/install/#pragmatic-installation-of-pipenv
[RQLite]: https://github.com/rqlite/rqlite
7 years ago
# Test It
```bash
$ pipenv run tox
```
Refer to the [tox.ini](tox.ini) for configuration options.
# Deploy It
See [ansible/README.md](ansible/README.md) for this.
# Maintain It
The XPPL is made up of a few parts:
* The [Flask] application and it's dependencies.
* The [RQLite] database.
* The [Syncthing] integration for uploads.
6 years ago
* The [Nginx reverse proxy].
* The [Let's Encrypt web certificates].
If you know Ansible (it's just YAML), you can just [read the entire configuration].
On the varia.zone machine, you can check the running services with:
```bash
$ sudo supervisorctl status all # check all services
$ sudo supervisorctl stop xppl:* # stop all XPPL services
$ sudo supervisorctl start xppl:* # start all XPPL services
```
You can also view the error logs with:
```bash
$ sudo supervisorctl tail xppl:xppl-flask stderr
$ sudo supervisorctl tail xppl:xppl-rqlite stderr
```
The `/var/xppl/xppl/uploads` folder is managed by the Varia [Syncthing UI].
The RQLite database is located at `/var/xppl/rqlite/node.1`. No cluster is configured.
No backups are configured right now.
[Flask]: http://flask.pocoo.org/
[RQLite]: https://github.com/rqlite/rqlite
[Syncthing]: https://docs.syncthing.net/
6 years ago
[Nginx reverse proxy]: https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/
[Let's Encrypt web certificates]: https://certbot.eff.org/
[Syncthing UI]: https://vvvvvvaria.org/st/
[read the entire configuration]: ansible/plays/main.yml
[Ansible]: https://www.ansible.com/overview/how-ansible-works