feat: containerize for mmd.i80.dk deployment via Gitea/Nomad
Some checks failed
Build and Deploy MoneyMaker / build-and-deploy (push) Failing after 15s
Some checks failed
Build and Deploy MoneyMaker / build-and-deploy (push) Failing after 15s
- Add Dockerfile (python:3.12-slim, HF_HOME=/app/data/hf-cache) - Add mmd.nomad (multi-task: web=dashboard, worker=scheduler) - Add .gitea/workflows/deploy.yml (build->Harbor, deploy->Nomad) - Add scheduler.py (stdlib scheduler replaces cron in container) - Add requirements.txt - dashboard.py: LOG_DIR + PORT/HOST from env vars - saxo_auth.py: TOKEN_FILE from SAXO_TOKEN_FILE env var - .gitignore: proper ignores for container project Volume moneymaker-data (/app/data) holds: - logs/ (shared between web+worker) - .saxo_token.json (pre-copy once after first deploy) - hf-cache/ (HuggingFace FinBERT cache) Gitea secrets required: DATABASE_URL, ANTHROPIC_API_KEY, SAXO_APP_KEY, SAXO_APP_SECRET_1, HARBOR_ROBOT_TOKEN
This commit is contained in:
34
Dockerfile
Normal file
34
Dockerfile
Normal file
@@ -0,0 +1,34 @@
|
||||
FROM python:3.12-slim
|
||||
|
||||
ARG BUILD_VERSION=unknown
|
||||
ARG BUILD_TIME=unknown
|
||||
ARG GIT_COMMIT=unknown
|
||||
|
||||
ENV PYTHONDONTWRITEBYTECODE=1 \
|
||||
PYTHONUNBUFFERED=1 \
|
||||
BUILD_VERSION=${BUILD_VERSION} \
|
||||
BUILD_TIME=${BUILD_TIME} \
|
||||
GIT_COMMIT=${GIT_COMMIT} \
|
||||
HF_HOME=/app/data/hf-cache \
|
||||
TRANSFORMERS_VERBOSITY=error \
|
||||
HF_HUB_DISABLE_PROGRESS_BARS=1
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN pip install --upgrade --no-cache-dir pip
|
||||
|
||||
COPY requirements.txt ./
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN mkdir -p /app/data/logs /app/data/hf-cache
|
||||
|
||||
ENV PORT=5001 \
|
||||
HOST=0.0.0.0 \
|
||||
LOG_DIR=/app/data/logs \
|
||||
SAXO_TOKEN_FILE=/app/data/.saxo_token.json
|
||||
|
||||
EXPOSE 5001
|
||||
|
||||
CMD ["python", "dashboard.py"]
|
||||
Reference in New Issue
Block a user