File size: 2,843 Bytes
bdb9044
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43421ad
bdb9044
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# ============================================================
# n8n on Hugging Face Spaces (free tier) — port 7860
# PostgreSQL via Aiven avec SSL
# ============================================================

FROM n8nio/n8n:latest

USER root

# Dossier de données n8n + permissions
RUN mkdir -p /home/node/.n8n && \
    chown -R node:node /home/node/.n8n

USER node

# ----------------------------------------------------------
# RÉSEAU — HF Spaces écoute uniquement sur 7860
# ----------------------------------------------------------
ENV PORT=7860
ENV N8N_PORT=7860
ENV N8N_HOST=0.0.0.0
ENV N8N_PROTOCOL=http

# ----------------------------------------------------------
# BASE DE DONNÉES — PostgreSQL Aiven (SSL obligatoire)
# ----------------------------------------------------------
ENV DB_TYPE=postgresdb
ENV DB_POSTGRESDB_HOST=n8n-n8n-vox.g.aivencloud.com
ENV DB_POSTGRESDB_PORT=21141
ENV DB_POSTGRESDB_DATABASE=defaultdb
ENV DB_POSTGRESDB_USER=avnadmin
ENV DB_POSTGRESDB_PASSWORD=AVNS_TAa_OQlklIzZxJbZfH6
ENV DB_POSTGRESDB_SCHEMA=public
ENV DB_POSTGRESDB_SSL_ENABLED=true
ENV DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED=false

# ----------------------------------------------------------
# SÉCURITÉ — clé de chiffrement stable (CHANGE CETTE VALEUR
# par une chaîne aléatoire fixe de 32+ chars, ex: openssl rand -hex 32)
# Sans cette variable, n8n régénère une clé à chaque restart
# et tes credentials stockés deviennent illisibles !
# ----------------------------------------------------------
ENV N8N_ENCRYPTION_KEY=remplace_par_une_vraie_cle_aleatoire_32chars

# ----------------------------------------------------------
# WEBHOOK — Remplace <ton-space> par ton vrai slug HF
# Format: https://<username>-<space-name>.hf.space
# ----------------------------------------------------------
ENV WEBHOOK_URL=https://mb-idk-n8n.hf.space

# ----------------------------------------------------------
# COMPORTEMENT n8n
# ----------------------------------------------------------
# Désactive l'invite de création de compte au premier démarrage
ENV N8N_PERSONALIZATION_ENABLED=false

# Exécution dans le process principal (adapté aux envs contraints)
ENV EXECUTIONS_PROCESS=main

# Logs lisibles
ENV N8N_LOG_LEVEL=info

# Désactive la télémétrie (optionnel)
ENV N8N_DIAGNOSTICS_ENABLED=false
ENV N8N_VERSION_NOTIFICATIONS_ENABLED=false

# ----------------------------------------------------------
# PORT EXPOSÉ
# ----------------------------------------------------------
EXPOSE 7860

# ----------------------------------------------------------
# ENTRYPOINT — n8n:latest intègre déjà tini + le script
# On ne redéfinit PAS l'ENTRYPOINT pour éviter le conflit.
# Le CMD suffit pour passer les args à /docker-entrypoint.sh
# ----------------------------------------------------------
CMD ["start"]