Architecture
There are just two containers:
Only two fixed, non-default ports are exposed:
User path: one-click deployment
For users who just want to get the blog running, install Docker and run:blogloom-app and blogloom-mysql, and initializes the database.
After deployment:
Upgrade later:
Developer path: build and release
One-click scripts live underdocker/ in the repository:
Incremental database upgrades
- The app entrypoint runs in order: wait for MySQL → run incremental SQL → start Java.
- Incremental SQL is compared against records in
data/sql-local/; only unrecorded scripts run, making it idempotent with no data loss. - The first start performs full initialization; restarts and rebuilds only check for increments.
Data persistence
data/mysql, conf/logs, conf/upload and data/sql-local are mounted to the host, so upgrades and restarts do not lose data. Back up data/mysql and conf/upload in particular.