Spaces:
Paused
Paused
| # ========================================== | |
| # OMNIGROUP - POSTGRESQL CLOUD SOUVERAIN | |
| # Infrastructure de Données de Haute Performance | |
| # Spécial Hugging Face Spaces + Persistence | |
| # Fix : Permission Override au Runtime | |
| # ========================================== | |
| FROM postgres:16-bookworm | |
| USER root | |
| # 1. Configuration Environnementale | |
| ENV DEBIAN_FRONTEND=noninteractive \ | |
| POSTGRES_DB=nextcloud \ | |
| POSTGRES_USER=madiba_admin \ | |
| # On utilise un sous-dossier pour éviter de toucher à la racine de /data | |
| PGDATA=/data/postgres_storage/pgdata | |
| # 2. Configuration pour Hugging Face Spaces (Port 7860) | |
| RUN sed -i "s/#port = 5432/port = 7860/" /usr/share/postgresql/postgresql.conf.sample | |
| # 3. Préparation des répertoires système | |
| RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 2777 /var/run/postgresql | |
| # 4. Script d'Entrée "Souverain" (Exécuté en ROOT) | |
| RUN echo '#!/bin/bash\n\ | |
| set -e\n\ | |
| \n\ | |
| echo "[OMNIGROUP] Stabilisation des permissions du volume..." \n\ | |
| \n\ | |
| # Création et attribution du dossier de données au runtime\n\ | |
| mkdir -p /data/postgres_storage/pgdata\n\ | |
| chown -R postgres:postgres /data\n\ | |
| chmod -R 700 /data/postgres_storage\n\ | |
| \n\ | |
| echo "[SYSTEM] Passage à l utilisateur postgres et démarrage sur le port 7860..." \n\ | |
| \n\ | |
| # On utilise exec avec gosu (préinstallé dans l image postgres officielle) \n\ | |
| # pour lancer le point d entrée officiel en tant qu utilisateur postgres\n\ | |
| exec gosu postgres docker-entrypoint.sh postgres -p 7860' > /usr/local/bin/run_postgres.sh && \ | |
| chmod +x /usr/local/bin/run_postgres.sh | |
| # 5. On reste en ROOT pour le démarrage afin de pouvoir gérer /data | |
| USER root | |
| EXPOSE 7860 | |
| ENTRYPOINT ["/usr/local/bin/run_postgres.sh"] |