feature: Add docker support
Some checks failed
CI / Backend (Rust) (push) Failing after 9s
CI / Frontend (Vue) (push) Successful in 10m0s

This commit is contained in:
Keith Solomon
2026-02-22 22:38:55 -06:00
parent 10ead43260
commit d98181bed9
5 changed files with 144 additions and 5 deletions

View File

@@ -68,6 +68,31 @@ npm run dev
Open http://localhost:5173 in your browser.
### Option 3: Run with Docker (Centralized Server)
This runs Ironpad as a single container that serves both API and frontend on port `3000`.
```bash
# Build and start in the background
docker compose up -d --build
# View logs
docker compose logs -f
```
Then open:
- `http://localhost:3000` from the same machine, or
- `http://<your-server-ip>:3000` from another device on your network.
Data persists in `./data` on the host via the compose volume mapping.
To stop:
```bash
docker compose down
```
## Tech Stack
![Tech Stack](docs/graphics/tech-stack.png)
@@ -121,6 +146,9 @@ Read about the method:
|---------|---------|-------------|
| Data directory | `data/` next to executable | Override with `IRONPAD_DATA_DIR` env var |
| Backend port | 3000 (auto-increments to 3010) | Dynamic port selection |
| Backend host | `127.0.0.1` | Override with `IRONPAD_HOST` (use `0.0.0.0` for Docker/server access) |
| Fixed port | disabled | Set `IRONPAD_PORT` to force a specific port |
| Disable tray mode | `false` | Set `IRONPAD_DISABLE_TRAY=1` to run headless in production static mode |
| Auto-commit | Every 60 seconds | Git commits when changes exist |
| Auto-save | 1 second debounce | Frontend saves after typing stops |