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"] |