mirror of
https://github.com/bellingcat/whisperbox-transcribe.git
synced 2026-06-13 05:58:35 +03:00
feat: postgres => sqlite
This commit is contained in:
@@ -1,91 +0,0 @@
|
||||
version: "3.8"
|
||||
|
||||
x-app-variables: &app-variables
|
||||
API_SECRET: a_very_secret_token
|
||||
DATABASE_URI: postgresql://postgres:postgres@postgres/whisperbox
|
||||
ENVIRONMENT: development
|
||||
BROKER_URL: redis://redis:6379/0
|
||||
|
||||
services:
|
||||
postgres:
|
||||
container_name: whisperbox_postgres
|
||||
image: postgres:15-alpine
|
||||
environment:
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: postgres
|
||||
POSTGRES_DB: whisperbox
|
||||
ports:
|
||||
- "5432:5432"
|
||||
networks:
|
||||
- app
|
||||
volumes:
|
||||
- postgres-data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
redis:
|
||||
container_name: whisperbox_redis
|
||||
image: redis:7-alpine
|
||||
ports:
|
||||
- 6379:6379
|
||||
networks:
|
||||
- app
|
||||
|
||||
app:
|
||||
container_name: whisperbox_app
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: docker/app.dev.Dockerfile
|
||||
environment: *app-variables
|
||||
ports:
|
||||
- "8000:80"
|
||||
networks:
|
||||
- app
|
||||
volumes:
|
||||
- ../:/code
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_started
|
||||
|
||||
worker:
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: docker/worker.dev.Dockerfile
|
||||
container_name: whisperbox_worker
|
||||
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
|
||||
image: mher/flower
|
||||
command: celery --broker redis://redis:6379/0 flower --port=5555
|
||||
ports:
|
||||
- 5555:5555
|
||||
depends_on:
|
||||
- redis
|
||||
networks:
|
||||
- app
|
||||
|
||||
volumes:
|
||||
postgres-data:
|
||||
|
||||
networks:
|
||||
app:
|
||||
driver: bridge
|
||||
71
docker/dev/docker-compose.yml
Normal file
71
docker/dev/docker-compose.yml
Normal 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
|
||||
@@ -5,8 +5,9 @@ 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
|
||||
|
||||
ENTRYPOINT ["bash", "./app/web/start.sh"]
|
||||
CMD alembic upgrade head && uvicorn app.web.main:app --reload --host ${HOST:-0.0.0.0} --port ${PORT:-80} --log-level info
|
||||
@@ -1,14 +1,17 @@
|
||||
FROM python:3.10 AS compile-image
|
||||
|
||||
ARG WHISPER_MODEL
|
||||
|
||||
WORKDIR /code
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg
|
||||
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 small small.en
|
||||
RUN chmod +x download_model.py && python download_model.py ${WHISPER_MODEL}
|
||||
|
||||
ENV PYTHONIOENCODING=utf-8
|
||||
ENV PYTHONDONTWRITEBYTECODE 1
|
||||
Reference in New Issue
Block a user