LUCENEX / Documentation
Self-hosting & installation
Docker services, persistent SQLite, first startup and deployment acceptance.
Reviewed 9 November 2026 · WMS 8020cd0Deployment prerequisites
Use a machine that can run Linux Docker containers and Docker Compose, with sufficient disk space for image builds and backups. Required capacity depends on concurrent users, dataset size and workflows; no production sizing benchmark has been established. Place the installation behind HTTPS and an appropriate reverse proxy.
Start the current Compose stack
git clone https://github.com/LuceneX/ModernWMS.git
cd ModernWMS
git checkout 8020cd0
docker compose up --build -d
docker compose logs -f backendService and storage configuration
- Backend: docker/backend.Dockerfile, ASP.NET API on port 5555. Frontend: docker/frontend.Dockerfile, currently Vite on port 5173.
- The current frontend container runs a development server. A production static-server replacement has been discussed but is not included in the documented revision. It must not be presented as a hardened production deployment.
- Compose mounts the named modernwms-data volume at /data. The backend defaults to /data/wms.db; WMS_DB_PATH selects a different path. No additional managed database is required for the SQLite baseline.
First-start initialization
Revision 8020cd0 adds an SQL baseline seed, integrity checks and additive schema reconciliation. Fresh databases and empty partial initialization can recover. Populated incompatible or corrupt databases stop instead of being silently replaced. The script configures the API to use the same initialized path.
Existing host-file databases are not automatically imported into the new named volume. Back up and migrate explicitly. Use SQLite-aware backup procedures; do not copy an active database while ignoring its WAL.
Acceptance before real warehouse data
- Verify signed-out API requests return 401, then test sign-in and role restrictions. Replace demo credentials before exposure.
- Run a receiving → putaway → move/count → dispatch fixture and verify quantities.
- Restart containers and verify persistence. Restore a backup onto a separate test instance.
- Upgrade the unsupported .NET 7 runtime and review legacy frontend dependencies before a production rollout.