forked from EHV/sejeteralo
Replace 5-step pipeline (build/test/push/push/deploy) with single docker:dind step that builds and deploys in-place via Docker socket. - .woodpecker.yml: single-step DinD, 1 secret (SECRET_KEY) - docker-compose.fabio.yml: overlay with SERVICE_* labels for Registrator - docker-compose.yml: add ports without host bind (Fabio/Traefik routing) - docker-compose.dev.yml: named volumes with bind driver - Dockerfiles: install curl, HEALTHCHECK via curl /api/health - Makefile: docker-fabio, consul-services, fabio-routes targets Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
49 lines
1.3 KiB
Makefile
49 lines
1.3 KiB
Makefile
.PHONY: install dev dev-backend dev-frontend test seed docker-up docker-down docker-dev docker-fabio docker-fabio-down consul-services fabio-routes
|
|
|
|
# ── Development (local) ──
|
|
|
|
install:
|
|
cd backend && python3 -m venv venv && . venv/bin/activate && pip install -r requirements.txt
|
|
cd frontend && npm install
|
|
|
|
dev: dev-backend dev-frontend
|
|
|
|
dev-backend:
|
|
cd backend && . venv/bin/activate && uvicorn app.main:app --reload --port 8000
|
|
|
|
dev-frontend:
|
|
cd frontend && npm run dev
|
|
|
|
test:
|
|
cd backend && . venv/bin/activate && python -m pytest tests/ -v
|
|
|
|
seed:
|
|
cd backend && . venv/bin/activate && python seed.py
|
|
|
|
# ── Docker (production) ──
|
|
|
|
docker-up:
|
|
docker compose -f docker/docker-compose.yml up --build -d
|
|
|
|
docker-down:
|
|
docker compose -f docker/docker-compose.yml down
|
|
|
|
# ── Docker (dev) ──
|
|
|
|
docker-dev:
|
|
docker compose -f docker/docker-compose.yml -f docker/docker-compose.dev.yml up --build
|
|
|
|
# ── Docker (Fabio/Consul) ──
|
|
|
|
docker-fabio:
|
|
docker compose -f docker/docker-compose.yml -f docker/docker-compose.fabio.yml up --build -d
|
|
|
|
docker-fabio-down:
|
|
docker compose -f docker/docker-compose.yml -f docker/docker-compose.fabio.yml down
|
|
|
|
consul-services:
|
|
@curl -s http://localhost:8500/v1/catalog/services | python3 -m json.tool
|
|
|
|
fabio-routes:
|
|
@curl -s http://localhost:9998/routes
|