# 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.