Add compose-based backend runtime on python 3.14
All checks were successful
CI / Backend (push) Successful in 16s
CI / CLI (push) Successful in 16s

This commit is contained in:
Space-Banane
2026-05-24 14:35:54 +02:00
parent 35fb17f888
commit a2bd3ea822
2 changed files with 33 additions and 1 deletions

View File

@@ -9,8 +9,17 @@ Two separate Python packages live here:
The repo also includes a Gitea Actions workflow at `.gitea/workflows/ci.yml` that tests and builds both packages on pushes to `main` and pull requests. The repo also includes a Gitea Actions workflow at `.gitea/workflows/ci.yml` that tests and builds both packages on pushes to `main` and pull requests.
## Backend setup ## Docker backend (no image build)
Run the backend directly from an official Python image without creating a Dockerfile:
```bash
docker compose up backend
```
This uses `python:3.14-slim`, installs `ffmpeg` and `openai-whisper` at container startup, mounts this repo into the container, and serves the API on `http://localhost:8000`.
## Backend setup
```bash ```bash
cd backend cd backend
pip install -e . pip install -e .
@@ -50,3 +59,4 @@ whisper-remote ./audio.mp3 --model base --language en --output-format txt
- backend-side cleanup of uploaded and generated files after each request - backend-side cleanup of uploaded and generated files after each request
By default the CLI prints the returned transcript to stdout. Use `--to-file` to save it locally. By default the CLI prints the returned transcript to stdout. Use `--to-file` to save it locally.

22
docker-compose.yml Normal file
View File

@@ -0,0 +1,22 @@
services:
backend:
image: python:3.14-slim
working_dir: /app/backend
ports:
- "8000:8000"
volumes:
- ./:/app
- whisper_cache:/root/.cache
environment:
- PYTHONUNBUFFERED=1
command: >-
sh -lc "
apt-get update
&& apt-get install -y --no-install-recommends ffmpeg
&& rm -rf /var/lib/apt/lists/*
&& pip install --no-cache-dir -e . openai-whisper
&& uvicorn server:app --app-dir src --host 0.0.0.0 --port 8000
"
volumes:
whisper_cache: