-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
36 lines (27 loc) · 1.19 KB
/
Copy pathDockerfile
File metadata and controls
36 lines (27 loc) · 1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# aie-github-bridge — GitHub Webhook Receiver (Bauteil #83)
# Stand: 2026-05-27
# Target: Deploy auf .82 (Mac-LAN-Worker-Layer)
FROM python:3.12-slim AS base
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
PIP_NO_CACHE_DIR=1
WORKDIR /app
# Install runtime deps (pinned; rebuild on change)
RUN pip install --upgrade pip && \
pip install \
"fastapi>=0.110,<1.0" \
"uvicorn[standard]>=0.27,<1.0" \
"httpx>=0.25,<1.0"
# Copy source. action_log_writer is sourced via mounted volume at runtime
# (sibling bauteil) OR via a sidecar layer. For self-contained deploys,
# mount or copy aie-action-log-writer/src under /opt/aie-action-log-writer/src.
COPY src/ /app/src/
# Default action-log dir inside container — bind-mount via compose for host persistence.
ENV AIE_BRIDGE_LOG_DIR=/var/log/aie-github-bridge \
AIE_BRIDGE_PORT=8190
RUN mkdir -p /var/log/aie-github-bridge
EXPOSE 8190
# Healthcheck — uses /health endpoint (no auth required).
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
CMD python3 -c "import urllib.request; urllib.request.urlopen('http://localhost:8190/health', timeout=3)" || exit 1
CMD ["python3", "src/aie_github_bridge.py"]