Restauration : Docker + CI/CD + entrypoint
Build & Deploy / build (push) Successful in 28s

This commit is contained in:
Mouigni
2026-08-12 00:09:18 +02:00
parent 1f7d06c26d
commit c4aeedd032
4 changed files with 67 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
name: Build & Deploy
on:
push:
branches: [main]
workflow_dispatch: {}
env:
IMAGE: git.nfteam.ovh/mouigni/regwatch-backend
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build & push image
run: |
set -e
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login git.nfteam.ovh -u "${{ secrets.REGISTRY_USER }}" --password-stdin
SHA="${GITHUB_SHA::12}"
docker build -t "${IMAGE}:latest" -t "${IMAGE}:${SHA}" -f Dockerfile .
docker push --all-tags "${IMAGE}"
- name: Notify ntfy
if: always()
run: |
if [ "${{ job.status }}" = "success" ]; then EMOJI="white_check_mark"; PRIO="default"; else EMOJI="rotating_light"; PRIO="high"; fi
curl -s -H "Authorization: Bearer ${{ secrets.NTFY_TOKEN }}" \
-H "Title: ${GITHUB_REPOSITORY} — ${{ job.status }}" \
-H "Priority: ${PRIO}" -H "Tags: ${EMOJI}" \
-H "Click: ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions" \
-d "${GITHUB_WORKFLOW} (${GITHUB_REF_NAME} #${GITHUB_RUN_NUMBER}) : ${{ job.status }}" \
"${{ secrets.NTFY_URL }}/${{ secrets.NTFY_TOPIC }}" || true
+12
View File
@@ -0,0 +1,12 @@
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
RUN chmod +x entrypoint.sh
EXPOSE 8000
CMD ["./entrypoint.sh"]
+18
View File
@@ -0,0 +1,18 @@
services:
regwatch-backend:
image: git.nfteam.ovh/mouigni/regwatch-backend:latest
container_name: regwatch-backend
restart: unless-stopped
pull_policy: always
env_file: .env
environment:
- OLLAMA_HOST=http://192.168.1.136:11434
ports:
- "8114:8000"
labels:
- "com.centurylinklabs.watchtower.enable=true"
- "homepage.group=RegWatch"
- "homepage.name=RegWatch API"
- "homepage.icon=fastapi.png"
- "homepage.href=https://regwatch-api.nfteam.ovh"
- "homepage.description=API veille réglementaire (FastAPI, scrapers CIR/SCCS)"
+4
View File
@@ -0,0 +1,4 @@
#!/bin/sh
set -e
python -c "from database.models import Base; from database.database import engine; Base.metadata.create_all(bind=engine); print('regwatch: schema OK')"
exec uvicorn api.main:app --host 0.0.0.0 --port 8000