OpenDeploy - Açık Kaynak Web Deploy ve Sunucu Yönetim Paneli
Merhaba arkadaşlar,
Uzun süredir üzerinde çalıştığım
OpenDeploy projesini GitHub üzerinden ücretsiz ve açık kaynak olarak paylaşıyorum.
OpenDeploy; Linux sunucular üzerinde çalışan modern JavaScript projelerini web panel üzerinden yönetmek, deploy etmek, izlemek ve bakımını yapmak için geliştirilmiş açık kaynak bir kontrol panelidir.
Bu proje klasik bir deploy scripti değildir. Amaç; Node.js, Next.js, React, Express, NestJS, Vue, Nuxt, Astro, SvelteKit ve benzeri modern web projeleri için tek panelden yönetilebilen profesyonel bir self-hosted platform oluşturmaktır.
Proje Linki GitHub Ana Repo: https://github.com/hamzadenizyilmaz/OpenDeploy OpenDeploy DNS Cloud Repo:
Yakında ayrı repo olarak paylaşılacak.
Demo Panel: https://demo.opendeploy.com/login DNS Cloud Demo: https://dns.creartsoft.com/admin
Not: Demo bilgileri aktif edildiğinde konu güncellenecektir.
OpenDeploy Nedir?
OpenDeploy; web tarayıcısı üzerinden Linux sunuculardaki projeleri yönetebileceğiniz açık kaynak bir deploy ve operasyon panelidir.
Panel üzerinden:
- Proje oluşturabilirsiniz.
- GitHub, GitLab, Bitbucket veya manuel Git repo bağlayabilirsiniz.
- Node.js, Next.js, React, Vue, Nuxt, Express, NestJS ve benzeri projeleri deploy edebilirsiniz.
- PM2 process yönetimi yapabilirsiniz.
- Nginx veya Apache reverse proxy oluşturabilirsiniz.
- Domain bağlayabilirsiniz.
- SSL sertifikası alabilirsiniz.
- Database yönetebilirsiniz.
- SQL console kullanabilirsiniz.
- Firewall ve port yönetimi yapabilirsiniz.
- Dosya yöneticisi üzerinden proje dosyalarını düzenleyebilirsiniz.
- Logları takip edebilirsiniz.
- Backup alabilirsiniz.
- Monitoring ekranından sunucu durumunu izleyebilirsiniz.
- Audit log ile yapılan işlemleri takip edebilirsiniz.
Desteklenen Proje Tipleri- Node.js API
- Express.js
- Fastify
- NestJS
- Next.js
- React
- Vue
- Nuxt
- Vite
- Astro
- SvelteKit
- Static Site
- Strapi
- Payload CMS
- Custom JavaScript App
Desteklenen İşletim Sistemleri- Ubuntu 22.04+
- Ubuntu 24.04+
- Debian 11+
- Debian 12+
- AlmaLinux 9+
- Rocky Linux 9+
Tek Komut Kurulum
Kurulum komutu:
curl -fsSL https://raw.githubusercontent.com/hamzadenizyilmaz/OpenDeploy/main/install.sh | bash
Domain ile kurulum örneği:
curl -fsSL https://raw.githubusercontent.com/hamzadenizyilmaz/OpenDeploy/main/install.sh | bash -s -- --domain panel.example.com --nginx --ssl-email admin@example.com --production
Temel Özellikler- Dashboard: CPU, RAM, disk, network, uptime, servis durumları ve son işlemler.
- Project Manager: Proje oluşturma, deploy, rebuild, restart, rollback ve log takibi.
- Deployments: Git tabanlı deploy akışı, build logları, hata analizleri.
- PM2 Manager: Node.js process start, stop, restart ve log takibi.
- Database Manager: PostgreSQL, MySQL/MariaDB, Redis, MongoDB ve SQLite yönetim ekranları.
- SQL Console: Güvenlik kontrollü SQL çalıştırma alanı.
- DNS / Domains: Domain bağlama ve OpenDeploy DNS Cloud entegrasyonu.
- SSL Certificates: SSL alma, yenileme ve sertifika durumu izleme.
- Nginx / Apache: Reverse proxy, config test, reload ve template yönetimi.
- Firewall: UFW / firewalld destekli firewall kuralları.
- Ports: Açık portları, dinleyen servisleri ve port presetlerini yönetme.
- File Manager: Güvenli proje klasörü bazlı dosya yönetimi.
- Terminal: Yetki kontrollü ve audit log destekli terminal işlemleri.
- Backups: Proje, database, config ve panel backup yönetimi.
- Audit Logs: Kullanıcı, deploy, database, terminal, dosya ve sistem işlemlerinin loglanması.
- Security Center: WAF Rules, Advanced Rules, Rate Limiting ve Challenge Settings.
OpenDeploy DNS Cloud
OpenDeploy ile birlikte merkezi DNS yönetimi için
OpenDeploy DNS Cloud yapısı da planlanmıştır.
Varsayılan merkezi DNS modeli:
DNS Panel:https://dns.creartsoft.com Nameserver 1: dp-ns1.opendeploy.com
Nameserver 2: dp-ns2.opendeploy.com
Bu yapı sayesinde kullanıcı OpenDeploy panelinden domain eklediğinde sistem kullanıcıya nameserver adreslerini gösterir.
Kullanıcı domain firmasından NS adreslerini değiştirdiğinde domain OpenDeploy paneli üzerinden yönetilebilir hale gelir.
Desteklenen DNS kayıt tipleri:
- A
- AAAA
- CNAME
- TXT
- MX
- NS
- SOA
- SRV
- CAA
DNS Cloud tarafı ayrıca self-hosted olarak da kurulabilecek şekilde tasarlanmaktadır.
Güvenlik Özellikleri
OpenDeploy güvenlik tarafında API servisinin doğrudan root shell gibi çalışmaması üzerine tasarlanmıştır. Host seviyesindeki işlemler ayrı bir Agent servisi üzerinden kontrollü şekilde yapılır.
Öne çıkan güvenlik özellikleri:
- JWT access token
- Refresh token
- Role Based Access Control
- Project-level permission
- Environment-level permission
- 2FA / TOTP altyapısı
- API key yönetimi
- Audit log
- Sensitive value masking
- Rate limiting
- HSTS
- Content Security Policy
- X-Frame-Options
- X-Content-Type-Options
- Argon2id password hashing
- AES-256-GCM encryption helper
- Envelope encryption altyapısı
- Path traversal koruması
- Command injection guard
- Dangerous SQL guard
Database Browser
OpenDeploy içinde browser üzerinden database yönetim ekranı bulunur.
Desteklenen sistemler:
- PostgreSQL
- MySQL
- MariaDB
- MongoDB
- Redis
- SQLite
Yapılabilecek işlemler:
- Database listeleme
- Table / collection listeleme
- Data grid görüntüleme
- Row insert / edit / delete
- Query editor
- Query history
- CSV / JSON export
- Backup / restore
- User privilege yönetimi
- Active connection görüntüleme
Compliance ve Enterprise Roadmap
Projede uzun vadede aşağıdaki başlıklar hedeflenmektedir:
- Audit export
- Audit retention policy
- Role change history
- API key usage report
- Login history
- Session revocation
- IP allowlist
- 2FA enforcement policy
- Password policy controls
- Security baseline report
- Backup compliance report
- Approval workflow
- Team / project ownership
- Project-level RBAC
- Workflow automation builder
- Webhook subscriptions
- Queue isolation
- Worker concurrency controls
- SSO / SAML / OIDC
- SCIM user provisioning
- Multi-tenant organization model
- HA API profile
- HA DNS profile
- DNSSEC planning
- SIEM export
- Disaster recovery runbooks
Kimler Kullanabilir?- Freelance yazılımcılar
- Ajanslar
- Kendi sunucusunda Node.js proje barındıranlar
- Next.js / React projelerini yönetmek isteyenler
- Vercel / Netlify alternatifi self-hosted yapı arayanlar
- Birden fazla müşteri projesi yöneten firmalar
- Linux sunucu yönetimini web panelden yapmak isteyen geliştiriciler
Neden OpenDeploy?
OpenDeploy’in temel amacı; geliştiricilere ve ajanslara kendi sunucularında modern web projelerini kolay, güvenli ve merkezi şekilde yönetebilecekleri bir panel sunmaktır.
Birden fazla müşteri projesi olan geliştiriciler için her projeyi ayrı ayrı SSH ile yönetmek, manuel Nginx config yazmak, PM2 process kontrol etmek, SSL yenilemek, backup almak ve log takip etmek zamanla zorlaşmaktadır.
OpenDeploy bu işlemleri tek panel üzerinden yönetilebilir hale getirmeyi hedefler.
Öne Çıkan Kullanım Senaryoları- Birden fazla Node.js projesini tek sunucuda yönetmek.
- Next.js projelerini kendi VPS sunucusunda barındırmak.
- Müşteri projeleri için domain, SSL ve deploy süreçlerini kolaylaştırmak.
- Ajans içinde developer, admin ve viewer gibi rollerle yetki vermek.
- Database ve SQL işlemlerini panelden yapmak.
- Sunucu performansını ve servis durumlarını izlemek.
- Projeler için düzenli backup almak.
- Deploy hatalarını log üzerinden takip etmek.
Planlanan Geliştirmeler- Docker deploy desteği
- Docker Compose desteği
- Webhook deploy sistemi
- Rollback sistemi
- Cloudflare DNS entegrasyonu
- Telegram / Discord bildirimleri
- Terminal modülü
- Multi-user permission sistemi
- Multi-server agent
- Cluster yönetimi
- Load balancer desteği
- Zero downtime deployment
- Preview deployments
- Team workspace
- Advanced monitoring
- AI deploy log analyzer
Lisans
Proje açık kaynak olarak GitHub üzerinde yayınlanmıştır.
Lisans bilgisi için GitHub reposundaki LICENSE dosyasını inceleyebilirsiniz.
GitHub
Projeyi incelemek, yıldızlamak veya katkı sağlamak için:
https://github.com/hamzadenizyilmaz/OpenDeploy
Katkı vermek isteyenler issue açabilir, pull request gönderebilir veya önerilerini konu altına yazabilir.
Son Not
OpenDeploy hâlâ aktif geliştirilen bir projedir.
Amaç; açık kaynak, self-hosted, güvenli, modern ve geliştirici dostu bir deploy / server management paneli oluşturmaktır.
Geri bildirim, öneri ve katkılarınızı bekliyorum.
Teşekkürler.