(écu en gascon) Un logiciel qui fait le pont entre Canaille et un système de paiement pour gérer des abonnements.
Find a file
brunelie 8ad1b9d93a
All checks were successful
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/tests Pipeline was successful
fix: typo oauth server
2025-12-19 12:11:02 +01:00
.woodpecker chore: move from pre-commit to prek 2025-08-26 09:21:39 +02:00
ansible chore: move ansible files at the top level 2023-12-22 15:17:43 +01:00
docs chore: project renamed to "escut" 2025-04-23 14:39:32 +02:00
tests test: now testing that scim patch operation doesnt erase user password 2025-09-19 17:02:39 +02:00
web fix: typo oauth server 2025-12-19 12:11:02 +01:00
.env.dist feat: adding Stripe API for customer deletion 2025-09-05 11:35:34 +02:00
.gitignore chore: attempt to use diff-cover 2025-07-08 17:01:59 +02:00
.gitmodules chore: add nubla theme to canaille 2023-12-22 18:12:37 +01:00
.pre-commit-config.yaml chore: pre-commit update 2025-08-21 10:25:48 +02:00
ansible.sample.cfg chore: do not version ansible.cfg 2023-08-29 14:13:27 +02:00
canaille.toml chore: Canaille users with the user_name 'admin' are admins 2025-06-25 19:02:15 +02:00
compose.yml chore: update canaille version 2025-09-19 17:02:39 +02:00
dev.toml feat: make payment provider optional 2025-07-08 11:28:00 +02:00
Dockerfile feat: docker container now autoreloads when changing code 2025-05-12 16:33:40 +02:00
Dockerfile-prod chore: adds dockerfile template for production 2025-11-25 17:23:46 +01:00
Procfile feat: Lago now must be launched before main application, for various reasons 2025-04-18 16:01:14 +02:00
pyproject.toml chore: update canaille version 2025-09-19 17:05:09 +02:00
README.md docs: adds canaille admin account creation command in the readme 2025-09-19 08:59:31 +02:00
uv.lock chore: recreate uv.lock 2025-09-19 17:06:57 +02:00

Escut

Gestion des abonnements et paiements pour des services intégrant le protocole SCIM.

Installation

Pour installer lenvironnement de développement, il est nécessaire davoir installé Docker, Docker Compose, git, uv et prek sur sa machine. Puis :

  • Installer les dépendances du projet :

    uv sync --all-extras --all-groups
    
  • Installer les crochets de prek :

    prek install
    

Environnement de développement

  • Générer un fichier .env :
    cp .env.dist .env
    
  • Générer un fichier vide pour stocker la BDD Canaille :
    touch canaille.sqlite
    
  • Créer un compte administrateur dans Canaille
    docker exec escut-canaille-1 sh -c "canaille create user --user-name admin --password admin --formatted-name 'George Abitbol' --emails admin@mydomain.example --given-name George --family-name Abitbol"
    
  • Démarrer les containers :
    docker compose up
    
  • (Optionnel) Lier Lago à Stripe :
    • Décommenter l'entrée STRIPE_INTEGRATION_CODE dans votre fichier .env
    • Accéder à l'interface de Lago sur http://localhost
    • Se connecter avec l'email "admin@test.com" et le mot de passe "password"
    • Aller dans le menu "Settings" -> "Integrations"
    • Ajouter une intégration Stripe avec la clef API Stripe de test dans le Keepass. Le "connection code" doit correspondre à l'entrée STRIPE_INTEGRATION_CODE dans le fichier .env (par défaut, "sandbox")

L'application est accessible sur http://escut.localhost:4000

Documentation

  • Pour générer la documentation :
uv run playwright install firefox
cd docs
make html