silverbullet-notes/docs/02-databases.md
2026-01-25 00:20:24 +00:00

3.2 KiB

Database Documentation

Last updated: 2026-01-05

This document provides an overview of the databases used by the various services in this infrastructure.

MariaDB/MySQL (on 192.168.1.251)

A central MariaDB server is running on 192.168.1.251, which serves as the primary database for several applications.

  • Type: MariaDB
  • Host: 192.168.1.251
  • Port: 3306

Databases

  • node: Used by the store-matching application. Database on 192.168.1.251.
  • books_v2: Used by the books_webv2 application on 192.168.1.251.

Replication

⚠️ REPLICATION DISABLED: As of January 2026, the node database replication from 192.168.1.251 to 192.168.12.3 has been completely disabled. All applications must connect directly to the primary server (192.168.1.251).

Note: The secondary server (192.168.12.3) hosts a node-staging database that is used for transaction staging by a financial bot. This database is independent and does NOT replicate from the primary server.

MySQL Databases (Docker Containers)

Some services use MySQL databases that run in their own Docker containers.

Mixarr MySQL

  • Service: mixarr
  • Container Name: mixarr_mysql
  • Database Type: MySQL 8.0
  • Host: mysql (on the mixarr_internal Docker network)
  • Port: 3306 (internal only)
  • Data Volume: mixarr_mysql_data (Docker volume)
  • Character Set: utf8mb4_unicode_ci
  • Notes: Used for storing music discovery data, LLM subscriptions, and Lidarr integration settings

PostgreSQL Databases (Docker Containers)

Several services use PostgreSQL databases that run in their own Docker containers.

Immich PostgreSQL

  • Service: immich
  • Container Name: immich_postgres
  • Database Type: PostgreSQL (with pgvecto.rs for vector support)
  • Host: immich_postgres (on the immich Docker network)
  • Data Volume: ${DB_DATA_LOCATION} (defined in immich/.env)

Mealie PostgreSQL

  • Service: mealie
  • Container Name: mealie_postgres
  • Database Type: PostgreSQL
  • Host: mealie_postgres (on the mealie Docker network)
  • Data Volume: /home/maddox/docker/appdata/mealie/postgres

SQLite Databases

Several services use SQLite for their databases. The database is typically a single file stored in the service's configuration volume.

  • audiobookshelf: absdatabase.sqlite in the config volume.
  • bazarr: config/db/bazarr.db
  • lidarr: lidarr.db
  • prowlarr: prowlarr.db
  • radarr: radarr.db
  • readarr: readarr.db
  • sonarr: sonarr.db
  • jellyseerr: db/jellyseerr.db
  • watchstate: The database file is located in the config volume.

Other Databases

  • karakeep: Uses a db.db file, which is likely a SQLite database. It also uses meilisearch for search.
  • archiveforge: Uses archiveforge.db in its data volume.

Backup Strategy

Databases are backed up as part of the regular ArchiveForge docker backups, which archives the entire service directory. For containerized databases, this is a file-level backup. For the external MariaDB server, a separate backup strategy should be in place.