Kendi Sunucunda IaC: Docker Compose ile Otomatik Dağıtım

Evde barındırılan sunucu kurmak isteyenler genellikle aynı soruna çarpıyor: tüm servisleri (Forgejo, Traefik, OpenWebUI gibi) tek bir yerde yönetmek, ama aynı zamanda kendi uygulamalarını da eklemek istiyorlar.

Bir geliştirici bu problemi Infrastructure as Code (IaC) yaklaşımıyla çözmek istiyor. Planı basit: Git deposunda Docker Compose dosyalarını sakla, push yap ve sunucu otomatik olarak güncellensin. Ayrıca custom uygulamalar da aynı yapıya uygun olsun.

Önerilen klasör yapısı şöyle görünüyor:

1├── infra/
2│ ├── forgejo.dockercompose.yml
3│ ├── traefik.dockercompose.yml
4│ ├── openwebui.dockercompose.yml
5│ └── tailscale.dockercompose.yml
6└── src/app1/
7├── Dockerfile
8└── docker-compose.yml

Bu yaklaşımda önemli noktalar var: Standart servisleri `infra/` klasöründe tutmak, kendi uygulamalarını `src/` altında organize etmek, ve tüm bunları tek bir push işlemiyle dağıtmak.

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası

Bu için Gitea/Forgejo üzerinde webhook kurup, push olduğunda sunucuda otomatik script çalıştırmak gerekir. Script tüm Compose dosyalarını bulup `docker-compose up -d` ile güncelleyebilir.

Çoklu custom app için ayrı repo kullanmak da mantıklı olabilir, böylece her app kendi CI/CD'sini yönetir, ama sonuçta yine ana sunucu deposunda trigger edilir.

Bu yöntem Kubernetes gibi ağır araçlara gitmeden, basit ve kontrollü bir self-hosted çözüm sağlıyor.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz