docker: command not found / cannot connect to the Docker daemon | Docker Desktop is not running | Ask to start Docker; do not try to bring Postgres up another way |
The first docker compose up hangs for minutes | The postgres:16 image is being pulled | This is normal, wait it out; next time docker pull postgres:16 in advance |
connection refused during migrations | The DB is not accepting connections yet | Wait for pg_isready, retry |
port is already allocated (8090/9090/8100) | Taken by another project or a leftover container | docker ps → stop the conflicting container. 8090 is a frequent collision between DartWay projects |
| Images do not load, the link returns 404 | The bucket was not created or is closed for reading | Check the minio_init logs (docker compose logs minio_init): they must say "Bucket created" and "set to download". A public link of the form http://localhost:8100/uploads/<file> must open in a browser |
| Upload fails with "Cloud storage is not configured" | No dwCloudStorage* keys for this run mode | Add them to config/passwords.yaml (in development they point at the minio service) |
Address already in use on 8080 | The server is already running in another terminal | Do not start a second one; check curl localhost:8080 |
| A migration does not apply, complaining about a schema mismatch | The DB survived a model change | For local development the simplest fix is to recreate it: docker compose down -v (deletes the data) → up -d → migrations → seed. Ask for confirmation before destroying the volume |
| The client does not see a new model field | Generation was not run after editing .spy.yaml | serverpod generate, then serverpod create-migration, then apply the migrations |
| Strange generation/protocol errors | The serverpod_cli version drifted from the serverpod pin in the project's pubspec | Compare dart pub global list with the version in __SERVER_PKG__/pubspec.yaml; the generator must match the runtime |
Default Objects Repository doesn't contain a model of type X | The new model has no registered default instance | Add dw.repo.setupRepository(defaultModel: X(...)) in __FLUTTER_PKG__/lib/core/default_models.dart |
The API answers notConfigured | The model has no DwCrudConfig, or it is not registered | Create the config and add it to crudConfigurations (skill dartway-crud-config) |