diff options
| author | Adam Malczewski <[email protected]> | 2026-05-11 19:18:34 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-05-11 19:18:34 +0900 |
| commit | c23ee09f6d24832aa472298db91df3ce6e248a76 (patch) | |
| tree | 3576678394cf5eb053dc649abdf1dab559d69487 /Dockerfile.dev | |
| download | youtube-transcriber-c23ee09f6d24832aa472298db91df3ce6e248a76.tar.gz youtube-transcriber-c23ee09f6d24832aa472298db91df3ce6e248a76.zip | |
Initial commit: YouTube transcriber API with queue-based worker
Diffstat (limited to 'Dockerfile.dev')
| -rw-r--r-- | Dockerfile.dev | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 0000000..1591f41 --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,26 @@ +FROM python:3.12-alpine3.21 + +RUN apk add --no-cache bash wget + +WORKDIR /app + +RUN addgroup -g 1001 -S appgroup && adduser -u 1001 -S appuser -G appgroup + +RUN chown -R appuser:appgroup /app + +RUN mkdir -p /app/data && chown appuser:appgroup /app/data + +COPY --chown=appuser:appgroup pyproject.toml ./ + +COPY --chown=appuser:appgroup docker/entrypoint.dev.sh /usr/local/bin/entrypoint +RUN chmod +x /usr/local/bin/entrypoint + +EXPOSE 41090 + +HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 \ + CMD wget -q -O /dev/null http://localhost:41090/health || exit 1 + +ENV PATH="/home/appuser/.local/bin:$PATH" + +ENTRYPOINT ["entrypoint"] +CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "41090", "--reload"] |
