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#
- borcube.com'da Hesabım → İndirmeler sayfasını aç.
- BorCube bölümünde İndir'e bas. Dosyanın adı
borcube-cms-<sürüm>-linux-x64.tar.gzbiçimindedir. - Dosyayı sunucuna kopyala (ör.
scpya 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:
sha256sum borcube-cms-<sürüm>-linux-x64.tar.gzPaket Linux x64 içindir. İçinde şunlar var:
| Dosya | Ne işe yarar |
|---|---|
apps/cms/server.js | Sitenin kendisi; Node.js ile çalışır. |
start.sh | Elle kurulumda siteyi başlatır. |
Dockerfile, docker-compose.yml, ornek.env | Docker kiti. |
kur.sh | Tek komutla kurulum betiği. |
README.txt | Kurulum ve güncelleme notları. |
VERSION | Paketin 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ç
tar -xzf borcube-cms-<sürüm>-linux-x64.tar.gz && cd borcube-cms-<sürüm>2. Ayar dosyasını hazırla
cp ornek.env .env
nano .env| Ayar | Ne yazılır |
|---|---|
DOMAIN | Sitenin alan adı, https:// olmadan. DNS'i bu sunucuya yönlenmiş olmalı. |
DB_PASSWORD | Veritabanı şifresi. Yalnız harf ve rakam kullan; openssl rand -hex 24 ile üretebilirsin. |
PORT | Sitenin bu makinede dinlediği port. Varsayılan 3000. |
3. Başlat
HTTPS'i Caddy versin (80 ve 443 portları boş olmalı):
docker compose --profile https up -d --buildKendi Nginx ya da Caddy'n varsa Caddy'siz başlat:
docker compose up -d --buildSite 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
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ı) veborcube_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
.envdosyası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:
docker compose exec db sh -c 'mysqldump -uborcube -p"$MYSQL_PASSWORD" borcube' > yedek.sqlborcube_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):
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
tar -xzf borcube-cms-<sürüm>-linux-x64.tar.gz
./borcube-cms-<sürüm>/start.shstart.sh şu ortam değişkenlerini okur:
| Değişken | Varsayılan | Anlamı |
|---|---|---|
BORCUBE_STORAGE_DIR | Paket klasörünün yanındaki borcube-data | Ayarlar, yüklenen dosyalar ve tema düzenlemeleri |
PORT | 3000 | Sitenin dinlediği port |
BORCUBE_HOST | 127.0.0.1 | Sitenin 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:
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-ForveX-Forwarded-Protobaş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_sizedeğ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):
[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.targetServisin kullanıcısı veri klasörüne yazabilmeli ve node komutunu bulabilmeli.
Elle güncelleme
- Veritabanının yedeğini al (
mysqldump) ve veri klasörünü (borcube-data) kopyala. - Yeni arşivi eski klasörün yanına aç. Servisi yeni klasördeki
start.sh'e çevir. Veri klasörü aynı kalır. - 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.