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.

91 lines
2.1 KiB

# Varia's XPPL
6 years ago
The [XPUB] library living at [Varia].
6 years ago
> https://books.vvvvvvaria.org/
[XPUB]: http://xpub.nl/
[Varia]: https://varia.zone/
# Change It
Please note, the following instructions have only been tested on the Debian Stretch OS.
6 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:
6 years ago
```bash
$ pipenv install --dev --three
$ pipenv run devserver
```
6 years ago
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
6 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.
* 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/
[Syncthing UI]: https://vvvvvvaria.org/st/
[read the entire configuration]: ansible/plays/main.yml
[Ansible]: https://www.ansible.com/overview/how-ansible-works