Pages annexes, exemples et details techniques dans une mise en page plus lisible.
Ce document couvre seulement le fonctionnement Docker de l'API.
Pour une API separee propre :
militant-apimilitant-webuploadsUtilise l'installateur dedie :
mkdir -p militant-api-install
cd militant-api-install
curl -fsSLO https://gitlab.com/militant1/api-installer/-/raw/main/militant-api
chmod +x militant-api
./militant-api
Tu peux aussi partir de docker-compose.casaos.yml :
cp docker-compose.casaos.yml docker-compose.api.yml
docker compose -f docker-compose.api.yml up -d
L'API doit rejoindre un reseau externe existant, par exemple :
networks:
militant_external:
external: true
name: militant_militant_network
L'image accepte aujourd'hui a la fois des variables DB_ et API_DB_.
Le plus sur est de fournir les deux si tu ecris ton compose a la main.
Exemple :
environment:
API_DB_HOST: militant-db
API_DB_NAME: militant
API_DB_USER: militant
API_DB_PASS: votre_mot_de_passe
DB_HOST: militant-db
DB_NAME: militant
DB_USER: militant
DB_PASSWORD: votre_mot_de_passe
Deux strategies valides :
1. volume Docker externe partage 2. bind mount vers le dossier reels des uploads
Exemple volume :
volumes:
- militant_militant_uploads:/var/www/uploads
Exemple bind mount :
volumes:
- /srv/militant/uploads:/var/www/uploads
docker compose -f docker-compose.api.yml pull
docker compose -f docker-compose.api.yml up -d
docker compose -f docker-compose.api.yml logs -f api
docker compose -f docker-compose.api.yml ps
docker compose -f docker-compose.api.yml down
Expose idealement l'API derriere HTTPS, par exemple sur api.example.org, puis active :
API_REQUIRE_HTTPS=trueAPI_CORS_ORIGINS=https://ton-client.example.orgPour le reste, voir README.md.