Self-Host
If you want your data to stay on your own servers, you can install Teknik Danışman on-premise or in your own private cloud. Suited for KVKK privacy, air-gapped environments (banking/defence) and highly regulated sectors.
Who is it for?
- Banking, insurance, public sector — data must not leave the organisation
- Defence, healthcare, legal — sensitive information classification in place
- 50+ person IT teams — want to enforce their own DR/backup policy
- Large holdings using off-cloud data centres
System requirements
| Bileşen | Minimum | Önerilen |
|---|---|---|
| OS | Ubuntu 22.04 / Debian 12 / RHEL 9 | Ubuntu 24.04 LTS |
| CPU | 2 vCPU | 4 vCPU (50+ kullanıcı için) |
| RAM | 4 GB | 8 GB |
| Disk | 20 GB SSD | 100 GB NVMe |
| PHP | 8.2 | 8.3 + FPM + OPcache |
| MySQL | 8.0 | 8.4 LTS |
| Web sunucusu | nginx 1.20+ veya Apache 2.4 | nginx 1.24+ |
| TLS | Let's Encrypt veya kurumsal CA | Wildcard sertifika (multi-tenant için) |
Deployment seçenekleri
Single-node
Tek sunucuya nginx + PHP-FPM + MySQL. 50-200 kullanıcı.
En basit — referans kurulumumuz da bu pattern.
HA cluster
nginx LB + 2+ app sunucusu + MySQL master/replica.
500+ kullanıcı için. Session: Redis veya DB.
Docker Compose
Tek docker-compose.yml ile dev/test ortamı.
Roadmap: Q3 2026.
Kubernetes (Helm)
Helm chart ile multi-replica deployment.
Roadmap: 2027.
Hızlı kurulum (single-node)
apt update && apt install -y nginx mysql-server \
php8.3-fpm php8.3-mysql php8.3-curl php8.3-mbstring \
php8.3-xml php8.3-gd php8.3-zip php8.3-intl \
certbot python3-certbot-nginx
Licenseslı bir tarball + tek seferlik license_key alırsınız. /var/www/teknikdanisman'a açın.
cd /var/www && tar -xzf teknikdanisman-vX.Y.Z.tar.gz
chown -R www-data:www-data teknikdanisman
Master DB credentials, GROQ_API_KEY (AI Assistant için, opsiyonel), license_key.
<?php
define('MASTER_DB_HOST', 'localhost');
define('MASTER_DB_NAME', 'td_master');
define('MASTER_DB_USER', 'tdpanel');
define('MASTER_DB_PASS', '...');
define('LICENSE_KEY', 'td-onprem-...');
define('GROQ_API_KEY', ''); // opsiyonel
define('APP_ENCRYPTION_KEY', '...'); // openssl rand -hex 32
mysql -e "CREATE DATABASE td_master CHARACTER SET utf8mb4"
mysql -e "GRANT ALL ON td_master.* TO 'tdpanel'@'localhost' IDENTIFIED BY '...'"
mysql -e "GRANT CREATE, DROP ON *.* TO 'tdpanel'@'localhost'" # tenant DB'leri için
cd /var/www/teknikdanisman && php init_master.php
cp deploy/nginx.conf /etc/nginx/sites-available/teknikdanisman
ln -s ../sites-available/teknikdanisman /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d panel.firma.local
Bildirim, yedekleme ve webhook teslim cron'ları için www-data crontab'a:
*/15 * * * * cd /var/www/teknikdanisman && php cron/send_alerts.php
30 9 * * * cd /var/www/teknikdanisman && php cron/trial_warnings.php
*/5 * * * * cd /var/www/teknikdanisman && php cron/pdks_pull_runner.php
* * * * * cd /var/www/teknikdanisman && php cron/webhook_dispatch.php
0 3 * * * bash /var/www/teknikdanisman/ops/teknikdanisman_backup.sh
Licenseslama
Self-host modeli iki katman:
- Yıllık lisans — kullanıcı sayısı bazlı (50 / 200 / 500+).
license_keyile her kurulum kendini doğrular. - Support + güncellemeler — opsiyonel SLA paketi (8x5 standart, 24x7 enterprise).
Licenses olmadan kurulum açılışında "evaluation mode" çalışır (30 gün, 5 kullanıcı, banner ile uyarı).
Updatemeler
- Quarterly release cadence — yeni özellik + bug fix bundle
- Critical security fix'ler için ara release (CVSS 7+ için 48 saat)
- Migration runner (
php migrate.php up) ile downtime'sız schema upgrade - Changelog: /changelog.php ile tüm yamaların açıklaması
SaaS vs Self-Host
| Özellik | SaaS | Self-Host |
|---|---|---|
| Kurulum süresi | 5 dk | ~2 saat (ilk kurulum) |
| Updateme | Otomatik | Manuel (quarterly) |
| Yedek | Bizim DR runbook | Kendi yedek politikanız |
| Veri konumu | EU (Hetzner DE) | Sizin sunucunuz |
| Custom domain | Subdomain (vakıf.teknikdanisman.net) | Tam kontrol |
| SSO entegrasyon | Microsoft Entra ID (PoC) | Tam OIDC/SAML, kurumsal IdP |
| Fiyat | User/ay | Yıllık lisans + destek |