swadhinbiswas

[email protected]
2026-09-14 13:06:31 +0600 committed NaN years ago
3ca98b9
commit 3ca98b9
2 files changed
+27 -0
Showing 2 changed files+27-0
▼.github/workflows/ci.yml
+14-0
95
95
name: web-dashboard
96
96
path: web/dist
97
97
if-no-files-found: error
98
+
99
+ docker:
100
+ name: Docker images
101
+ runs-on: ubuntu-latest
102
+ timeout-minutes: 25
103
+ steps:
104
+ - uses: actions/checkout@v4
105
+
106
+ - name: Build collector image
107
+ run: docker build -f docker/Dockerfile.collector -t eu-air-traffic-collector:ci .
108
+
109
+ - name: Build lake image
110
+ run: docker build -f docker/lake-job.Dockerfile -t eu-air-traffic-lake:ci .
111
+
98
112
▼README.md
+13-0
145
145
- **Anywhere else:** `docker/lake-job.Dockerfile` + `scripts/run_lake.sh` runs one
146
146
full cycle in a container (set `HF_SYNC=0` when the dataset is mounted).
147
147
148
+### Deploy with Docker (one command)
149
+
150
+```bash
151
+cp .env.example .env # fill in your credentials
152
+./deploy.sh # collector + lake; add --tls to put Caddy in front
153
+```
154
+
155
+`docker-compose.yml` wires the collector (live API on `:8090`, healthchecked),
156
+the lake cycle on a timer — sharing the same `.env` and DuckDB state — and an
157
+optional Caddy TLS front via `SITE_ADDRESS`. `./deploy.sh --logs`, `--ps` and
158
+`--down` manage the stack. No local Kafka is needed: point `.env` at Aiven (or
159
+any broker) and the containers connect out.
160
+
148
161
## Reliability engineering — what broke and what it taught
149
162
150
163
This platform runs unattended on free infrastructure. The interesting engineering
151
164