82 lines
No EOL
3.2 KiB
Markdown
82 lines
No EOL
3.2 KiB
Markdown
# 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. |