Warning
🚧 This Project is Under Active Development. 🚧
git clone https://github.com/EdwinZhanCN/Lumilio-Photos.git
cd Lumilio-Photos
docker compose up -dAccess:
- Web UI: http://localhost:6657
- API: http://localhost:8080
- API Docs: http://localhost:8080/swagger/index.html
Security key behavior:
LUMILIO_SECRET_KEYis treated as a key file path (not raw key text).- If the file does not exist, server auto-generates and persists it.
- The same key file is used to derive JWT signing key and settings encryption key.
Prerequisites: Go 1.24+, Node.js 23+, Docker, Make
# Clone and setup
git clone https://github.com/EdwinZhanCN/Lumilio-Photos.git
cd Lumilio-Photos
make setup
# Start everything (database + server + web)
make devAccess:
- Web UI: http://localhost:6657
- API: http://localhost:8080/api/v1/health
- API Docs: http://localhost:8080/swagger/index.html
Note: Database runs on port 5433
Development database uses the standalone image defined in server/db.Dockerfile; it is not started via docker compose.
LUMILIO_SECRET_KEY defaults to ./data/storage/.secrets/lumilio_secret_key in local dev templates.
make dev # Start database, server, and web (recommended)
make server-dev # Start API server only
make web-dev # Start web dev server only
make server-test # Run Go tests
make db-logs # View database logs
make db-shell # PostgreSQL shell
make db-reset # Reset database (⚠️ deletes all data)
make dto # Generate DTO schemas for both backend and frontend
make clean # Clean generated filesIf make dev doesn't work for you:
# Terminal 1: Database
make db-wait
# Terminal 2: Server
cd server
SERVER_ENV=development go run ./cmd
# Terminal 3: Web
cd web
npm run dev -- --host --port 6657