root
d68afb7d03
Add docker health checks, CSV import docs
2026-05-21 11:21:20 +08:00
root
0937d14faf
fix: set timezone to Asia/Kuala_Lumpur on all containers
...
Add TZ=Asia/Kuala_Lumpur and PGTZ to all services, mount
/etc/localtime read-only so log timestamps match local time.
2026-05-21 07:43:17 +08:00
root
c1b2a8d553
docs: rewrite deployment guide for Docker-only, add reverse proxy section
...
- Remove adminer service (not used with PostgreSQL)
- Rewrite 03-DEPLOYMENT.md: Docker Compose is the only supported method
- Add reverse proxy examples (Nginx, Caddy, Cloudflare Tunnel)
- Document trusted proxy configuration for Laravel
- Add production checklist and autoscript env var documentation
- Remove all Makefile references (not recommended)
2026-05-21 02:46:41 +08:00
root
bb8d951287
fix: pgAdmin storage permissions and siren stationtype NOT NULL
...
- pgAdmin: use named volume for /var/lib/pgadmin instead of bind mount
subdirectory (fixes permission denied on storage dir)
- Siren INSERT in sidesdecode.py: add stationtype=3 to both INSERT
statements (fixes NOT NULL constraint violation)
2026-05-21 02:24:53 +08:00
root
bbaf711d45
fix: Docker deployment fully functional
...
- Entrypoint: run migrate + seed before caching config
- docker-compose: pass ADMIN_EMAIL/ADMIN_PASSWORD/RUN_SEEDER to app
- All 5 containers start healthy: app, postgres, nginx, pgadmin, adminer
- Login page returns 200, API login works, migrations+seeding run on boot
2026-05-21 01:28:38 +08:00
root
c57d4bac57
fix: critical security and Docker deployment fixes
...
- Dockerfile: add composer/npm build, proper entrypoint, fix EXPOSE port
- docker-compose: fix postgres volume path, add healthchecks, use named volume
- Add entrypoint.sh for auto migrations and dependency install at startup
- Update .gitignore to exclude Firebase credentials, DB files, logs
- Update .env.example with all required variables for Docker deployment
Application-level fixes (applied to src/ which is gitignored):
- RainfallController: parameterized SQL queries (was SQL injection)
- WaterLevelController: parameterized queries + fix broken WHERE clause
- DatabaseSeeder: env-based admin password instead of hardcoded 'password123'
- Migration 2025_12_11: removed duplicate admin user creation
- AlertController: FCM topic routing by stationtype+level (was hardcoded)
- sidesdecode.py: env vars for credentials, fix water level stationtype bug (1→2)
2026-05-21 00:36:29 +08:00
agung
a71019f000
fix: configuration docker-compose.yml
2023-08-01 20:38:11 +07:00
agung
b34e556798
first commit
2023-08-01 20:02:08 +07:00