8e672633dc
Build release Docker image / Build Docker Images (push) Successful in 7m54s
Tous les uploads échouaient depuis mai 2026 sur « Credential access key has length 5, should be 32 ». config/env/production/plugins.ts surchargeait l'upload avec l'ancien MinIO auto-hébergé (accessKeyId "admin", 5 caractères, endpoint container.harmonylab.ovh aujourd'hui injoignable). Strapi fusionnant les surcharges d'environnement en profondeur, la config effective en prod n'était ni l'une ni l'autre : endpoint R2 hérité de config/plugins.ts, mais identifiants MinIO, le provider lisant s3Options.credentials en priorité sur les options à plat. - surcharge production supprimée : une seule config plugins, les différences d'environnement passent par les variables d'environnement - upload en forme s3Options attendue par @strapi/provider-upload-aws-s3 5.x (à plat, le provider n'accepte plus qu'au prix d'une dépréciation) - secrets R2 et SMTP sortis du fichier vers env(), .env.example à jour - CSP de production : les médias étaient autorisés depuis container.harmonylab.ovh et 192.168.0.211:9000, jamais depuis le domaine R2 — l'hôte est désormais dérivé de R2_PUBLIC_URL - la surcharge production des middlewares réduisait strapi::body à sa forme par défaut, perdant includeUnparsed nécessaire au webhook Stripe ⚠️ Déploiement : poser R2_* et SMTP_PASSWORD dans Dokploy AVANT de déployer. Les clés historiques restent dans l'historique git : rotation R2 et ZeptoMail à faire. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
48 lines
1.2 KiB
JSON
48 lines
1.2 KiB
JSON
{
|
|
"name": "harmony-back",
|
|
"version": "0.13.14",
|
|
"private": true,
|
|
"description": "A Strapi application",
|
|
"scripts": {
|
|
"build": "strapi build",
|
|
"deploy": "strapi deploy",
|
|
"develop": "strapi develop --debug",
|
|
"start": "strapi start",
|
|
"strapi": "strapi",
|
|
"check-version": "node scripts/check-version.js",
|
|
"prepare": "husky || true"
|
|
},
|
|
"dependencies": {
|
|
"@strapi/data-transfer": "^5.8.1",
|
|
"@strapi/plugin-documentation": "^5.8.1",
|
|
"@strapi/plugin-users-permissions": "5.8.1",
|
|
"@strapi/provider-email-nodemailer": "^5.9.0",
|
|
"@strapi/provider-upload-aws-s3": "^5.11.0",
|
|
"@strapi/strapi": "5.8.1",
|
|
"better-sqlite3": "11.3.0",
|
|
"pg": "^8.13.1",
|
|
"puppeteer": "^24.4.0",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-router-dom": "^6.30.3",
|
|
"strapi-v5-plugin-populate-deep": "^4.0.5",
|
|
"stripe": "^20.4.0",
|
|
"styled-components": "^6.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/minimatch": "^6.0.0",
|
|
"@types/node": "^20",
|
|
"@types/react": "^18",
|
|
"@types/react-dom": "^18",
|
|
"husky": "^9.1.7",
|
|
"typescript": "^5"
|
|
},
|
|
"engines": {
|
|
"node": ">=18.0.0 <=22.x.x",
|
|
"npm": ">=6.0.0"
|
|
},
|
|
"strapi": {
|
|
"uuid": "1a7f6afd-e097-41c4-ad23-284bb8a46cac"
|
|
}
|
|
}
|