Dernière modification le : Dec 11 2024 at 10:17 AM

Installer un serveur MollySocket

On part du principe que vous utilisez la version Molly UnifiedPush et vous avez un distributeur pour les notifications UnifiedPush tel que ntfy ou Conversations/Monocles.

Molly UnifiedPush n’est plus maintenu car tout est intégré dans la version Molly-FOSS cependant il vous faut un distributeur pour les notifications UnifiedPush tel que ntfy ou Conversations/Monocles

Mettre en place un serveur MollySocket est assez simple, ici sera repris l’INSTALL.md du github avec quelques ajouts et en Français.

Préparatif

On met à jour le systeme pour commencé et on install SQLite et Redis :

apt install sqlite3 redis

Puis on prépare un utilisateur dédié :

sudo useradd mollysocket -m -d /opt/mollysocket
sudo -su mollysocket
cd

Installer & Configurer MollySocket

Installation

Pour faire simple ont récupère le binaire depuis le git directement :

Ici avec la version arm64, car j’utilise une VM sur ma Freebox. Prenez la bonne version pour vous.

wget https://github.com/mollyim/mollysocket/releases/download/1.5.1/mollysocket-linux_arm64

Configuration de MollySocket

On télécharge le fichier de configuration :

wget -O /opt/mollysocket/prod.toml https://github.com/mollyim/mollysocket/raw/main/config-sample.toml

Ce qui donne quelque chose comme ça :

db = '/opt/mollysocket/mollysocket.db'
allowed_endpoints = ['*']
allowed_uuids = ['*']
webserver = true
port = 8020

Globalement il n’y a rien à changer, sauf si vous voulez faire à votre sauce ou rendre le serveur privé :

  • db : il sagit du chemin de la base de donnée, qui peut être changé, exemple : /opt/mollysocket/data/mollysocket.db.
  • allowed_endpoints : sert a définir le serveur push utilisé, vous pouvez laisser comme tel ou ajouter votre serveur push si vous en avez un.
  • allowed_uuids : sert à définir si l’accès est public ou alors privé en définisant les personnes pouvant y accéder à l’aide de leurs ID Signal, les ID sont disponible quand vous activez le mode UnifiedPush dans les notifications dans Molly.
  • webserver: Démarrer ou non le serveur web (probablement la page web conetenant le QR code et les info de version du serveur, je ne me sui pas encore penché dessus)
  • port : si vous voulez changer le port.

Service Systemd

Quitter pour revenir sur votre utilisateur de base, puis on télécharge le fichier pour le service et on le place où il faut :

wget https://github.com/mollyim/mollysocket/raw/main/mollysocket.service
sudo mv mollysocket.service /etc/systemd/system/

Sur le github il recommandé de faire un lien symbolique pour l’exécutable pour faciliter les choses, mais les binaires ne comportant plus les numéros de version, il suffit juste de remplacer le binaire par le nouveau, mais si vous voulez le faire quand même :

ln -s /opt/mollysocket/mollysocket-linux-arm64 /opt/mollysocket/ms

Si vous ne le faite pas penser à modifier la ligne dans le mollysocket.service :

ExecStart=/opt/mollysocket/ms server

Et on lance le service :

systemctl start mollysocket

Si/Quand tout est bon et fonctionnel on active le service au démarrage :

systemctl enable --now mollysocket

Proxy server - Caddy

Exemple de configuration avec Caddy :

votre-nom-de-domaine.tld {
    reverse_proxy 127.0.0.1:8020

    # logs
    log {
        output file /var/log/caddy/mollysocket.log {
        roll_size 10MB
        roll_keep 10
        roll_keep_for 48h # Temps de retention
        }
    }
}

Et si tout fonctionne bien

Il va falloir aller dans l’app Molly et ajouter votre serveur en appuyant en haut à gauche sur votre avatar pour ouvrir les Paramètres, puis aller dans le menu Notifications et descendre tout en bas et choisir UnifiedPush dans Service de distribution, vous pouvez grace au QR code fournit sur la page web de votre serveur mollysocket faire ça très vite.

Puis on selectionne l’application qui distribue les notifications push dans Configure UnifiedPush

Il ne nous reste plus qu’a tester si tout fonctionne bien. Pour cela on va envoyer une notification depuis le serveur :

./mollysocket-linux_arm64 -c prod.toml connection ping votre-ID-Signal

L’application Molly lance normalement un teste de notification à l’ajout de la configuration.