taust is a simple monitoring tool. It allows you to monitor:
- that your websites are up (only HTTPS);
- basic metrics of your servers (memory, CPU and disks space).
It is able to notify you about alerts by emails or SMS (only via the French Free Mobile operator).
It supports PHP 8.1 and has very few dependencies.
taust is licensed under AGPL 3.
taust is a personal project and I consider it finished. I do not intend to add new features, but I will maintain it to fix bugs, or to add support for new PHP versions. By consequence, I am going to refuse your feature requests and also probably your Pull Requests.
Favicon made by Good Ware from flaticon.com.
First thing: should you install taust on your server? I would say no. taust is a personal project and I didn't designed it to be used by someone else. That's being said: it's up to you to use it or not! Just note that the documentation is not well detailed and it is expected you're at ease with managing a server.
You’ll need:
- PHP 8.1 (with intl, gettext, pcntl and pdo_pgsql extensions);
- a PostgreSQL database;
- a webserver (Nginx in this documentation).
Download taust:
$ cd /var/www
$ git clone --recurse-submodules https://github.com/flusio/taust.git
$ cd taust
Create a .env
file:
$ cp env.sample .env
$ vim .env # or edit with nano or whatever editor you prefer
The environment file is commented so it should not be too complicated to setup correctly.
Initialize the database:
$ php cli migrations setup --seed
Set correct permissions on the files:
$ sudo chown -R www-data:www-data .
$ sudo chmod 400 .env
Then, configure your virtual host to serve PHP files from the public/
directory.
You can inspire yourself with the Nginx configuration in docker/nginx.conf
.
Note that taust must be served on HTTPS in production.
You can use certbot for that.
Enable the site:
$ sudo ln -s /etc/nginx/sites-available/taust.conf /etc/nginx/sites-enabled/taust.conf
$ sudo systemctl reload nginx
The last step is to configure the asynchronous jobs.
You can use Systemd for that.
First, create a taust.service
file under /etc/systemd/system/
:
[Unit]
Description=A job worker for taust
[Service]
ExecStart=php /var/www/taust/cli jobs watch
User=www-data
Group=www-data
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
Then, enable and start the service with:
$ sudo systemctl enable taust.service
$ sudo systemctl start taust.service
This will start a Jobs Worker in background wich will monitor the domains and check/send alarms.
If you prefer, you can configure a Cron task instead. For instance, with crontab -u www-data -e
:
* * * * * php /var/www/taust/cli jobs watch --stop-after=5 >>/var/log/taust-jobs.txt 2>&1
Fetch the new code with Git:
$ git pull --recurse-submodules
Run the migrations:
$ sudo -u www-data php cli migrations setup --seed
Restart the jobs worker:
$ sudo systemctl restart taust.service
Optional last step that might be useful: verify that your instance is still online.
Download taust:
$ git clone --recurse-submodules https://github.com/flusio/taust.git
$ cd taust
Install Docker.
Install the development dependencies:
$ make install
Start the application:
$ make docker-start
Setup the database:
$ make setup