The databaseLa base de données

One file, tentacle.db, created by Tentacle itself: no database to install, no wizard screen. Here is how to back it up and where to keep it.Un fichier, tentacle.db, créé par Tentacle lui-même : aucune base à installer, aucun écran dans l’assistant. Voici comment la sauvegarder et où la garder.

SQLiteSQLiteBackup = a file copySauvegarde = une copie de fichier

Nothing to install, nothing to setRien à installer, rien à régler

Tentacle keeps everything — settings, accounts’ data, ratings, history, statistics, extensions’ data — in one SQLite file, tentacle.db, in its data volume (tentacle-data in the stacks, /app/apps/backend/data inside the container). It is created on the first start. No database server, no password, no setup screen.Tentacle garde tout — réglages, données des comptes, notes, historique, statistiques, données des extensions — dans un fichier SQLite, tentacle.db, de son volume de données (tentacle-data dans les piles, /app/apps/backend/data dans le conteneur). Il est créé au premier démarrage. Pas de serveur de base de données, pas de mot de passe, pas d’écran de réglage.

Administration › Services › Database shows the engine, the file, its size and its state.Administration › Services › Base de données montre le moteur, le fichier, sa taille et son état.

Coming from MariaDB or MySQL?Vous venez de MariaDB ou MySQL ?Change nothing: at the first update to 1.25, Tentacle copies your database by itself. See Migrating to SQLite.Ne changez rien : à la première mise à jour vers la 1.25, Tentacle recopie votre base de lui-même. Voir Migration vers SQLite.

Back upSauvegarder

A backup is a copy of Tentacle’s data volume, made while Tentacle is stopped (a copy of a database being written may be incomplete). From the stack’s folder:Une sauvegarde, c’est une copie du volume de données de Tentacle, faite Tentacle arrêté (la copie d’une base en cours d’écriture peut être incomplète). Depuis le dossier de la pile :

Terminal
docker compose stop tentacle
docker compose cp tentacle:/app/apps/backend/data ./tentacle-backup
docker compose start tentacle
  • This copies the whole data folder: the database, and the extensions and caches next to it. Only the database? Copy /app/apps/backend/data/tentacle.db — and, if present, tentacle.db-wal with it.Cela copie tout le dossier de données : la base, et les extensions et caches à côté. La base seulement ? Copiez /app/apps/backend/data/tentacle.db — et, s’il existe, tentacle.db-wal avec lui.
  • Portainer, a NAS: stop the Tentacle container, back up the tentacle-data volume (or the folder it is bound to) with your usual tool, start it again.Portainer, un NAS : arrêtez le conteneur de Tentacle, sauvegardez le volume tentacle-data (ou le dossier auquel il est lié) avec votre outil habituel, redémarrez-le.
Keep the copy privateGardez la copie pour vousThe database holds the server’s secrets (sign-in keys, the Jellyfin and TMDB keys) and your users’ data.La base contient les secrets du serveur (clés de connexion, clés de Jellyfin et de TMDB) et les données de vos utilisateurs.

RestoreRestaurer

  1. Stop Tentacle: docker compose stop tentacle.Arrêtez Tentacle : docker compose stop tentacle.
  2. Put the saved tentacle.db back in the data folder, and delete the tentacle.db-wal and tentacle.db-shm files that may sit next to it.Remettez le tentacle.db sauvegardé dans le dossier de données, et supprimez les fichiers tentacle.db-wal et tentacle.db-shm qui peuvent se trouver à côté.
  3. Start it: docker compose start tentacle.Démarrez-le : docker compose start tentacle.

Keep it on a local diskGardez-la sur un disque local

SQLite can get corrupted on a network share (NFS, SMB/CIFS, a folder mounted from another machine). Keep Tentacle’s data folder on a local disk of the machine that runs it — your media can stay on a share, only Jellyfin reads them. Tentacle checks it at start-up and warns you in the log and on the Database card, without blocking. More in NAS and network shares.SQLite peut s’abîmer sur un partage réseau (NFS, SMB/CIFS, un dossier monté depuis une autre machine). Gardez le dossier de données de Tentacle sur un disque local de la machine qui le fait tourner — vos médias peuvent rester sur un partage, seul Jellyfin les lit. Tentacle le vérifie au démarrage et vous prévient dans le journal et sur la carte Base de données, sans bloquer. Plus de détails dans NAS et partages réseau.

Look inside (optional)Regarder dedans (facultatif)

The image has no sqlite3 tool; Tentacle reads its own database, read-only, from the container’s console:L’image n’a pas l’outil sqlite3 ; Tentacle lit sa propre base, en lecture seule, depuis la console du conteneur :

Terminal
tentacle db query "SELECT COUNT(*) AS n FROM paired_devices"

Server 1.24 or older: the “Database” screenServeur 1.24 ou plus ancien : l’écran « Base de données »

Before 1.25, the wizard of the tentacle-only stack asked for a MariaDB (or MySQL) database. Prefer installing the latest version, which needs none. If you still install an older one: on your MariaDB server, create an empty database and an account allowed to create tables in it.Avant la 1.25, l’assistant de la pile tentacle-only demandait une base MariaDB (ou MySQL). Préférez installer la dernière version, qui n’en demande plus. Si vous installez encore une ancienne : sur votre serveur MariaDB, créez une base vide et un compte qui peut y créer des tables.

SQL
CREATE DATABASE tentacle CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'tentacle'@'%' IDENTIFIED BY 'a-long-password';
GRANT ALL ON tentacle.* TO 'tentacle'@'%';
FieldChampExampleExempleNoteRemarque
HostHôte192.168.1.20The address of the MariaDB machine. From Docker, localhost is Tentacle itself: use host.docker.internal or the machine’s address.L’adresse de la machine de MariaDB. Depuis Docker, localhost est Tentacle lui-même : utilisez host.docker.internal ou l’adresse de la machine.
PortPort3306The usual MariaDB port.Le port habituel de MariaDB.
Database nameNom de la basetentacleCreated beforehand.Créée au préalable.
Account / PasswordCompte / Mot de passetentacleThe account above.Le compte ci-dessus.

At the update to 1.25, this database is migrated by itself into tentacle.db: see Migrating to SQLite.À la mise à jour vers la 1.25, cette base est migrée d’elle-même dans tentacle.db : voir Migration vers SQLite.

Questions you might haveLes questions qu’on se pose

Can I still use MariaDB or MySQL?Puis-je encore utiliser MariaDB ou MySQL ?

No: since 1.25, Tentacle works on SQLite only. An existing MariaDB is only read once, to migrate it.

Non : depuis la 1.25, Tentacle ne fonctionne que sur SQLite. Une MariaDB existante n’est plus lue qu’une fois, pour la migrer.

Is SQLite enough for my server?SQLite suffit-il pour mon serveur ?

Yes. A home server writes little; SQLite handles it on one file, with no service to keep running.

Oui. Un serveur de maison écrit peu ; SQLite s’en charge dans un seul fichier, sans service à faire tourner.

The wizard asks me for a databaseL’assistant me demande une base de données

Your image is older than 1.25. Update it (see Update the server), or fill in the screen as above.

Votre image est antérieure à la 1.25. Mettez-la à jour (voir Mettre à jour le serveur), ou remplissez l’écran comme plus haut.

Still stuck?Toujours bloqué ?Look at Troubleshooting and the questions & answers, or write to us from the support page — or on Discord.Regardez le Dépannage et les questions-réponses, ou écrivez-nous depuis la page support — ou sur Discord.