Self-hosting TAGUETTE

Taguette can be run in two separate ways:

Using Docker

If you so choose, you can simply run the remram/taguette Docker image. You will be prompted for an 'admin' password the first time. You can persist the data by mounting a volume over /data, like so:

docker run -ti --rm remram/taguette default-config >/srv/taguette/taguette.conf
edit /srv/taguette/taguette.conf  # Edit configuration file, see below
docker run -ti -p 80:7465 -v /srv/taguette:/data --restart=always remram/taguette server /data/taguette.conf

"Native" installation on a server

You need Python 3.5 or better to run Taguette. Simply run pip install taguette to install the software. To be able to import non-HTML documents, you also need Calibre installed (specifically, the ebook-convert command).

Using a virtual environment is recommended. Example installation on Ubuntu:

apt update
apt install calibre python3.5 virtualenv
virtualenv --python=python3.5 /srv/taguette
. /srv/taguette/bin/activate
pip install taguette
taguette default-config >taguette.conf
edit taguette.conf  # Edit configuration file, see below
taguette --no-browser server taguette.conf

This will start the server on port 80. In practice, you should configure a webserver (for example nginx or Apache, see example configuration) to act as a proxy between the users and Taguette, and provide encryption using TLS (for example using Let's Encrypt, free).

Configuration file

In either case, running the server requires a configuration file. This file contains important information, such as email server and addresses, the port number to listen on, whether registration of new accounts is enabled, etc.

You might want to change the PORT to 80, or better yet configure a webserver (such as nginx or Apache, see example configuration) to act as a proxy between the users and Taguette, and provide encryption using TLS (for example using Let's Encrypt, free).

Database

The DATABASE setting should be a SQLAlchemy connection string. For example, you can use: