Summary
When deploying Tella Web on a VPS with an older or generic virtual CPU, the db container (MySQL 8) crashes immediately at startup with:
Fatal glibc error: CPU does not support x86-64-v2
This prevents the API from connecting to the database and blocks the entire deployment.
Environment
- OS: Debian 12 (any recent distro is affected)
- Docker: 27.x
- Tella Web version: 1.4.2 (also confirmed with previous versions)
- Host CPU:
QEMU Virtual CPU version 2.5+ (common on budget VPS providers using older KVM hosts)
Root cause
Recent MySQL 8 images are built on Oracle Linux 9 with glibc 2.34+, which requires CPU instructions from the x86-64-v2 microarchitecture level (introduced ~2009 with Nehalem/Bulldozer). Many virtualized/cloud CPUs emulate only the base x86-64-v1 level, so MySQL crashes before it can even initialize.
You can check your CPU level with:
/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 --help | grep -A2 "x86-64"
Workaround
Replacing MySQL with MariaDB works as a drop-in. Tella's TypeORM driver speaks the MySQL protocol, which MariaDB implements natively — no code change required.
In docker-compose.yml, replace the db service with:
db:
image: mariadb:10.11
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MARIADB_DATABASE: ${MYSQL_DATABASE}
MARIADB_USER: ${MYSQL_USER}
MARIADB_PASSWORD: ${MYSQL_PASSWORD}
volumes:
- db-data:/var/lib/mysql
networks:
- net
Important: if you've already attempted a deploy with MySQL 8, wipe the db-data volume before switching (incomplete init files are not compatible):
docker compose down
docker volume rm _db-data
docker compose up -d
Then run the migrations as usual:
docker compose exec api npm run typeorm migration:run
Everything else (API, admin, file uploads, login flow) works identically. Confirmed on Tella Web 1.4.2 with MariaDB 10.11.
BTW great job <3 from Nothing2hide.
Summary
When deploying Tella Web on a VPS with an older or generic virtual CPU, the
dbcontainer (MySQL 8) crashes immediately at startup with:This prevents the API from connecting to the database and blocks the entire deployment.
Environment
QEMU Virtual CPU version 2.5+(common on budget VPS providers using older KVM hosts)Root cause
Recent MySQL 8 images are built on Oracle Linux 9 with glibc 2.34+, which requires CPU instructions from the x86-64-v2 microarchitecture level (introduced ~2009 with Nehalem/Bulldozer). Many virtualized/cloud CPUs emulate only the base x86-64-v1 level, so MySQL crashes before it can even initialize.
You can check your CPU level with:
Workaround
Replacing MySQL with MariaDB works as a drop-in. Tella's TypeORM driver speaks the MySQL protocol, which MariaDB implements natively — no code change required.
In
docker-compose.yml, replace thedbservice with:Important: if you've already attempted a deploy with MySQL 8, wipe the
db-datavolume before switching (incomplete init files are not compatible):Then run the migrations as usual:
docker compose exec api npm run typeorm migration:runEverything else (API, admin, file uploads, login flow) works identically. Confirmed on Tella Web 1.4.2 with MariaDB 10.11.
BTW great job <3 from Nothing2hide.