Taguette can be run in two separate ways:
- On your machine, after installing it. This requires no complex setup, and your data never has to leave your machine!
- On a server. This is more difficult to setup, but users can then use that installed version with nothing more than their web browser! We host a publicly-available Taguette server at app.taguette.org at the moment, so you can feel free to use that. If you want to deploy your own server for your organization, read on!
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
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).
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
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 setting should be a SQLAlchemy connection string. For example, you can use:
- a SQLite database file (note the 4 slashes):
- a PostgreSQL database:
- a MySQL or MariaDB database:
- ... or any of the other databases supported by SQLAlchemy