File size: 1,742 Bytes
69b53b7
 
 
 
f6408b2
69b53b7
 
 
 
 
 
 
 
 
 
f6408b2
4e620ae
69b53b7
f6408b2
69b53b7
 
f6408b2
 
69b53b7
f6408b2
69b53b7
 
 
f6408b2
 
 
 
 
 
69b53b7
f6408b2
69b53b7
f6408b2
 
 
69b53b7
 
f6408b2
 
69b53b7
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# ==========================================
# 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"]