You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> **ARM Users**: See [ARM Architecture Notes](#arm-architecture-apple-silicon-raspberry-pi) below.
30
+
28
31
## ⚠️ Important: Do Not Mount the Migrations Directory
29
32
30
33
Avoid adding a `./migrations:/app/migrations` volume. The production image already includes the migration files it needs.
@@ -48,6 +51,45 @@ volumes:
48
51
49
52
If your automation creates a migrations directory, remove it from both directory creation and volume mounts.
50
53
54
+
## ARM Architecture (Apple Silicon, Raspberry Pi)
55
+
56
+
ARM-based systems (Apple Silicon Macs, Raspberry Pi, etc.) have known issues with MariaDB bind mounts due to virtiofs bugs. The start scripts automatically detect ARM and apply the fix.
57
+
58
+
### Using Start Scripts (Recommended)
59
+
60
+
The `./start.sh` script automatically detects ARM architecture and applies the correct configuration:
61
+
```bash
62
+
./start.sh
63
+
```
64
+
65
+
### Using Docker Compose Directly
66
+
67
+
If you prefer running `docker compose` commands directly on ARM systems, use the override file:
68
+
```bash
69
+
docker compose -f docker-compose.yml -f docker-compose.arm.yml up -d
70
+
```
71
+
72
+
This uses a named Docker volume instead of a bind mount for MariaDB data, avoiding the virtiofs issues.
Copy file name to clipboardExpand all lines: docs/TROUBLESHOOTING.md
+27-10Lines changed: 27 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -347,31 +347,48 @@ ERROR 1396 (HY000) at line 21: Operation CREATE USER failed for 'root'@'%'
347
347
348
348
Tip: run with a named volume (see Apple Silicon/Synology sections) so filesystem corruption is less likely to recur.
349
349
350
-
### Apple Silicon: `Incorrect information in file` errors
350
+
### Apple Silicon / ARM: `Incorrect information in file` errors
351
351
352
-
**Problem**: On Apple Silicon (M1/M2/M3/M4) running Docker Desktop, MariaDB logs errors like:
352
+
**Problem**: On Apple Silicon (M1/M2/M3/M4) or other ARM systems running Docker Desktop, MariaDB logs errors like:
353
353
```
354
354
ERROR 1033 (HY000): Incorrect information in file: './youtarr/videos.frm'
355
355
```
356
356
This happens whenever MariaDB touches tables stored on a bind-mounted host directory (our default `./database:/var/lib/mysql`). Docker Desktop shares bind mounts over `virtiofs`, and MariaDB 10.3 cannot reliably reopen InnoDB tables on that filesystem ([MariaDB issue #447](https://github.com/MariaDB/mariadb-docker/issues/447), [#481](https://github.com/MariaDB/mariadb-docker/issues/481)). Linux and WSL users are unaffected.
357
357
358
-
**Solution** (switch to a named Docker volume):
358
+
**Solution A: Use the start scripts (Recommended)**
359
+
360
+
The `./start.sh` and `./start-dev.sh` scripts automatically detect ARM architecture and apply the fix:
361
+
```bash
362
+
./start.sh
363
+
```
364
+
No manual configuration needed—the scripts use `docker-compose.arm.yml` as an override on ARM systems.
365
+
366
+
**Solution B: Manual docker compose (if not using start scripts)**
367
+
368
+
If you run `docker compose up` directly, use the ARM override file:
369
+
```bash
370
+
docker compose -f docker-compose.yml -f docker-compose.arm.yml up -d
371
+
```
372
+
373
+
Or manually edit `docker-compose.yml` to use a named volume:
374
+
359
375
**NOTE:** Existing data will *not* be migrated!
360
-
1. Stop the stack and remove the old volume `docker compose down -v`.
376
+
1. Stop the stack: `docker compose down`
361
377
2. Edit `docker-compose.yml`:
362
378
```yaml
363
379
services:
364
380
youtarr-db:
365
-
# Comment out the default bind mount line:
366
-
# - ./database:/var/lib/mysql
367
-
# And enable the named volume instead (charset tuning is built into the container command):
368
-
- youtarr-db-data:/var/lib/mysql
381
+
volumes:
382
+
# Comment out the bind mount:
383
+
# - ./database:/var/lib/mysql
384
+
# Use named volume instead:
385
+
- youtarr-db-data:/var/lib/mysql
369
386
370
-
#Ensure that the volume is defined
387
+
#Add at the bottom of the file:
371
388
volumes:
372
389
youtarr-db-data:
373
390
```
374
-
4. Start Youtarr again (`./start.sh` or `docker compose up -d`). MariaDB will initialize inside `youtarr-db-data`, avoiding virtiofs entirely.
391
+
3. Start Youtarr: `docker compose up -d`
375
392
376
393
**Alternatives**:
377
394
- Point Youtarr at an external MariaDB/MySQL instance via `./start-with-external-db.sh`.
0 commit comments