Commit graph

11 commits

Author SHA1 Message Date
777d95fc79 refactor: supprimer toutes les déclarations réseau custom des compose files
Coolify gère le réseau Docker de manière autonome :
- Crée un réseau projet UUID pour la communication inter-services
- Connecte automatiquement les services avec labels Traefik (même enable=false)
  au vrai réseau coolify via docker network connect après le démarrage

Déclarer coolify: external: true dans le compose causait un bug Coolify 4.1.2
qui strippait la config en coolify: null → créait aec2c803..._coolify au lieu
du vrai réseau coolify.

Suppression complète de bm_internal et coolify des deux compose files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 16:35:54 +02:00
c55366fb25 fix: migrate.js retry DB connection + align CORS_ORIGINS pattern on dev
migrate.js now retries up to 12 times with linear backoff (max 30s per attempt)
instead of crashing immediately — prevents container restart loops when the
standalone Coolify DB is temporarily unreachable at startup.

CORS_ORIGINS in docker-compose.dev.yml now uses ${CORS_ORIGINS:-https://dev.metalfrom.eu}
to match the prod pattern and allow Coolify UI override.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 16:12:10 +02:00
bf03647de6 fix(dev): revenir au standalone Coolify DB + traefik.enable=false
Coolify ne connecte au vrai reseau coolify que les services avec
labels Traefik. Fix: ajouter traefik.enable=false sur les services
sans exposition HTTP (crawler, geocoder-worker, flaresolverr) pour
forcer Coolify a les mettre sur le bon reseau.

DATABASE_URL revient a pointer vers la DB standalone Coolify.
Supprime la DB dans le compose (bm_dev_db_data) - retour a
l architecture standalone correcte.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 16:00:03 +02:00
bc06910708 fix(dev): DB dans le compose (plus de dependance reseau Coolify)
Coolify prefixe les reseaux externes avec l UUID du projet, donc
external: true, name: coolify ne fonctionne pas pour les services
sans labels Traefik. Solution : integrer la DB directement dans
le compose sur bm_internal.

- Service db: postgis/postgis:16-3.4, volume bm_dev_db_data
- Tous les DATABASE_URL passent par postgres://bm:@db:5432/bm
- depends_on db (condition: service_healthy) sur tous les consumers
- crawler, geocoder, flaresolverr: plus de reseau coolify (inutile)
- La DB Coolify standalone n9dttfjalj5trqsg3o8twduo peut etre arretee

Env vars requises dans Coolify UI: POSTGRES_PASSWORD, BM_IMPORT_TOKEN,
PGADMIN_EMAIL, PGADMIN_PASSWORD, NOMINATIM_EMAIL, NOMINATIM_USER_AGENT

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 15:34:25 +02:00
ac7004ca4c fix(dev): ajouter reseau coolify au crawler et geocoder-worker
Sans ce reseau, les containers ne peuvent pas resoudre le hostname
de la DB Coolify (n9dttfjalj5trqsg3o8twduo).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 15:26:08 +02:00
260200e251 feat(crawler): nouveau service crawler server-side via FlareSolverr
- apps/crawler/ : service Python complet, remplace les scripts locaux
  - FlareSolverr pour bypasser Cloudflare (cookies CF → session requests)
  - Crawl incrémental : /archives/band-list/by/created et /by/modified
  - Crawl complet Europe : pagination AJAX /browse/ajax-country/
  - Enrichissement : pages individuelles de bands (themes, membres, label, hash)
  - Écriture directe en DB (upserts bulk, idempotents)
  - Scheduler intégré (schedule library) : incrémental 4h, enrich 2h, full le 1er du mois
  - Tracking via crawl_run et crawl_checkpoint (migration 004)
- docker-compose.dev.yml : flaresolverr + crawler ajoutés
  Full crawl désactivé en dev (CRAWLER_SCHED_FULL_DAY=0)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 15:15:29 +02:00
91166668a6 fix(dev): stabiliser les workers et corriger les domaines
- Supprime le service worker (Playwright, sera réécrit)
- geocoder-worker: restart: no pour éviter la boucle de crash
- Domaines dev-api et dev-pgadmin migrés vers metalfrom.eu
- API_BASE aligné sur dev-api.metalfrom.eu

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 15:04:52 +02:00
d3cb6e64e7 fix(dev): change dev API domain to dev-api.metalfrom.eu
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 14:39:49 +02:00
781382dc65 feat: API_BASE configurable par build arg + DB dev
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 14:30:08 +02:00
6c00ee2251 fix: docker-compose.dev.yml standalone (not overlay) pour Coolify
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 12:52:11 +02:00
af84da84da fix: revenir aux labels Traefik hardcodés + docker-compose.dev.yml
Coolify ne développe pas \${VAR:-default} dans les labels Docker.
Labels prod: bm-api, bm-web, bm-pgadmin (inchangés).
docker-compose.dev.yml: override pour l'env dev avec les labels
dev-api, dev-web, dev-pgadmin et CORS_ORIGINS dev.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 12:49:28 +02:00