Context
Primata is trying to set up Forus without Docker on a Debian VPS, using PHP 8.4, MySQL 8.0 and Traefik for routing.
The Docker-based setup caused the server to freeze, so he switched to a native stack. The local Docker setup works, but on the VPS the installation fails while running php artisan migrate and the seeders.
Troubleshooting has so far taken place through Discord DMs. Both I and @RobinMeles have tried to help. To avoid duplicating information and to make the findings useful to others, this issue will be used to document the environment, errors, attempted solutions and remaining questions.
Primata his environment
- OS: Debian-based VPS
- PHP: 8.4 (official Docker image uses PHP 8.3;
composer.json requires ^8.3)
- DB: MySQL 8.0 (note: Debian often ships MariaDB)
- Install path: native / custom containers, not the documented Docker Compose stack
- Docs followed: installation / local-setup + seeding guides https://github.com/teamforus/Forus/blob/master/docs/local-setup.md
Errors
Screenshot 1.

Screenshot 2.

Suspected gaps
- Docs are written for local Docker/native laptop setup, not VPS + Traefik.
- Native .env pitfalls are under-documented (e.g. DB_HOST=mysql in .env.example is Docker-oriented).
- Possible code/data issues:
- missing notification template JSON entry
- media.meta column should likely be nullable() and/or inserts should default to {}
Context
Primata is trying to set up Forus without Docker on a Debian VPS, using PHP 8.4, MySQL 8.0 and Traefik for routing.
The Docker-based setup caused the server to freeze, so he switched to a native stack. The local Docker setup works, but on the VPS the installation fails while running php artisan migrate and the seeders.
Troubleshooting has so far taken place through Discord DMs. Both I and @RobinMeles have tried to help. To avoid duplicating information and to make the findings useful to others, this issue will be used to document the environment, errors, attempted solutions and remaining questions.
Primata his environment
composer.jsonrequires^8.3)Errors
Screenshot 1.

Screenshot 2.

Suspected gaps