Installer Baïkal avec Docker
Baïkal

Installer Baïkal avec Docker

Table des matières

GitHub - ckulka/baikal-docker: Provides a ready-to-go Baikal server, incl. docker-compose.yml & Systemd service file
Provides a ready-to-go Baikal server, incl. docker-compose.yml & Systemd service file - ckulka/baikal-docker
Cette idée à été suggérée par Telmachtar qui est sur le Discord de belginux.

Alors de base, il n'existe pas d'image officielle de Baïkal. Mais le site officiel suggère l'image maintenue de ckulka.

C'est donc sur cette base que nous allons partir.

Mais au fait? Je vous ai dit à quoi ça servait? Non, bien sûr! Mais quelle incompétence!!

Baïkal va vous permettre d'avoir votre propre serveur de synchronisation pour toutes vos notes, vos agendas et vos contacts (CalDAV+CardDAV.), au lieu de synchroniser ça avec Google par exemple. Reprenez le contrôle de vos données!

Baïkal est d'une simplicité incroyable, je vous propose la version avec base de données MySQL pour éviter l'usage de SQLite.


Baïkal est un serveur léger CalDAV+CardDAV. Il offre une interface Web étendue avec une gestion facile des utilisateurs, des carnets d'adresses et des calendriers. Il est rapide et simple à installer et ne nécessite qu’un serveur de base compatible PHP. Les données peuvent être stockées dans une base de données MySQL ou SQLite.

Baïkal permet d'accéder en toute transparence à vos contacts et calendriers depuis n'importe quel appareil. Il est compatible avec iOS, Mac OS X, DAVx5 sur Android, Mozilla Thunderbird et toutes les autres applications compatibles CalDAV et CardDAV. Protégez votre vie privée en hébergeant vous-même vos calendriers et contacts - avec Baïkal.


L'installation

  1. Créez votre docker-compose.yml:
sudo nano docker-compose.yml
  1. Collez ça dedans en prenant soin d'adapter le port et les volumes suivant votre configuration:
version: "2"
services:
  baikal:
    image: ckulka/baikal:nginx
    restart: always
    ports:
      - "8444:80"
    volumes:
      - /srv/appdata/baikal/config:/var/www/baikal/config
      - /srv/appdata/baikal/data:/var/www/baikal/Specific

  db:
    image: mariadb:10
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: RtMEZLxoUR7GnUBDzKFQf4RgrXEJ4
      MYSQL_DATABASE: baikaldb
      MYSQL_USER: goldorak
      MYSQL_PASSWORD: HZ82meTiw6WwjdFu4sP4KqHMnuVEm
    volumes:
      - /srv/appdata/baikal/db:/var/lib/mysql

volumes:
  config:
  data:
  db:

Vous pouvez modifiez les paramètre suivants:

  • MYSQL_ROOT_PASSWORD: RtMEZLxoUR7GnUBDzKFQf4RgrXEJ4

  • MYSQL_ROOT_PASSWORD: baikaldb

  • MYSQL_USER: goldorak

  • MYSQL_PASSWORD: HZ82meTiw6WwjdFu4sP4KqHMnuVEm

  1. On installe l'application:
docker-compose up -d

ou avec docker-compose V2:

docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 8444 par défaut:
http://ip:8444/

Première connexion

Lorsque vous lancez votre application pour la première fois, il faudra renseigner quelques informations. Videz la case Email invite sender address si vous n'en n'avez pas utilité.

  • WebDAV authentification type => Basic
  • Admin password => Choisissez un mot de passe
  • Admin password, confirmation => Confirmez votre mot de passe

Validez en cliquant sur Save changes.


Configurer la base de données

Vous arrivez donc à la page de configuration de la base de données. Cochez Use MySQL.

Remplissez les informations demandées:

  • MySQL host => baikal-db-1

  • MySQL database name => baikaldb

  • MySQL username => goldorak

  • MySQL password: => HZ82meTiw6WwjdFu4sP4KqHMnuVEm

Une fois les informations renseignées, cliquez sur Save changes.

Tout s'est bien passé vu que vous êtes ici. Cliquez simplement sur Start using Baïkal:


Première connexion à Baïkal

Par défaut le Login est admin, il ne vous reste plus qu'à mettre le mot de passe que vous avez choisi. Cliquez sur Authenticate pour terminer.

Vous voila sur votre dashboard!


Créer son utilisateur

Maintenant il va falloir créer son utilisateur. Rendez-vous sur l'onglet Users and resources et cliquez sur + Add user:

Remplissez les informations du compte. Dans mon exemple j'ai pris le mot passe le plus robuste jamais créé: Test123.

Bien, nous avons donc créé notre utilisateur. 😃 Cliquez sur Close.

Parfait! Passons à la suite.

Cliquez sur Calendars:

Maintenant sur Edit:

Nommez, dans Display name, le nom souhaité et dans Description, une description.

N'oubliez pas de cocher Todos et Notes. Cliquez sur Save changes une fois que c'est configuré.

Cliquez sur Back to users list:

Maintenant on va configurer le Address Books, cliquez dessus:

Cliquez sur Edit:

Remplissez les informations et cliquez sur Save changes une fois que c'est terminé:


URL des serveurs de synchronisation

Il y aura trois URL's distinctes pour renseigner le serveur de synchronisation. Une pour pour le serveur général (que vous pouvez obtenir en cliquant sur le ℹ️ comme sur le screenshot) , une pour Calendars et l'autre pour Address Books.
Rendez-vous dans Users and ressources. La plus intéressante est celle générale, qui se trouve ci-dessous.

Pour Calendars, cliquez sur Calendars et pour finir sur le ℹ️.

Comme vous pouvez le constater, il y a un lien cliquable pour l'URL, votre User name et le Password que vous connaissez déjà:

C'est exactement la même procédure pour Address Books.

Encore une fois la générale suffira généralement dans la majorité des cas.


Synchroniser à partir d'Android

Il faudra installer DAVx5, qui est payant sur Google Play et gratuit sur F-Droid:

F-Droid:

DAVx⁵ | F-Droid - Free and Open Source Android App Repository
Synchronisation et client CalDAV / CardDAV

Une fois l'application installée il va vous demander si vous voulez une application de Tâches, Journaux et Notes, jtx Board, libre à vous de choisir de l'installer ou pas. Vous avez également Tasks.org qui est proposé. Faites à votre guise. Si vous ne souhaitez rien de tout cela et utiliser vos applications, cochez Je n'ai pas de besoin de support des tâches.

Cochez toutes les autorisations:

La toute première autorisation a une particularité, elle va probablement vous renvoyer vers Infos sur l'application, il faut simplement décocher Interrompre l’activité de l'application si elle n'est pas utilisée ou dans certains cas, vous rendre dans Autorisations de l'application et décocher Suspendre activité appli si non utilisée.

Ce n'est pas vraiment obligatoire, mais comme ça vous êtes tranquille dans le temps.

Maintenant que c'est fait, poursuivez le défilement avec la flèche en bas à droite:

Cochez l'option Intervalles de synchronisation réguliers. Suivant votre version d'Android, regardez le screenshot suivant...

...il faudra sélectionner Pas de restriction:

Voilà, vous y êtes presque!


Ajouter un compte sur DAVx5

Maintenant on va renseigner le compte du serveur de synchronisation. Cliquez sur +:

Choisissez l'option Connexion avec une URL et un nom d'utilisateur:

Dans URL de base, il faut entrer l'adresse générale du serveur que vous pouvez trouver sur votre instance Baïkal:

Ensuite dans Nom d'utilisateur, indiquez celui crée au point 5. Faites de même pour le Mot de passe.

Une fois que c'est terminé, cliquez sur SE CONNECTER et ensuite, Créer un compte:

Cochez Carnet d'adresses:

Cochez Agendas:

C'est terminé côté DAVx5.


Petite démonstration

J'utilise, personnellement, Etar. Je lance l'application et je vais créer un rendez-vous et je choisis Calendrier zarev, renseigné (lors de la création du compte) avec l'adresse mail zarev@belginux.com:

On peut voir, après avoir rafraîchi la page, qu'il est bien synchronisé:

Même principe avec Thunderbird:

Il reconnaît mon carnet d'adresse:

Parfait!

Maintenant ajoutons un contact pour voir si tout va bien:

Merveilleux 😃

Allez, ajoutons un second contact:

Cela s'est parfaitement synchronisé:

zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.

Vous pourriez aussi aimer