Installer Wallos avec Docker

Au sommaire :

  • 1-Qu'est-ce que Wallos ?
  • 2-Prérequis
  • 3-Déploiement
  • 4-Configuration

1-Qu'est-ce que Wallos ?

Wallos est une application Docker codée en PHP qui va vous permettre de lister vos abonnements et frais mensuel, vous avertir via SMTP (de 1 à 7 jour à l’avance) lorsque vous serez prélevé sur votre compte, télécharger les icônes des entreprises auquel vous êtes abonné, gérer de multiples devises (en plus de convertir vos abonnements avec le taux du moment) et vous affiche le tout sous forme de statistiques pour que le tout soit plus lisible.

C'est très simple à mettre en place, très léger (10 Mo en RAM) et c'est exactement ce qu'il me fallait pour avoir une visualisation de mes dépenses.

Ça fait déjà parti des applications qui tournent en permanence sur mon serveur.

2-Prérequis

Il vous faudra une machine virtuelle sous Ubuntu Server 22.04 LTS.

Voici le guide pour ceux qui veulent repartir de zéro.

Virtualiser Ubuntu Server 22.04 LTS sur Proxmox VE
Guide d’installation de Ubuntu Server 22.04 LTS sur Proxmox VE avec mes meilleurs réglages.

Si vous voulez gagner du temps, utilisez un template cloud-init.

Initialiser vos machines virtuelles avec Cloud-init sur Proxmox VE
Guide d’installation de Cloud-Init qui va vous permettre d’automatiser vos déploiements

Ensuite, suivez ce guide pour installer Docker, Docker Compose et préparer vos variables d'environnement.

Installer Docker
Guide d’installation de Docker.

Note : d'habitude je partage ma configuration Traefik mais j'ai rencontré un léger soucis dans la configuration donc lorsque j'aurai résolu le soucis je mettrai à jour le tutoriel.

3-Déploiement

Commencez par créer un dossier "docker" à la racine du dossier utilisateur"

mkdir -p ~/docker

Créez un fichier nommé "compose.yml"

touch ~/docker/compose.yml

Ouvrez le fichier "compose.yml" et copiez cette configuration.

version: "3.9"

networks:
#défault network
  default:
    driver: bridge

services:
      
  wallos:
    image: bellamy/wallos:latest
    container_name: wallos
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
    networks:
      - default
    ports:
      - 8282:80
    volumes:
      - ${APPDATA}/wallos/db:/var/www/html/db
      - ${APPDATA}/logos:/var/www/html/images/uploads/logos
    restart: unless-stopped
  • image : l'image officielle de Wallos dans sa dernière version
  • container_name : le nom du conteneur
  • environment : indiquez les variables de base des applications Linuxserver.io comme le PUID (utilisateur), le PGID (groupe) et la TZ (timezone)
  • network : le réseau par défaut
  • ports : 8282 (ne jamais utiliser les ports 80 et 443 dédiés respectivement aux renouvellement des certificats SSL et à l'accès de vos applications sur l'internet public)
  • volumes : indiquez le chemin pour la base de données et les logos qui seront téléchargés par l'application
  • restart : unless-stopped

Téléchargez l'image et déployez le conteneur.

docker compose pull && docker compose create

Puis démarrez le conteneur.

docker start wallos

Accédez à l'application via l'adresse IP locale, vous devriez tomber sur la page d'accueil.

4-Configuration

Indiquez les informations suivantes :

  • Username : nom d'utilisateur
  • Email : votre adresse mail
  • Password (un mot de passe robuste (utilisez le générateur de mots de passe de l'extension Bitwarden sur Chrome/Firefox)
  • Confirm Password : confirmez le mot de passe
  • Main Currency : dans notre cas ce sera l'euro (cette monnaie en décrépitude, l'Europe c'est la paix ils disaient, j'arrête j'arrête haha...)
  • Language : Anglais ou Français selon vos habitudes

Ensuite, connectez-vous avec vos identifiants.

Félicitation!!!! Vous accédez à l'application. Cliquez sur "Nouvel Abonnement".

  • Nom de l'abonnement : Sosh pour l'exemple. Pensez à cliquer sur l'icône de la loupe pour télécharger le logo).
  • Prix : le montant (vous pouvez également choisir la devise).
  • Cycle de facturation : si c'est mensuel, indiquez une fois par mois et le prochain paiement mais vous pouvez choisir quotidien, hebdomadaire ou annuel.
  • Méthode de paiement : j'utilise le plus souvent Paypal, Bank Transfert et Money (cash).
  • Catégorie : choisissez la catégorie ou bien allez la créer dans les paramètres.
  • Payé par : Mahmoud évidemment!!!!
  • Site web : facultatif.
  • Notes : mettre un rappel par exemple (facultatif).

Cliquez sur "Enregistrer".

On vois bien que l'abonnement est ajouté.

Vous pouvez également trier de la manière suivante.

Ensuite, cliquez sur "Paramètres".

Dans les paramètres d'affichage, cochez les deux cases pour calculer et afficher le prix mensuel pour tout vos abonnements et effectuer convertir vos paiements dans une autre devise dans votre devise principale.

Note : pour les paramètres SMTP, pensez à créer une adresse mail spécifiquement dédié à cet usage et à ne pas mettre la votre car comme indiqué le mot de passe est transmis et stocké en brut sans chiffrement.

  • Me prévenir : entre 1 et 7 jours
  • Adresse SMTP : le serveur SMTP de Outlook ou Gmail (smtp-mail.outlook.com ou smtp.gmail.com)
  • Nom d'utilisateur : votre adresse mail
  • Port : 587
  • Mot de passe SMTP : le mot de passe de votre adresse mail
  • De l'adresse courriel (facultatif) : l'adresse qui recevra le mail "test".

Je clique sur "Enregistrer" et sur "Test". Je reçois bien la notification.

Voilà un aperçu de la partie "Statistiques générales" qui vous affichent :

  • Les abonnements actifs
  • Les coûts mensuel
  • Le coût annuel
  • Le coût moyen mensuel de l'abonnement
  • Le coût d'abonnement le plus élevé
  • Le montant restant à payer ce mois-ci