Serdivan Belediyesi Bilgi İşlem Müdürlüğü olarak, envanter süreçlerimizi dijitalleştirmek ve varlık yönetimini merkezi bir yapıya kavuşturmak amacıyla Snipe-IT platformunu tercih ettik. Bu yazıda, Debian tabanlı bir sunucu üzerinde gerçekleştirdiğimiz kurulum sürecini ve karşılaştığımız engelleri nasıl aştığımızı teknik detaylarıyla paylaşıyorum.
1. Sunucu Hazırlığı ve Docker Kurulumu
Sistemimiz için hazırladığımız Debian tabanlı sanal sunucu üzerinde öncelikle Docker altyapısını kurarak işe başladık. Paket listelerini güncelleyip gerekli bağımlılıkları yükledik:
sudo apt-get updatesudo apt-get install docker.io -y
Ardından, veritabanı (MariaDB) ve uygulama katmanlarını yönetmek için docker-compose.yml dosyamızı oluşturduk. Ancak burada karşılaştığımız sürüm uyuşmazlığı, sürecin en kritik hata ayıklama aşamasını oluşturdu.
2. Kritik Hata: Docker Compose v1 ve “KeyError: ‘ContainerConfig’”
Standart docker-compose (v1.29) kullanımı sırasında, Snipe-IT’nin güncel imajlarındaki metadata yapısından kaynaklanan şu hatayı aldık: KeyError: 'ContainerConfig'
Bu sorun, eski nesil Python tabanlı Docker Compose sürümünün yeni imaj yapılarını tanıyamamasından kaynaklanıyordu. Sorunu aşmak için Docker Compose V2 eklentisini manuel olarak sisteme dahil ettik:
#Plugin klasörünü oluşturma ve güncel sürümü indirmemkdir -p ~/.docker/cli-plugins/curl -SL https://github.com/docker/compose/releases/download/v2.26.1/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-composechmod +x ~/.docker/cli-plugins/docker-compose
#Global kullanım için root dizinine taşımasudo mkdir -p /usr/local/lib/docker/cli-pluginssudo cp ~/.docker/cli-plugins/docker-compose /usr/local/lib/docker/cli-plugins/docker-composesudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
Bu işlemin ardından konteynerları hata almadan ayağa kaldırdık:
sudo docker compose up -d
3. Active Directory (LDAP) Entegrasyonu
Belediye personel verilerini otomatik çekmek için LDAP konfigürasyonunu gerçekleştirdik. Test aşamasında kullanıcı verilerinin NULL gelmesi üzerine, Mapping (Alan Eşleştirme) ayarlarını kurum içi Active Directory yapımıza göre şu şekilde revize ettik:
- LDAP Username Field:
samaccountname - LDAP First Name Field:
givenname - LDAP Last Name Field:
sn - LDAP Email Field:
mail
Bu tanımlamalar ile personellerin isim, soyisim ve e-posta verilerinin senkronize bir şekilde sisteme aktarılmasını sağladık.
4. Zimbra SMTP Yapılandırması ve DNS Çözümleme Sorunu
Zimmet bildirimlerinin iletilmesi için kurumsal mail sunucumuz olan Zimbra’yı sisteme entegre ettik. Konfigürasyon sırasında konteynerın iç DNS yapısı nedeniyle mail.serdivan.bel.tr adresini çözümleyemediğini (getaddrinfo failed) tespit ettik.
Bu engeli aşmak için docker-compose.yml dosyasındaki MAIL_HOST değişkenine doğrudan Zimbra sunucumuzun IP adresini tanımladık:
#docker-compose.yml environment bloğuMAIL_DRIVER=smtpMAIL_HOST=192.168.x.x # Zimbra Sunucu IPMAIL_PORT=587MAIL_ENCRYPTION=tlsMAIL_USERNAME=zimbra@serdivan.bel.trMAIL_PASSWORD='sifre'
Konfigürasyon değişikliği sonrası sistemi yeniden başlattık:
sudo docker compose downsudo docker compose up -d
5. Mevcut Durum ve Entegre Sistemler
Başarıyla tamamlanan kurulumun ardından Snipe-IT, müdürlüğümüzdeki diğer yönetim araçlarıyla tam uyum içinde çalışmaktadır. Güncel yapımız şu şekildedir:
- Envanter (Snipe-IT): Tüm donanım ve lisans takibi bu merkezden yapılıyor.
- İzleme (Zabbix & Grafana): Sistem odasındaki tüm sunucu ve aktif cihazlar anlık olarak izleniyor.
- Ağ Yönetimi (PRTG): Ağ trafiği ve servis erişilebilirliği denetleniyor.
- Destek (Bridge): Kullanıcı talepleri takibi buradan devam ediyor.
Bu sistemin devreye alınması, Bilgi İşlem Müdürlüğü olarak varlık yönetimindeki operasyonel yükümüzü minimize etmiş ve denetlenebilir bir yapı sağlamıştır.
