Bu makalede, özel sanal sunucunuza VPS Stormkit yükleyerek onu bir deployment ve hosting platformuna dönüştüreceğiz. Bu şekilde web tabanli uygulamalarımızı kolaylıkla geliştirip, onları servis edebileceğiz.
Ben Savaș, Stormkit'in kurucusuyum ve bugün hep birlikte bir VPS kurup, Stormkit'i yükleyip, iki uygulama deploy edeceğiz:
- Go tabanlı bir API (backend)
- TanStack uygulaması (frontend).
Ayrıca Go tabanlı API'mizi Stormkit ile birlikte gelen veritabanına da bağlayacağız. Hadi başlayalım!
Tahmini süre
Bu makaleyi tamamlamak için tahmini süre 15 dakikadır.
Gereksinimler
- SSH anahtarı
- Minimum 4GB RAM ve 2vCPU'ya sahip bir VPS
1. Adım - VPS Kurma
Eğer henüz bir VPS'iniz yoksa, Hetzner kullanarak uygun fiyatli bir sunucu alabilirsiniz.
- Bu bağlantıya tıklayarak bir hesap olușturun
- https://console.hetzner.com/projects sayfasından New Project yazısına tıklayıp yeni bir proje olușturun
- Yönlendirildiğiniz sayfada Create Resource > Servers'a tıklayın.

- Location: Size en yakın konumda bulunan bir bölge seçin. Örneğin Nuremberg.
- Image: Ubuntu 24.04
- Type: Shared vCPU
- Networking: Public IPv4 ve Public IPv6
- SSH keys: Önceden oluşturmuş olduğunuz SSH anahtarını girin
- Volumes: Boş bırakın
- Firewalls: 80, 443 ve 22 portlarını açık tutmanizi tavsiye ederim - diğerlerini kapatabilirsiniz
- Backups: Aralıklı backup olușturmanızı tavsiye ederim
- Placement groups: Sunucularınızı gruplamak için bir isim belirleyin. Örneğin Coderspace.
- Labels: Boş bırakın
- Cloud Config: Boş bırakın
- Name: Sunucunuza bir isim belirleyin. Örneğin Stormkit.
Create and Buy'a tıkladıktan sonra bir-iki dakika içerisinde sunucunuz erişime açık olacaktır.
Bu esnada sunucunun IP'sini kopyalayın.

2. Adım - VPS'e Erişim
Terminalinizi açın ve aşağıdaki komutu çalıştırın:
ssh root@sunucu-ip
> sunucu-ip'yi Hetzner'dan aldığınız IP ile değiştirin.
Artık VPS'e giriş yaptınız, devam etmeye hazırız.
3. Adım - Sunucuyu Güncelleme
Stormkit'i yüklemeden önce, sunucuyu hızlıca güncelleyelim:
sudo apt update && sudo apt upgrade -y
Bu, VPS'inizin güvenli bir kurulum için en son paketlere sahip olmasını sağlar.
4. Adım - Stormkit'i Yükleme
Stormkit, Docker'ı kuran ve platformu hazırlayan bir script aracılığıyla yüklenir.
curl -sSL https://www.stormkit.io/install.sh | sh
Size birkaç soru sorulacak, bunları aşağıdaki gibi yanıtlayın:
- Which docker mode are you going to use?: 2 (Docker Compose)
- Enter the top-level domain (e.g. example.org): Otomatik oluşturulan URL kullanmak için boş bırakın (Enter'a basın)
- Kurulum tamamlanana kadar bir kahve alın.

5. Adım - Stormkit Konsoluna Erişim
Kurulum tamamlandığında, terminalinizde Stormkit Konsolu'na bir link yazdırıldığını göreceksiniz.
- Terminalinizde verilen linke tıklayın.
- Bir yönetici hesabı oluşturun.
- Bu kimlik bilgilerini kullanarak giriş yapın.
Not: Stormkit kendisi için 3 alt alan adı rezerve etmiştir:
- stormkit.alan-adı.com: Arayüze erişmenizi sağlar
- api.alan-adı.com: Stormkit'e programatik olarak erişmenizi sağlar
- health.alan-adı.com: Stormkit sunucunuzun durumunu kontrol etmek için bir endpoint
Uygulamalarınız dahil, Stormkit tarafından yönetilen her endpoint için TLS sertifikaları,
o endpoint'e yapılan ilk istek üzerine otomatik olarak oluşturulacaktır. Bu işlem genellikle birkaç saniye sürer.
6. Adım - Go tabanlı API için Veritabanını Kurma
Stormkit, platformu yönetmek için kendisinin kullandığı bir PostgreSQL veritabanı ile birlikte gelir. Biz bu veritabanına bağlanabilir ve Go tabanlı API'miz için ayrı bir veritabanı oluşturabiliriz.
- Terminalinize geri dönün ve VPS'inize SSH ile bağlanın
- Çevre değişkenlerinizi (environment variable) ekrana yazdırmak için cat ~/.profile yazın
- Şu değişkenleri bulun ve kopyalayın: POSTGRES_DB, POSTGRES_USER ve POSTGRES_PASSWORD
Veritabanı konteynerınıza erişip psql kullanarak oluşturabilir veya bir Veritabanı Yöneticisi kullanabilirsiniz. Bu
makalede ücretsiz evrensel bir veritabanı yöneticisi olan DBeaver'ı kullanacağız.
- DBeaver'ı açın
- Yeni bir bağlantı oluşturmak için sol üst çubukta `+` simgesine tıklayın
- PostgreSQL'i seçin ve İleri'ye tıklayın

- Sonra SSH sekmesine geçin ve aşağıdaki alanları doldurun:

- Test connection'a tıklayın ve çalıştığını doğrulayın
- Başarı mesajı görürseniz, Save'e tıklayın ve ekranı kapatın
- Sol navigasyon çubuğunda, az önce oluşturduğumuz bağlantıyı genişletin
- Databases öğesine sağ tıklayın
- Create New Database'e tıklayın
- Alanları doldurun ve OK'e tıklayın
7. Adım - Stormkit'te Go tabanlı API'yi Kurma
Henüz giriş yapmadıysanız, Stormkit arayüzüne erişmek için 5. adımı takip edin. Birkaç seçenekli bir başlangıç ekranı sizi karşılayacak:

Normal koşullarda Stormkit public repository dediğimiz, herkese açık olan repository'lere erişim sağlar, ancak private repository'lere erişmeniz gerekirse,
bu dokümantasyonu takip edebilirsiniz. Bu eğitim için herkese açık olan bir örnek repository kullanacağız.
- Import from URL'e tıklayın.
- https://github.com/stormkit-io/stormkit-examples yazın ve Import repo'ya tıklayın
- Production environment'a tıklayın
- Sol menüde, kurulum ayarlarına erişmek ve uygulamanızı yapılandırmak için Build'e tıklayın:
- Save'e tıklayın
- Sonra, Server ayarlarına gelin ve sunucu ayarlarınızı yapılandırın:
- Son olarak Deploy'a tıklayın
- Deployment tamamlandığında, Preview'a tıklayın.
İsteğe bağlı: Uyguluma Adını Değistirme
Geliştirme endpoint'lerinize daha akılda kalıcı bir URL'den erişim sağlamak için uygulamanızın ismini değiştirebilirsiniz.
- Uygulamanızı oluşturduktan sonra Settings'e tıklayın
- Display name'i daha anlamlı bir şeyle değiştirin: Örneğin go-api.
- Update'e tıklayın
İsteğe bağlı: Go Sürümünü Yönetme
Go sürümünüzü yönetmek için .go-version, mise.toml veya .tool-versions dosyası kullanmanızı öneriyoruz. Stormkit otomatik olarak bu dosyalarda belirtilen sürümleri yükleyecektir.
8. Adım - TanStack Uygulamasını Kurma
- Import from URL'e tıklayın.
- https://github.com/stormkit-io/stormkit-examples yazın ve Import repo'ya tıklayın
- Production environment'a tıklayın
- Build root'u TanStack klasörünü işaret edecek şekilde güncelleyin: `./tanstack-ssr`
- Save'e tıklayın
- Deploy'a tıklayın
Stormkit bu deployment'tan iki farklı klasör oluşturacak:
- Statik dosyalar: Bu dosyalar herhangi bir sunucu eylemini çağırmadan statik olarak servis edilecek. Yüklenen dosyaları Build manifest'i kontrol ederek doğrulayabilirsiniz.
- Sunucu dosyaları: Bu dosyalar talep üzerine çağrılacak. Bunları Lambda fonksiyonları gibi düşünebilirsiniz.
Sonuç
Tebrikler! Hetzner VPS'inizi Stormkit kullanarak güçlü bir deployment ve hosting platformuna başarıyla dönüştürdünüz. Bu yazı boyunca birkaç temel hedefe ulaştınız:
- Optimal özelliklere sahip bir VPS kurdunuz ve yapılandırdınız
- Konteynerleştirilmiş deployment'lar için Docker Compose ile Stormkit'i yüklediniz
- Veri kalıcılığı için yerleşik PostgreSQL veritabanına bağlandınız
- Özel build yapılandırmaları ile Go tabanlı bir API deploy ettiniz
- Hem statik hem de sunucu tarafı rendering yapabilen hibrit bir TanStack uygulaması deploy ettiniz
VPS'iniz artık aynı anda birden fazla uygulamayı işleyebilen eksiksiz bir deployment platformu olarak hizmet veriyor. Otomatik TLS sertifikası oluşturma uygulamalarınızın güvenli olmasını sağlarken, Stormkit arayüzü devam eden yönetimi basit hale getiriyor.
Bu kurulumla, ek uygulamalar deploy etmeye, altyapınızı ihtiyaca göre ölçeklendirmeye devam edebilir ve kendi kendine barındırılan deployment platformuna sahip olmanın avantajlarından tam olarak yararlanabilirsiniz. İster kişisel projeler üzerinde çalışıyor olun ister müşteriler için uygulamalar yönetiyor olun, artık sağlam bir hosting çözümü için iyi bir temele sahipsiniz.