Anasayfa Bloglar VPS'inizi Deployment ve Hosting Platformuna Dönüştürün
Coderspace Pro Coderspace Pro

VPS'inizi Deployment ve Hosting Platformuna Dönüştürün

6 Dakika Okuma Süresi · 01.07.2025
Blog Small Image

Bu içeriği yapay zeka ile özetle!

Herkese merhaba 👋🏼

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

- Ana bölümde aşağıdaki alanları doldurun

Alan adı

Değer

Açıklama

Host

localhost

SSH tüneli kullanacağız, bu yüzden böyle bırakın

Database

stormkit_db

Veya POSTGRES_DB çevre değişkeninin değeri 

Username

stormkit_admin

Veya POSTGRES_USER çevre değişkeninin değeri 

Show all databases

Seçili

Bu kutuyu işaretlediğinizden emin olun

 

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

Alan adı

Değer

Açıklama

Host/IP

<sunucu-ip>

VPS'inizin IP adresi 

Username

root

SSH kullanıcısının adı

Authentication Method

Public Key

 

Private Key

$HOME/.ssh/id_rsa

Veya VPS'inize erişmek için kullandığınız SSH anahtarı

Passphrase

parola

Yoksa boş bırakın

 

- 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:

Alan adı

Değer

Açıklama

Install command

go get .

Dependency’leri yüklemek için kullandığımız komut 

Build command

go build -o dist/server

Projeyi build etmek için kullandığımız komut

Output folder

./dist

Sunucuya yükleyeceğimiz dosyaların konumu

Build root

./go-api

Repository içindeki projenin konumu, default “./”

- Save'e tıklayın

- Sonra, Server ayarlarına gelin ve sunucu ayarlarınızı yapılandırın:

Alan adı

Değer

Açıklama

Start command

./dist/server

Programı çalıştırmak için kullandığımız komut 

- 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.

İyi deployment'lar!

Bu içeriği yapay zeka ile özetle!

İÇERİKLER
Konu içeriği

Python ile Programlamaya Giriş 🧑‍💻 Veri bilimi, yazılım ve analitik dünyasının temel dili Python’u sıfırdan öğren. Veri dünyasına ilk adımını at! Hemen İncele!
Python ile Programlamaya Giriş 🧑‍💻 Veri bilimi, yazılım ve analitik dünyasının temel dili Python’u sıfırdan öğren. Veri dünyasına ilk adımını at! Hemen İncele!

Önerilen İçerikler

Tüm İçerikler

Açık Etkinlikler

Tüm Etkinlikler
Aktek Bilişim Genç YetenekliO Programı
Aktek Bilişim Genç YetenekliO Programı

🚀 Aktek Bilişim, Genç YetenekliO Programı ile genç yetenekleri bekliyor!

Yetenek Programı
  • Son Başvuru 31 Mayıs
Detaylı Bilgi
Togg Beyonder
Togg Beyonder

We Only Achieve Togg’ether

Yetenek Programı
  • Son Başvuru 31 Mayıs
Detaylı Bilgi
Teknoloji Zirvesi
Teknoloji Zirvesi

Türkiye’nin önde gelen şirketleri; yazılım, veri, güvenlik ve inovasyon odağında öğrenci ve yeni mezunlarla buluşuyor.

Meet-up
  • Son Başvuru 10 Haziran
  • Başlangıç 10 Haziran
  • Bitiş 10 Haziran
Detaylı Bilgi
Tüm Etkinlikler

Codecast: Yazılımcı Sohbetleri

Farklı alanlardan konuklarımızın katılımlarıyla gerçekleşen Codecast’te yazılım ve veri bilimi yöneticilerini Podcast serimizde konuk ediyoruz!