İçeriğe geç

Docker ile ya da elle kurulum

İndirilen BorCube paketini Docker Compose ile ya da Node.js ve kendi veritabanınla elle kurmak, güncellemek ve yedeklemek.

Önerilen yol Ubuntu'da tek komutla kurulum. Docker kullanıyorsan ya da sunucunu tamamen kendin yönetmek istiyorsan BorCube paketiyle iki yol daha var. Bu iki yolla kurulan sitede panelden tek tıkla güncelleme yoktur; yeni sürümü elle kurarsın.

Paketi indir#

  1. borcube.com'da Hesabım → İndirmeler sayfasını aç.
  2. BorCube bölümünde İndir'e bas. Dosyanın adı borcube-cms-<sürüm>-linux-x64.tar.gz biçimindedir.
  3. Dosyayı sunucuna kopyala (ör. scp ya da bir SFTP programıyla).

Dosyanın bozulmadığını denetlemek için sunucuda özetini al ve İndirmeler sayfasındaki SHA-256 değeriyle karşılaştır:

Komut
sha256sum borcube-cms-<sürüm>-linux-x64.tar.gz

Paket Linux x64 içindir. İçinde şunlar var:

DosyaNe işe yarar
apps/cms/server.jsSitenin kendisi; Node.js ile çalışır.
start.shElle kurulumda siteyi başlatır.
Dockerfile, docker-compose.yml, ornek.envDocker kiti.
kur.shTek komutla kurulum betiği.
README.txtKurulum ve güncelleme notları.
VERSIONPaketin sürüm numarası.

Docker ile kurulum#

Docker ve Docker Compose yüklü, x86_64 bir sunucu gerekir. Site imajı paketin kendisinden derlenir. Kit üç konteyner tanımlar: db (MySQL 8.4), borcube (site) ve isteğe bağlı caddy (HTTPS).

1. Paketi aç

Komut
tar -xzf borcube-cms-<sürüm>-linux-x64.tar.gz && cd borcube-cms-<sürüm>

2. Ayar dosyasını hazırla

Komut
cp ornek.env .env
nano .env
AyarNe yazılır
DOMAINSitenin alan adı, https:// olmadan. DNS'i bu sunucuya yönlenmiş olmalı.
DB_PASSWORDVeritabanı şifresi. Yalnız harf ve rakam kullan; openssl rand -hex 24 ile üretebilirsin.
PORTSitenin bu makinede dinlediği port. Varsayılan 3000.

3. Başlat

HTTPS'i Caddy versin (80 ve 443 portları boş olmalı):

Komut
docker compose --profile https up -d --build

Kendi Nginx ya da Caddy'n varsa Caddy'siz başlat:

Komut
docker compose up -d --build

Site yalnız bu makineden, 127.0.0.1:3000 adresinden erişilir (PORT'u değiştirdiysen o port). Ters vekilini oraya yönlendir.

4. Kurulum anahtarını al

Komut
docker compose logs borcube | grep "Kurulum anahtarı"

Sonra https://<alan adın>/install adresini aç. Veritabanı adımı hazır gelir; Devam et yeterli. Bkz. Kurulum sihirbazı.

Docker'da veriler, güncelleme ve yedek

  • Veriler Docker birimlerinde durur: borcube_db (veritabanı) ve borcube_data (ayarlar, yüklenen dosyalar, tema düzenlemeleri). Konteynerleri yeniden oluşturmak verileri silmez.
  • Güncelleme: yeni paketi yeni bir klasöre aç, eski klasördeki .env dosyasını oraya kopyala ve aynı başlatma komutunu (aynı Caddy seçeneğiyle) yeni klasörde çalıştır. Veritabanı ilk açılışta kendiliğinden güncellenir. Panelin Güncellemeler sayfası da Docker kurulumunda bu adımları gösterir.
  • Yedek: Docker kitinde otomatik gece yedeği yoktur; yedeği kendin al. Veritabanı için:
Komut
docker compose exec db sh -c 'mysqldump -uborcube -p"$MYSQL_PASSWORD" borcube' > yedek.sql

borcube_data biriminin de yedeğini almayı unutma. Bkz. Yedekleme.

Elle kurulum#

Gerekenler

  • glibc kullanan bir Linux (ör. Ubuntu 22.04 / 24.04), x86_64.
  • Node.js 24.
  • MySQL 8+ ya da MariaDB 10.6+, boş bir veritabanı ve o veritabanına yetkili bir kullanıcı.
  • HTTPS veren bir ters vekil (reverse proxy): alan adına gelen istekleri karşılayıp sunucunun içinde çalışan siteye ileten program. Caddy ya da Nginx olur.

Veritabanını henüz oluşturmadıysan MySQL'de şuna benzer komutlarla oluşturabilirsin (şifreyi değiştir):

sql
CREATE DATABASE borcube CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'borcube'@'127.0.0.1' IDENTIFIED BY 'guclu-bir-sifre';
GRANT ALL PRIVILEGES ON borcube.* TO 'borcube'@'127.0.0.1';
FLUSH PRIVILEGES;

1. Paketi aç ve başlat

Komut
tar -xzf borcube-cms-<sürüm>-linux-x64.tar.gz
./borcube-cms-<sürüm>/start.sh

start.sh şu ortam değişkenlerini okur:

DeğişkenVarsayılanAnlamı
BORCUBE_STORAGE_DIRPaket klasörünün yanındaki borcube-dataAyarlar, yüklenen dosyalar ve tema düzenlemeleri
PORT3000Sitenin dinlediği port
BORCUBE_HOST127.0.0.1Sitenin dinlediği adres

Veri klasörü uygulama klasörünün dışında tutulur; böylece yeni sürüme geçerken silinmez.

2. Ters vekili yönlendir

Ters vekil, alan adına gelen istekleri 127.0.0.1:3000'e iletmeli. Caddy için örnek Caddyfile:

Metin
oyun.ornek.com {
  reverse_proxy 127.0.0.1:3000
}

Caddy sertifikayı kendiliğinden alır. Nginx kullanıyorsan:

  • Sertifikayı kendin almalısın.
  • Host, X-Forwarded-For ve X-Forwarded-Proto başlıklarını siteye ilet.
  • Nginx'in varsayılan istek boyutu sınırı 1 MB'tır; görsel yüklemeleri bunu aşabilir. client_max_body_size değerini yükselt (tek komutla kurulumda bu sınır 30 MB'tır).

3. Kurulum sihirbazını aç

Siteyi tarayıcıda aç; /install adresine yönlendirilirsin. Kurulum anahtarı site ilk açıldığında konsola (günlüğe) yazılır ve veri klasöründeki install-token.txt dosyasına kaydedilir. Sihirbaz veritabanını, yönetici hesabını ve lisans anahtarını sorar. Bkz. Kurulum sihirbazı.

4. Servis olarak çalıştır

Sitenin sunucu yeniden başlayınca da açılması için bir systemd servisi kullan. Örnek (yolları ve kullanıcıyı kendine göre değiştir):

ini
[Unit]
Description=BorCube
After=network-online.target mysql.service

[Service]
User=borcube
ExecStart=/opt/borcube-cms-<sürüm>/start.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

Servisin kullanıcısı veri klasörüne yazabilmeli ve node komutunu bulabilmeli.

Elle güncelleme

  1. Veritabanının yedeğini al (mysqldump) ve veri klasörünü (borcube-data) kopyala.
  2. Yeni arşivi eski klasörün yanına aç. Servisi yeni klasördeki start.sh'e çevir. Veri klasörü aynı kalır.
  3. Servisi yeniden başlat. Veritabanı ilk açılışta kendiliğinden güncellenir.

Bir hata olursa site açılmaz ve günlükte nedeni yazar. O zaman yedeği geri yükle ve servisi eski klasöre döndür.

Elle kurulan sitede panelin Güncellemeler sayfası yeni sürümleri gösterir ama kuramaz. Bkz. Güncellemeler.

Bir yanlış ya da eksik mi gördün? Discord’dan haber ver, hemen düzeltelim.