The stack in ~/signup keeps its settings in .env. Postgres started, but web exited. Find out why:
sh
docker compose ps -a
docker compose logs webCompare .env with what Compose resolved. Look for DB_PASSWORD under web:
sh
cat .env
docker compose config.env filled ${POSTGRES_PASSWORD} for db, but nothing passes a password to web. Open the file and add an environment: block to web that sets DB_PASSWORD from ${POSTGRES_PASSWORD}. Do not paste the password itself.
Apply it and check what the container received:
sh
docker compose up -d
docker compose exec web envNext, the app must move to host port 8080. compose.yaml already reads the port from ${WEB_PORT}, so change only .env:
sh
docker compose config
docker compose up -d
curl -s localhost:8080Run docker compose exec web env once more and look for WEB_PORT.