Geliştiriciler ve otomasyon meraklıları, uygulamaları ve hizmetleri sorunsuz bir şekilde bağlayan açık kaynaklı otomasyon platformu n8n gibi iş akışı araçlarını barındırmak için genellikle uygun maliyetli yollar ararlar. Neyse ki, Hugging Face Spaces, 2 vCPU, 16 GB RAM ve 50 GB disk alanı ile güçlü bir ücretsiz katman sunarak n8n'i masrafsız veya karmaşık altyapı yönetimi olmadan dağıtmanıza olanak tanır. Bu kılavuz, bir Supabase veritabanı kurmaktan ortam değişkenlerini yapılandırmaya ve sık karşılaşılan sorunları gidermeye kadar tüm süreci size adım adım anlatmaktadır.
Ücretsiz n8n Dağıtımı İçin Neden Hugging Face Spaces'i Seçmelisiniz?
Hugging Face Spaces, geliştiricilerin makine öğrenimi modellerini ve uygulamalarını barındırma şeklini kökten değiştiriyor, ancak çok yönlülüğü n8n gibi iş akışı otomasyon araçlarına kadar uzanıyor. Bant genişliği veya depolama için ücret alan geleneksel VPS sağlayıcılarının aksine, Hugging Face kalıcı dağıtımları destekleyen cömert bir ücretsiz katman sunar. Sonuç olarak, Docker düzenlemesi veya sunucu tedarik etme gibi ek yüklerden kaçınarak, bunun yerine iş akışı mantığına odaklanırsınız.
Ayrıca, n8n bu ortamda gelişir çünkü çoğu kişisel veya küçük ekip kullanım durumu için minimum kaynak gerektirir. PostgreSQL veritabanları için yerleşik destek sayesinde, Supabase gibi ücretsiz hizmetlerle zahmetsizce eşleştirebilir, oturumlar arası veri kalıcılığı sağlayabilirsiniz. Ancak, Spaces 48 saatlik hareketsizlikten sonra uyku moduna geçer, bu durumu daha sonra proaktif stratejilerle ele alacağız.
Hugging Face'te dağıtım yapmak keşfedilebilirliği artırır. `https://yourusername-n8n.hf.space` gibi alan URL'niz, arama motorlarının hızla dizine eklediği paylaşılabilir bir varlık haline gelir. Ek olarak, içerik otomasyonu için n8n iş akışlarını entegre etmek – RSS beslemelerinden blog yazılarına kadar düşünün – sitenizi ilgili sorgularda daha üst sıralara yerleştirir. Bu nedenle, bu kurulum yalnızca maliyet tasarrufu sağlamakla kalmaz, aynı zamanda çevrimiçi varlığınızı da güçlendirir.
Özetle, Hugging Face Spaces ölçeklenebilirlik ve basitlik sunarak, "n8n ücretsiz dağıtımı" aramaları için optimize eden geliştiriciler için idealdir. Sonraki adımda, temel veritabanı katmanını hazırlayacağız.
Ön Koşullar: n8n Dağıtımı İçin Gerekli Hesaplar ve Araçlar
Dağıtımı başlatmadan önce, gerekli hesapları toplayın ve güvenli kimlik bilgileri oluşturun. Bu hazırlık aşaması, sorunsuz yürütmeyi sağlar ve yapılandırma sırasında hataları en aza indirir.
İlk olarak, huggingface.co/join adresinden ücretsiz bir Hugging Face hesabı oluşturun. Dağıtım URL'nizin bir parçasını oluşturacağı için (örneğin, `yourprofile-n8n.hf.space`) akılda kalıcı bir profil adı seçin. Space oluşturma ayrıcalıklarını etkinleştirmek için e-postanızı doğrulayın.
İkinci olarak, supabase.com/dashboard/sign-up adresinden Supabase'e kaydolun. Supabase, ücretsiz planında 500 MB depolama alanı ve sınırsız API isteği ile yönetilen bir PostgreSQL örneği sağlar—n8n'in iş akışı verileri için mükemmeldir. Kayıt sırasında veritabanı şifrenizi güvenli bir şekilde not alın, çünkü onu kolayca kurtaramazsınız.
Supabase'e giriş yaptıktan sonra yeni bir proje oluşturun. Ona "n8n-prod-db" gibi açıklayıcı bir ad verin ve güçlü bir parola belirleyin. Projenin başlatılması için bekleyin, bu genellikle 2-3 dakika sürer. Ardından, proje kontrol panelinizdeki "Connect" bölümüne gidin.
Burada, n8n ile optimum performans için "Transaction pooler" altında SQLAlchemy bağlantı dizesi formatını seçin. Bu temel detayları çıkarın:
- Host: Sunucu uç noktası (örneğin,
db.yourproject.supabase.co). - Port: Eşzamanlı sorguları verimli bir şekilde yönetmek için havuza alınmış bağlantılar için 6543 kullanın.
- User: Veritabanı kullanıcı adınız (örneğin,
postgres). - Database Name: Projeye özel DB adı (örneğin,
postgres). - Password: Proje oluşturma sırasında belirlediğiniz parola.
Bunları, ifşayı önlemek için bir parola yöneticisi gibi güvenli bir not alma uygulamasında saklayın.
Ek olarak, n8n'in hassas veri işleme için bir şifreleme anahtarı oluşturun. Terminalinizi açın ve şunu çalıştırın:
openssl rand -base64 32
Bu komut, `aXNDkPqW3mZ8vL5rT7uY2bN4jH6kM9pQ1sE0wR3tF2yG` gibi 32 baytlık rastgele bir dize üretir. Daha sonra kullanmak üzere olduğu gibi kopyalayın.
Son olarak, eğer yeniyseniz n8n'in temellerine aşina olun. İş akışlarını yerel olarak test etmek ve uyumluluğu sağlamak için `npm install -g n8n` komutuyla masaüstü sürümünü geçici olarak yükleyin. Bu ön koşullar yerine getirildiğinde, dağıtımı kolaylaştırır ve olası kesinti süresini azaltırsınız.
Sorunsuz bir geçişle, n8n'in şema gereksinimlerini desteklemek için Supabase veritabanını yapılandıralım.
Supabase PostgreSQL Kurulumu: Kalıcı n8n İş Akışları İçin Omurga
Supabase, PostgreSQL karmaşıklıklarını soyutlayarak veritabanı yönetimini basitleştirir, ancak n8n entegrasyonu için onu kesin olarak yapılandırmalısınız. n8n, iş akışlarını, yürütmeleri ve kimlik bilgilerini depolamak için PostgreSQL'e güvenir, bu nedenle burada yapılacak bir hata başlatma başarısızlıklarına yol açar.
Supabase proje kontrol panelinize erişerek başlayın. Başlatma sorgularını çalıştırmak için "SQL Editor"a tıklayın. n8n, optimum performans için belirli tablolar ve dizinler bekler; ancak, satır düzeyi güvenliği (RLS) sağduyulu bir şekilde etkinleştirirseniz Supabase ilk bağlantıda bunları otomatik olarak oluşturur.
Güvenliği artırmak için `workflow_entity` ve `execution_entity` gibi temel tablolarda RLS'yi etkinleştirin. Bu SQL parçasını editörde çalıştırın:
-- Enable RLS on key tables
ALTER TABLE workflow_entity ENABLE ROW LEVEL SECURITY;
ALTER TABLE execution_entity ENABLE ROW LEVEL SECURITY;
ALTER TABLE credentials_entity ENABLE ROW LEVEL SECURITY;
-- Create a policy for authenticated access (Supabase handles auth via JWT)
CREATE POLICY "Users can view own workflows" ON workflow_entity
FOR ALL USING (auth.uid() = user_id);
-- Similar policies for other entities
CREATE POLICY "Users can manage own executions" ON execution_entity
FOR ALL USING (auth.uid() = created_by_id);
Sorguyu kaydedin ve çalıştırın. Bu politikalar, n8n'in çok kullanıcılı yetenekleriyle uyumlu olarak yetkisiz erişimi engeller.
Ardından, bağlantı havuzunu yapılandırın. Supabase ayarlarında, Veritabanı > Bağlantı Havuzu altında işlem havuzunu "Açık" konumuna getirin. Bu mod, n8n'in eşzamanlı webhook tetikleyicileri arasında yükü dağıtarak 6543 portunu kullanır. pgAdmin gibi bir araç veya Supabase'in yerleşik istemcisini kullanarak bağlantıyı test edin:
psql "postgresql://postgres:[YOUR_PASSWORD]@db.yourproject.supabase.co:6543/postgres"
Başarılı olursa, `postgres=#` istemini görürsünüz. Tabloları listelemek için `\dt` komutunu çalıştırın ve n8n için hazır boş bir şemayı doğrulayın.
İş akışlarınızda SEO optimizasyonu için özel meta veri tabloları eklemeyi düşünün. Örneğin, iş akışı başına SEO anahtar kelimelerini depolayın:
CREATE TABLE seo_metadata (
id SERIAL PRIMARY KEY,
workflow_id INTEGER REFERENCES workflow_entity(id),
keywords TEXT[],
title VARCHAR(255),
description TEXT
);
Bu uzantı, n8n'in bloglar için meta etiket üretimini otomatikleştirmesine olanak tanır ve arama sıralamalarını yükseltir.
Ek olarak, Supabase'in analiz panosu aracılığıyla kullanımı izleyin. Ücretsiz katman, 100'den fazla iş akışı için yeterli olan aylık 50.000 aktif satırla sınırlıdır. Sınırlara yaklaştığınızda, Supabase sizi proaktif olarak uyarır.
Veritabanı güçlendirildikten sonra, canlı bir n8n örneğine açılan kapınız olan Hugging Face Space'i çoğaltmaya geçin.
Adım Adım Dağıtım: Hugging Face'te n8n Alanınızı Çoğaltma ve Yapılandırma
Şimdi, temel dağıtımı gerçekleştireceksiniz. Hugging Face'in "Bu Alanı Çoğalt" özelliği, önceden yapılandırılmış bir n8n şablonunu klonlayarak kurulumu 10 dakikanın altına indirir.
huggingface.co/spaces/tomowang/n8n adresindeki şablon Alanına gidin. Belirgin "Bu Alanı Çoğalt" düğmesine tıklayın. Bu eylem, Dockerfile, app.py (Streamlit benzeri sunum için) ve n8n ikili dosyaları dahil olmak üzere depoyu çatallar.
Çoğaltma iletişim kutusunda şunları belirtin:
- Alan Adı: URL beklentileriyle eşleşmesi için (örneğin,
yourprofile-n8n.hf.space) tam olarakn8ngirin. Sapmalar 404 hatalarına neden olur. - Görünürlük: Anında erişimi etkinleştirmek için "Herkese Açık" seçeneğini seçin. Özel Alanlar, gömmeyi kısıtlar ve kimlik doğrulama döngülerini tetikler.
- Donanım: Ölçeklendirme GPU gerektirmediği sürece ücretsiz temel CPU'yu (2 vCPU, 16 GB RAM) kullanmaya devam edin.
Ardından, "Değişkenler ve Sırlar" sekmesi altında ortam değişkenlerini yapılandırın. Bu parametreler n8n'in çalışma zamanı davranışını yönlendirir. Tabloyu aşağıdaki gibi doldurun:
| Değişken | Değer/Örnek | Açıklama |
|---|---|---|
DB_POSTGRESDB_PASSWORD |
Supabase DB parolanız (örneğin, s3cur3P@ssw0rd) |
Veritabanı erişimini doğrular. Gizli olarak işaretleyin. |
DB_POSTGRESDB_USER |
Supabase kullanıcısı (örneğin, postgres) |
Bağlantılar için veritabanı kullanıcı adı. |
DB_POSTGRESDB_HOST |
Supabase host (örneğin, db.yourproject.supabase.co) |
Sunucu uç noktası. |
DB_POSTGRESDB_PORT |
6543 | Yüksek kullanılabilirlik için havuzlanmış port. |
DB_POSTGRESDB_DATABASE |
postgres |
Varsayılan veritabanı adı. |
N8N_ENCRYPTION_KEY |
Oluşturduğunuz anahtar (örneğin, aXNDkPqW3mZ8vL5rT7uY2bN4jH6kM9pQ1sE0wR3tF2yG) |
Kimlik bilgilerini ve hassas verileri şifreler. |
WEBHOOK_URL |
https://yourprofile-n8n.hf.space/ |
Gelen webhook'lar için temel URL. Sondaki eğik çizgiyi ekleyin. |
N8N_EDITOR_BASE_URL |
https://yourprofile-n8n.hf.space/ |
UI erişim noktası; tutarlılık için webhook ile eşleşir. |
N8N_VERSION |
stable veya belirli bir sürüm (örneğin, 1.0.0) |
n8n sürümünü sabitler; değişiklikte otomatik yeniden başlatılır. |
GENERIC_TIMEZONE |
UTC veya America/New_York |
İş akışı zaman damgalarını ayarlar. |
TZ |
GENERIC_TIMEZONE ile eşleşir |
Sistem zaman dilimi geçersiz kılma. |
NODE_ENV |
production |
Optimizasyonları ve güvenlik başlıklarını etkinleştirir. |
Hassas değişkenleri (parola, anahtar) depoda şifrelemek için gizli olarak işaretleyin. Derlemeyi tetiklemek için "Alanı Çoğalt"a tıklayın. Hugging Face, Docker görüntüsünü derler, bağımlılıkları (Node.js, n8n) yükler ve veritabanını başlatır—ilerlemeyi "Ayarlar" sekmesinden izleyin.
Tamamlandığında (5-10 dakika), `N8N_EDITOR_BASE_URL` adresinden örneğinize erişin. n8n'in sezgisel kontrol paneliyle karşılaşırsınız ve sahip hesabı kurulumunu ister. İstenirse e-posta bildirimlerini etkinleştirerek güçlü bir parola ile kimlik bilgileri oluşturun.
Doğrulamak için bir test iş akışını etkinleştirin: Bir cron düğümünü bir Slack bildirimcisine bağlayın. Manuel olarak çalıştırın; ekleme için Supabase günlüklerini kontrol edin. Başarı, uçtan uca işlevselliği onaylar.
SEO için, UI'yi özelleştiriyorsanız Alanınızın index.html dosyasına meta etiketleri gömün:
<meta name="description" content="Hugging Face Spaces üzerinde ücretsiz n8n otomasyonu">
<meta name="keywords" content="n8n dağıtımı, ücretsiz iş akışı otomasyonu, Hugging Face eğitimi">
Bu uygulama taranabilirliği artırır. Dağıtım tamamlandığında, güvenilirlik için optimize edin.
Webhook'ları ve OAuth'u Yapılandırma: n8n Örneğinizde Güvenli Entegrasyonları Etkinleştirme
Dağıtım sonrası, n8n'i web kancaları ve OAuth aracılığıyla harici hizmetlerle entegre edersiniz; bu, API senkronizasyonu veya sosyal medya gönderileri gibi gerçek dünya otomasyonları için kritik öneme sahiptir. Buradaki yanlış yapılandırma akışları bozar, bu nedenle bu kesin adımları izleyin.
Web kancalarıyla başlayın. n8n'de, bir iş akışına bir Webhook düğümü ekleyin ve HTTP yöntemini POST olarak ayarlayın. Üretim URL'si `WEBHOOK_URL`'den otomatik olarak doldurulur, örneğin `https://yourprofile-n8n.hf.space/webhook/abc123`. Bir yükü curl ile test edin:
curl -X POST https://yourprofile-n8n.hf.space/webhook/abc123 \
-H "Content-Type: application/json" \
-d '{"test": "data"}'
Yürütme günlüğünü izleyin; başarılı alım, sonraki düğümleri tetikler. Şimdi, Google E-Tablolar veya Discord gibi hizmetler için OAuth'u ele alalım. n8n'in kimlik bilgileri yöneticisi, Alanınızla eşleşen yönlendirme URI'leri gerektirir. Google için:
- console.cloud.google.com adresini ziyaret edin ve yeni bir OAuth 2.0 istemci kimliği oluşturun.
- Yetkili yönlendirme URI'lerini
https://yourprofile-n8n.hf.space/rest/oauth2-credential/callbackolarak ayarlayın. - n8n'de, İstemci Kimliği/Gizli anahtarını girerek bir Google kimlik bilgisi ekleyin.
- Yetkilendirin; n8n, Supabase depolama aracılığıyla jeton yenilemeyi yönetir.
Discord için tekrarlayın: Yönlendirme URI'si yukarıdakini yansıtır, `bot` ve `applications.commands` kapsamındadır. Bulut kimlik bilgilerini yeniden kullanmaktan kaçının—Hugging Face'in alanı farklıdır ve geri aramaları geçersiz kılar.
Tarayıcı geliştirici araçları aracılığıyla sorun giderin: 302 yönlendirmeleri veya 401 hataları için ağ sekmelerini inceleyin. Gerekirse `N8N_OAUTH_REDIRECT_URL`'i ayarlayın, ancak temel URL yeterlidir.
Bu yapılandırmalar, güvenli ve ölçeklenebilir entegrasyonlar sağlayarak n8n dağıtımınızın üretim trafiğini etkili bir şekilde yönetmesini sağlar.
Uyku Modunu Önleme ve Hugging Face'te n8n İçin 7/24 Çalışma Süresi Sağlama
Hugging Face Spaces, 48 saatlik hareketsizlikten sonra uyku moduna geçer, n8n'i duraklatır ve zamanlanmış iş akışlarını bozar. Bunu otomatik ping'lerle aktif olarak hafifletirsiniz.
n8n'de kendi kendine ping atan bir iş akışı uygulayın: Her 24 saatte bir kendi `WEBHOOK_URL/ping` adresinize HTTP GET isteği göndermek için bir cron düğümü zamanlayın. Alanınızın app.py dosyasındaki basit bir Express rotası aracılığıyla eklenen bu uç nokta, etkinliği bildiren 200 OK ile yanıt verir.
Sağlamlık için GitHub Actions'ı entegre edin. Alan deponuzda bir `.github/workflows/keep-alive.yml` oluşturun:
name: Keep Alive
on:
schedule:
- cron: '0 */12 * * *' # Every 12 hours
workflow_dispatch:
jobs:
ping:
runs-on: ubuntu-latest
steps:
- name: Ping Space
run: curl https://yourprofile-n8n.hf.space/ping
Taahhüt edin ve gönderin; Actions sunucu tarafında çalışarak uyku modunu atlar. GitHub bildirimleri aracılığıyla izleyin.
Alternatif olarak, URL'nizi her 5 dakikada bir pinglemek için UptimeRobot'ın ücretsiz katmanını kullanın. Bu harici hizmet, dahili iş akışları olmadan uyanıklığı sağlar.
Sık Karşılaşılan Sorunları Giderme: Dağıtım Aksaklıklarını Verimli Bir Şekilde Çözme
Titiz bir kurulumla bile sorunlar ortaya çıkar. Hugging Face günlüklerini kullanarak bunları sistematik olarak teşhis ve çözersiniz.
- Sorun 1: Erişirken 404 Hatası. Neden: Uyuşmayan Alan adı. Çözüm: Ayarlar > Genel kısmında adı "n8n" olarak yeniden adlandırın ve yeniden oluşturun. Herkese açık görünürlük, gömme engellerini düzeltir.
- Sorun 2: "Alan Hazırlanıyor" Takılı Kaldı. Neden: Genellikle geçersiz ortam değişkenlerinden kaynaklanan derleme hatası. Çözüm: Sözdizimi hataları (örneğin, kaçırılmamış parolalar) için derleme günlüklerini kontrol edin. Düzeltin ve yeniden çoğaltın.
- Sorun 3: Veritabanı Bağlantısı Kesildi. Neden: Yanlış Supabase kimlik bilgileri veya port. Çözüm:
psqltesti ile doğrulayın. Portu 6543 olarak güncelleyin; Alanı yeniden başlatın. - Sorun 4: OAuth Hataları. Neden: Yanlış yönlendirme URI'si. Çözüm: Tam
hf.spacegeri çağırma ile kimlik bilgilerini yeniden oluşturun. Tarayıcı önbelleğini temizleyin. - Sorun 5: Helmet Güvenlik Başlıkları Iframe'i Engelliyor. Neden: Üretim modu
X-Frame-Options: sameoriginuygular. Çözüm: Geçici olarakNODE_ENV=developmentolarak ayarlayın veya Dockerfile'daki başlıkları gevşetmek için şablonu fork'layın:
ENV N8N_SECURE_COOKIE=FALSE
Hugging Face'in konsolu aracılığıyla günlüklere erişin: Gerçek zamanlı stdout/stderr için "Günlükler" sekmesine tıklayın. Sorunları belirlemek için "hata" kelimesini filtreleyin.
Gelişmiş hata ayıklama için n8n'in hata ayıklama modunu etkinleştirin: `N8N_LOG_LEVEL=debug` ortam değişkenini ekleyin. Bu ayrıntılılık, webhook yüklerini izlemede yardımcı olur.
Bunları proaktif olarak ele alarak dayanıklı bir dağıtım sürdürürsünüz.
Sonuç: Güvenle Dağıtın, Otomatikleştirin ve Ölçeklendirin
Artık Supabase ve en iyi uygulamalarla güçlendirilmiş, n8n'i Hugging Face Spaces üzerinde ücretsiz olarak dağıtmak için kapsamlı bir plana sahipsiniz. Bu kurulum, API düzenlemelerinden içerik işlem hatlarına kadar sonsuz otomasyonlara olanak tanır ve tüm bunları SEO ve çalışma süresi için optimize eder.
Entegrasyonlarınızı sorunsuz bir şekilde test etmek için Apidog'u ücretsiz indirmeyi unutmayın. Deney yapın, yineleyin ve Alanınızı paylaşın—topluluk geri bildirimi inovasyonu hızlandırır. Bugün dağıtmaya başlayın ve iş akışlarınızı dönüştürün.
