516f5d3b7d
build / build (push) Failing after 14s
- docker-compose.yml + tooling-container/src/server.py: serve
preprocess/OCR/extract over an async job API (POST /jobs, GET
/jobs/{id}) instead of manual host-script runs per receipt
- android/: Kotlin/Compose app - capture a receipt photo, poll job
progress, review/edit extracted fields, save locally (Room), export
to CSV/ODS
- .gitea/workflows/build.yml: build the debug APK and publish it to
dl.ladkau.de on push
- build-image.sh: also pull ollama/ollama so all pipeline images are
ready after one script
- add project logo (also used for the app's launcher icon/splash)
36 lines
1.1 KiB
YAML
36 lines
1.1 KiB
YAML
# Runs the pipeline as a long-lived HTTP API for the Android app, on top
|
|
# of the same tooling-container image the numbered host scripts use.
|
|
# `docker compose up` alone is enough: the api service waits for Ollama
|
|
# and pulls the model itself (see tooling-container/src/server.py).
|
|
#
|
|
# The numbered host scripts (0_run_ollama.sh, 1/2/3_*.sh) and
|
|
# test_batch.sh are untouched and remain the way to inspect/test the
|
|
# pipeline stage by stage; this is the additive "serve it for real" path.
|
|
#
|
|
# Usage: docker compose up -d
|
|
# API reachable at http://<this-host>:8080 from any device on the LAN.
|
|
services:
|
|
ollama:
|
|
image: ollama/ollama
|
|
volumes:
|
|
- fuelish-ollama-data:/root/.ollama
|
|
restart: unless-stopped
|
|
|
|
api:
|
|
build:
|
|
context: ./tooling-container
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- ollama
|
|
environment:
|
|
OLLAMA_URL: http://ollama:11434/api/chat
|
|
OLLAMA_BASE_URL: http://ollama:11434
|
|
OLLAMA_MODEL: qwen2.5:3b
|
|
command: ["uvicorn", "server:app", "--app-dir", "/opt/app/src", "--host", "0.0.0.0", "--port", "8000"]
|
|
ports:
|
|
- "8080:8000"
|
|
|
|
volumes:
|
|
fuelish-ollama-data:
|
|
name: fuelish-ollama-data
|