Déploiement du Portail de données
Etape 1 : Base de données
Création de la base de données et de l'utilisateur
Dans l'administration de Digital Ocean :
- Connectez vous sur l'administration du cluster postgres de l'environnement souhaité (DEV ou PROD)
- Créer une base de données 'cam_dataportal_dev' ( ou 'cam_dataportal_prod')
- Créer un utilisateur 'cam_dataportal_dev' (ou 'cam_dataportal_prod')
Assignation des permissions de l'utilisateur sur la base
Lors de la configuration de la base de données, il faut donner les droits de l'utilisateur sur la bonne base de données. Digital Ocean ne fait pas le nécessaire quand vous créez des utilisateurs ou des bases.
Pour exécuter ces requpetes, lancer un conteneur de pgadmin par exemple et connectez vous à la base de l'environnement cible, ici pour la base cam_portail_staging de l'environnement de staging, avec l'utilisateur do_admin (et uniquement ce compte admnistrateur) :
-- Révoquer d'abord les privilèges excessifs si déjà accordés
REVOKE ALL PRIVILEGES ON DATABASE cam_portail_staging FROM cam_portail_staging;
REVOKE ALL ON SCHEMA public FROM cam_portail_staging;
-- Accès à la base (connexion + création de schémas si nécessaire)
GRANT CONNECT ON DATABASE cam_portail_staging TO cam_portail_staging;
-- Accès complet au schéma public (USAGE + CREATE pour les migrations)
GRANT USAGE, CREATE ON SCHEMA public TO cam_portail_staging;
-- Privilèges sur les tables existantes (lecture/écriture + DDL)
GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER ON ALL TABLES IN SCHEMA public TO cam_portail_staging;
-- Privilèges sur les séquences
GRANT USAGE, SELECT, UPDATE ON ALL SEQUENCES IN SCHEMA public TO cam_portail_staging;
-- Privilèges par défaut pour les futures tables
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER ON TABLES TO cam_portail_staging;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT, UPDATE ON SEQUENCES TO cam_portail_staging;
-- Permettre de devenir owner des objets créés (pour ALTER/DROP)
GRANT cam_portail_staging TO postgres;
Etape 2 : Créer l'App dans Digital Ocean
- Créer une App dans App Platform de type web service
- La source est l'image dans la registry Digital Ocean
- Configurer celle pour la bonne zone et avec des ressources minimales (1CPU / 512 Mo de RAM en partagé)
Etape 3 : Création des variables d'environnement dans l'App Digital Ocean
Voir les variables d'environnement à configurer dans Digital Ocean dans la page : Configuration du Portail de Données