feat: postgres => sqlite

This commit is contained in:
Felix Spöttel
2023-02-08 14:09:16 +01:00
parent e995b1f2ff
commit 18921d34c6
16 changed files with 148 additions and 159 deletions

View File

@@ -0,0 +1,71 @@
version: "3.8"
x-app-variables: &app-variables
API_SECRET: a_very_secret_token
DATABASE_URI: sqlite:////whisperbox.sqlite
ENVIRONMENT: development
BROKER_URL: redis://redis:6379/0
WHISPER_MODEL: small
services:
redis:
container_name: whisperbox_redis_dev
image: redis:7-alpine
ports:
- 6379:6379
networks:
- app
resources:
limits:
memory: 128M
web:
container_name: whisperbox_web_dev
build:
context: ../../
dockerfile: docker/dev/web.Dockerfile
environment: *app-variables
ports:
- "8000:80"
networks:
- app
volumes:
- ../../:/code
depends_on:
redis:
condition: service_started
worker:
build:
context: ../../
dockerfile: docker/dev/worker.Dockerfile
args:
WHISPER_MODEL: small
container_name: whisperbox_worker_dev
volumes:
- ../../:/code
environment: *app-variables
depends_on:
- redis
networks:
- app
healthcheck:
test: ["CMD-SHELL", "celery inspect ping -A app.worker.main.transcribe -d celery@$$HOSTNAME"]
interval: 5s
timeout: 5s
retries: 5
flower:
container_name: whisperbox_flower_dev
image: mher/flower
command: celery --broker redis://redis:6379/0 flower --port=5555
ports:
- 5555:5555
depends_on:
- redis
networks:
- app
networks:
app:
driver: bridge

13
docker/dev/web.Dockerfile Normal file
View File

@@ -0,0 +1,13 @@
FROM python:3.10 AS compile-image
WORKDIR /code
COPY pyproject.toml .
RUN pip install --no-cache-dir --user .[web]
ENV PYTHONIOENCODING=utf-8
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
ENV PATH=/root/.local/bin:$PATH
CMD alembic upgrade head && uvicorn app.web.main:app --reload --host ${HOST:-0.0.0.0} --port ${PORT:-80} --log-level info

View File

@@ -0,0 +1,21 @@
FROM python:3.10 AS compile-image
ARG WHISPER_MODEL
WORKDIR /code
COPY --from=mwader/static-ffmpeg:5.1.2 /ffmpeg /usr/local/bin/
COPY --from=mwader/static-ffmpeg:5.1.2 /ffprobe /usr/local/bin/
COPY pyproject.toml .
RUN pip install --no-cache-dir --user .[worker,worker_dev]
COPY scripts/download_model.py .
RUN chmod +x download_model.py && python download_model.py ${WHISPER_MODEL}
ENV PYTHONIOENCODING=utf-8
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
ENV PATH=/root/.local/bin:$PATH
ENTRYPOINT ["watchmedo", "auto-restart", "-d" , "app/worker", "-p", "*.py", "--recursive", "celery", "--", "--app=app.worker.main.celery", "worker", "--loglevel=info", "--concurrency=1"]