mirror of
https://github.com/Sea-Haven-Industries/afterhours-shift-manager.git
synced 2026-09-30 12:33:13 +00:00
* feat(api): collapse Slack, portal, and jobs onto Fargate (PLAT-216) Move HTTP and scheduled work onto one always-on Flask task so after-hours loses Lambda cold start without changing the Cognito or roster contracts. * fix(portal-api): keep CORS headers on unexpected 500s Portal SPA error handling needs Access-Control-Allow-Origin even when DynamoDB or other internals fail, otherwise the browser hides the 500. * fix(api): retarget holidays per account and ship App Home changelog (PLAT-216) * fix(iam): list ECS tasks and fail closed on non-prod Paychex (PLAT-216) * fix(portal-api): serve portal JSON with an explicit JSON content type
25 lines
807 B
Docker
25 lines
807 B
Docker
FROM python:3.12-slim
|
|
|
|
WORKDIR /app
|
|
COPY src/shared/requirements.txt /tmp/shared-requirements.txt
|
|
COPY src/slack-bot/requirements.txt /tmp/slack-bot-requirements.txt
|
|
COPY src/weekly-post/requirements.txt /tmp/weekly-post-requirements.txt
|
|
COPY src/portal-api/requirements.txt /tmp/portal-api-requirements.txt
|
|
COPY requirements-api.txt /tmp/requirements-api.txt
|
|
RUN pip install --no-cache-dir \
|
|
-r /tmp/shared-requirements.txt \
|
|
-r /tmp/slack-bot-requirements.txt \
|
|
-r /tmp/weekly-post-requirements.txt \
|
|
-r /tmp/portal-api-requirements.txt \
|
|
-r /tmp/requirements-api.txt
|
|
|
|
COPY src /app/src
|
|
|
|
ARG GIT_SHA=dev
|
|
ENV PYTHONPATH=/app/src:/app/src/shared:/app/src/slack-bot \
|
|
GIT_SHA=${GIT_SHA} \
|
|
PYTHONUNBUFFERED=1
|
|
|
|
WORKDIR /app/src
|
|
EXPOSE 8080
|
|
CMD ["python", "-m", "server.entrypoint"]
|