Installer Shynet sur Debian 11


Vous avez un site et souhaitez probablement avoir une idée sur le nombre de visiteur, les pages les plus regardées etc…

Plusieurs solutions existent, dont la plus connue est évidemment Google Analytics.

Mais comme vous ne voulez pas donner davantage de données à un géant du web, et que vous vous souciez un minimum de vos utilisateurs, vous cherchez une solution open-source, simple et efficace.

J’ai essayé Plausible, mais sa consommation excessive de RAM pour mon VPS eco+ m’a du faire basculer sur une autre solution. J’ai essayé Umami avant de vouloir essayer une autre solution encore qui a fini par me convaincre:

Je vous présente donc Shynet . Simple et efficace, compatible RGPD et ne fais aucun tracking donc pas de popup embêtante.

C’est parti !

Installation

On commence par récupérer l’image Docker:

docker pull milesmcc/shynet:latest

On va créer un fichier de configuration à partir de la template officielle:

mkdir /home/shynet
cd /home/shynet
curl https://raw.githubusercontent.com/milesmcc/shynet/master/TEMPLATE.env -o .env

On peut utiliser PostgreSQL ou SQLite. Le premier nécessite une installation supplémentaire, et n’apporte rien de plus. On va donc rester avec SQLite.

Pour ça on va modifier le fichier de config (avec nano ou vim), en retirant le ’#’ à la ligne suivante:

#SQLITE=True

afin d’obtenir

SQLITE=True

Ensuite, on crée un volume Docker pour la persistance de la base de donnée, puis on initialise l’instance avec la commande suivante:

docker volume create shynet_db
docker run --env-file=./.env -v shynet_db:/var/local/shynet/db:rw milesmcc/shynet:latest

Ce qui nous renvoi

[2024-03-15 23:24:06 +0000] [1] [INFO] Starting gunicorn 20.1.0
[2024-03-15 23:24:06 +0000] [1] [INFO] Listening at: http://0.0.0.0:8080 (1)
[2024-03-15 23:24:06 +0000] [1] [INFO] Using worker: sync
[2024-03-15 23:24:06 +0000] [10] [INFO] Booting worker with pid: 10

On fait un petit CTRL+C pour couper tout ça, puis on crée notre compte admin:

docker run --env-file=./.env -v shynet_db:/var/local/shynet/db:rw milesmcc/shynet:latest ./manage.py registeradmin admin@domaine.fr

Ce qui nous renvoi un message de validation avec un mot de passe temporaire à garder sous le coude pour la suite:

Successfully created a Shynet superuser
Email address: admin@domaine.fr
Password: motdepasse

Facultatif: on execute ensuite cette commande pour donner un label à notre instance Shynet:

docker run --env-file=./.env -v shynet_db:/var/local/shynet/db:rw milesmcc/shynet:latest ./manage.py whitelabel "Adamatt Analytics"

Ce qui nous donne:

Successfully set the whitelabel to 'Adamatt Analytics'

Et pour finir, on lance notre instance Shynet (remplacer 9103 par le port que vous comptez utiliser avec votre reverse-proxy):

docker run -d --name shynet --env-file=./.env -p 9103:8080 -v shynet_db:/var/local/shynet/db:rw milesmcc/shynet:latest

On peut alors se connecter avec les identifiants renvoyé par la console un peu plus haut.

Il faudra alors penser à bien modifier le mot de passe du compte et c’est tout bon!

Pour ajouter et configurer votre site, l’interface est suffisament simple et parlante, donc le tuto s’arrête la :)