Yapılacaklar listesi tutmak için bir uygulama seçtiyseniz, muhtemelen hep aynı ikilemi yaşamışsınızdır: ücretsiz sürümlerin sınırları can sıkıcı, ücretli planlar ise sadece "sekiz görevden fazlasını hatırlatabilmek" için gereğinden pahalı. Üstüne bir de görevlerinizin, projelerinizin, iş notlarınızın başka bir şirketin sunucusunda durması var. İşte Vikunja tam bu noktada devreye giriyor. Kişisel bir yapılacaklar listesinden ekip düzeyinde proje yönetimine kadar uzanan bu açık kaynak araç, hem verinizi kendi sunucunuzda tutmanıza hem de Todoist, Asana veya Trello gibi popüler servislerin sunduğu deneyimi ücretsiz yaşamanıza imkân veriyor.
Bu rehberde Vikunja'nın ne olduğunu, hangi görünümleri (liste, kano, gantt, takvim) sunduğunu, tek başınıza mı yoksa ekiple mi kullanmanın daha mantıklı olduğunu ve en önemlisi kendi sunucunuza Docker ile nasıl kuracağınızı adım adım anlatacağım. Ayrıca mobil erişim, API kullanımı, tekrarlayan görevler ve hatırlatıcılar gibi günlük hayatta gerçekten fark yaratan konulara da değineceğim. Amaç, yazının sonunda "kuruldu ama nasıl kullanacağımı bilmiyorum" dememeniz; onun yerine ilk projenizi oluşturup ilk görevinizi tamamlamaya başlamanız.
Vikunja Nedir ve Neden Tercih Edilir#
Vikunja, Go diliyle yazılmış, arka planda hafif bir API ve önünde modern bir web arayüzü çalıştıran açık kaynak bir görev ve proje yönetim aracıdır. Lisansı AGPLv3 olduğu için kaynak kodu tamamen açıktır; dilerseniz kendi sunucunuza kurar, dilerseniz Vikunja'nın barındırdığı bulut sürümünü kullanırsınız. Ama asıl gücü self-hosted (kendi sunucunuzda barındırma) senaryosunda ortaya çıkıyor: tek bir konteynerle çalışan, veritabanı olarak SQLite'tan PostgreSQL'e kadar farklı seçenekleri destekleyen, kaynak tüketimi son derece düşük bir yapı.
Piyasada bolca görev yönetim aracı varken Vikunja'yı öne çıkaran birkaç somut sebep sayabilirim. Birincisi, kaynak dostu olması: birkaç kullanıcılık bir kurulum, 512 MB RAM'e sahip küçük bir sanal sunucuda bile rahatça döner. İkincisi, tek bir görevi birden fazla açıdan görebilmeniz; aynı görev listesini bir bakışta liste, başka bir bakışta kanban panosu, üçüncü bir bakışta takvim olarak görüntülemek zamanlama alışkanlığınıza göre büyük kolaylık sağlar. Üçüncüsü, kilitlenme riskinin olmaması: verileriniz sizde durduğu için istediğiniz an dışa aktarır, taşır ya da yedeklersiniz.
Vikunja'yı, kod deposu barındırmak için kullanılan Gitea veya ekip dokümantasyonu için tercih edilen Outline gibi araçlarla aynı "kendi verini kendin barındır" felsefesinin bir parçası olarak düşünebilirsiniz. Bir ekipte bu üçlü yan yana çalıştığında, kod deposu, bilgi tabanı ve görev takibi tamamen sizin kontrolünüzde olur; hiçbiri için aylık abonelik ödemezsiniz.
Vikunja Görünümleri: Liste, Kanban, Gantt ve Takvim#
Vikunja'nın en çok sevilen yanı, aynı görev kümesini farklı görünümlerle sunmasıdır. Bir projede "görünüm" seçtiğinizde, aslında görevleri silmez veya kopyalamazsınız; sadece aynı veriye başka bir pencereden bakarsınız. Bu, çalışma tarzınıza göre büyük esneklik sağlar.
Liste görünümü, klasik yapılacaklar listesi mantığıyla çalışır. Görevleri alt alta sıralar, tamamladıklarınızın üstünü çizer ve son teslim tarihi, öncelik, atanan kişi gibi bilgileri satır satır gösterir. Günlük işlerini basitçe takip etmek isteyen çoğu kullanıcı için varsayılan ve yeterli görünüm budur.
Kanban görünümü (Vikunja içinde "pano" olarak da geçer), Trello'yu kullanmış olanlara tanıdık gelecek sütun mantığını getirir. "Yapılacak", "Devam Ediyor" ve "Bitti" gibi sütunlar oluşturur, görevleri sürükleyip bırakarak durumlarını değiştirirsiniz. Ekip çalışmasında iş akışını görsel olarak takip etmek için ideal bir düzendir.
Gantt görünümü, görevleri bir zaman çizelgesi üzerinde çubuklar halinde gösterir. Başlangıç ve bitiş tarihi olan görevler, takvim boyunca yatay bloklar olarak dizilir; böylece hangi işin ne zaman başladığını, nerede çakışma olduğunu ve projenin genel zamanlamasını tek bakışta görürsünüz. Proje planlaması yapanlar için değerli bir araçtır.
Takvim görünümü ise son teslim tarihi olan görevleri klasik bir aylık takvim üzerine yerleştirir. Bu görünüm, "bu hafta neler teslim edilecek" sorusunun cevabını en hızlı veren düzendir. Aşağıdaki tablo, hangi görünümün hangi ihtiyaca daha uygun olduğunu özetliyor.
| Görünüm | En uygun kullanım | Öne çıkan özellik |
|---|---|---|
| Liste | Günlük kişisel görevler | Hızlı ekleme, sıralama, filtreleme |
| Kanban / Pano | Ekip iş akışı takibi | Sürükle-bırak durum değişimi |
| Gantt | Proje zaman planlaması | Görevlerin zaman çizelgesi üzerinde çubuk gösterimi |
| Takvim | Teslim tarihi odaklı planlama | Aylık genel bakış |
| Tablo | Toplu düzenleme ve rapor | Sütun bazlı görünüm, çoklu alan |
Bir projede birden fazla görünümü aynı anda tanımlayabilirsiniz. Sabah kanban panosunda çalışıp akşam gantt üzerinden ilerlemeye bakmak tamamen olağan bir kullanım şeklidir.
Kişisel Kullanım mı, Ekip Kullanımı mı#
Vikunja hem tek kişilik hem de çok kullanıcılı senaryolar için tasarlanmıştır ve iki kullanım da aynı kurulum üzerinden yürür. Fark, oluşturduğunuz yapıda ve paylaşım tercihlerinizde ortaya çıkar.
Kişisel kullanımda tipik olarak birkaç "proje" oluşturursunuz: "Ev İşleri", "Freelance", "Okuma Listesi" gibi. Her proje kendi görevlerini, alt görevlerini ve etiketlerini barındırır. Alt projeler açarak hiyerarşi kurabilir, örneğin "Freelance" projesinin altında her müşteri için ayrı bir alt proje tutabilirsiniz. Öncelik seviyeleri, favoriler ve "Bugün" filtresi sayesinde dağınık bir görev yığınını hızla yönetilebilir hale getirirsiniz.
Ekip kullanımında ise işler biraz farklılaşır. Vikunja'da kullanıcılar ve takımlar tanımlar, projeleri belirli kişilere veya takımlara paylaşırsınız. Her paylaşımda okuma, yazma veya yönetici gibi yetki seviyeleri belirleyebilirsiniz; böylece bir stajyer görev görüp yorum yazabilirken proje ayarlarını değiştiremez. Görevleri ekip üyelerine atar, yorumlarla iletişim kurar ve etkinlik akışından kimin ne yaptığını takip edersiniz. Küçük ve orta ölçekli ekipler için bu, ücretli proje yönetim yazılımlarına ihtiyaç bırakmayan bir düzen sunar.
Karar verirken pratik ölçüt şudur: sadece kendi işlerinizi takip edecekseniz SQLite veritabanıyla, minimum kaynakla kurun ve hız kazanın. Beş on kişilik bir ekip söz konusuysa PostgreSQL'e geçin, düzenli yedekleme kurgulayın ve kullanıcı kayıtlarını e-posta doğrulamayla kontrol altına alın. İkinci senaryoda SSL sertifikası ve düzgün bir alan adı da artık lüks değil, gereklilik haline gelir.
Docker ile Vikunja Kurulumu#
Vikunja'yı kurmanın en temiz yolu Docker Compose kullanmaktır; tek bir dosyayla hem uygulamayı hem de veritabanını ayağa kaldırırsınız. Aşağıdaki adımlar, Docker'ın kurulu olduğu bir sanal sunucu üzerinde çalışır. Eğer sıfırdan bir sunucu kuruyorsanız, önce VDS satın alma sonrası ilk adımlarına göz atmanızı öneririm.
Önce projeniz için bir dizin oluşturun ve içine docker-compose.yml dosyasını yerleştirin:
mkdir -p /opt/vikunja && cd /opt/vikunja
Aşağıdaki Compose dosyası, Vikunja'yı PostgreSQL veritabanıyla birlikte ayağa kaldırır. Küçük kurulumlarda db servisini tamamen silip SQLite kullanabilirsiniz; ama ekip kullanımı planlıyorsanız PostgreSQL daha sağlıklıdır:
services:
vikunja:
image: vikunja/vikunja:latest
container_name: vikunja
restart: unless-stopped
environment:
VIKUNJA_SERVICE_PUBLICURL: "https://gorevler.example.com"
VIKUNJA_DATABASE_TYPE: "postgres"
VIKUNJA_DATABASE_HOST: "db"
VIKUNJA_DATABASE_DATABASE: "vikunja"
VIKUNJA_DATABASE_USER: "vikunja"
VIKUNJA_DATABASE_PASSWORD: "guclu-bir-parola-yazin"
VIKUNJA_SERVICE_JWTSECRET: "rastgele-uzun-bir-gizli-anahtar"
VIKUNJA_SERVICE_ENABLEREGISTRATION: "false"
ports:
- "127.0.0.1:3456:3456"
volumes:
- ./files:/app/vikunja/files
depends_on:
- db
db:
image: postgres:16-alpine
container_name: vikunja-db
restart: unless-stopped
environment:
POSTGRES_DB: "vikunja"
POSTGRES_USER: "vikunja"
POSTGRES_PASSWORD: "guclu-bir-parola-yazin"
volumes:
- ./db:/var/lib/postgresql/data
Burada dikkat etmeniz gereken üç kritik değer var. VIKUNJA_SERVICE_PUBLICURL, uygulamanın dış dünyaya göründüğü tam adrestir; bu değer yanlışsa arayüz açılır ama giriş yapılamaz. VIKUNJA_SERVICE_JWTSECRET, oturum anahtarlarını imzalamak için kullanılır ve mutlaka rastgele, uzun bir dize olmalıdır. VIKUNJA_SERVICE_ENABLEREGISTRATION değerini false yaparak internetten rastgele kişilerin size kayıt olmasını engellersiniz; ilk kullanıcınızı oluşturduktan sonra bunu kapalı tutmak en güvenlisidir.
JWT anahtarını üretmek için şu komutu kullanabilirsiniz:
openssl rand -base64 48
Ardından servisleri başlatın:
docker compose up -d
docker compose logs -f vikunja
Loglarda veritabanı migrasyonlarının çalıştığını ve sunucunun 3456 portunu dinlediğini gördüğünüzde kurulum tamamlanmış demektir. Portu 127.0.0.1 üzerinde açtığımıza dikkat edin; yani Vikunja doğrudan dış dünyaya değil, sadece sunucunun kendisine açıktır. Dışarıya güvenli biçimde açmak için bir ters proxy kullanacağız.
Ters Proxy ve SSL ile Yayına Alma#
Vikunja'yı doğrudan 3456 portundan yayına vermek yerine, önüne bir Nginx ters proxy koymak hem şık bir alan adı kullanmanızı hem de HTTPS ile şifreli bağlantı sunmanızı sağlar. Aşağıdaki yapılandırma, gorevler.example.com adresine gelen istekleri konteynere yönlendirir:
server {
listen 80;
server_name gorevler.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name gorevler.example.com;
ssl_certificate /etc/letsencrypt/live/gorevler.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gorevler.example.com/privkey.pem;
client_max_body_size 20M;
location / {
proxy_pass http://127.0.0.1:3456;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Buradaki client_max_body_size ayarı önemlidir; görevlere dosya eklerken varsayılan sınıra takılmamak için makul bir değer verdik. SSL sertifikasını Let's Encrypt üzerinden ücretsiz alabilir, otomatik yenileme kurarak sertifikanın süresinin dolmasını dert etmeyi bırakabilirsiniz. Yapılandırmayı test edip Nginx'i yeniden yükleyin:
nginx -t && systemctl reload nginx
Artık https://gorevler.example.com adresinden Vikunja arayüzüne şifreli bir bağlantıyla ulaşırsınız. Bu tür bir servisi internete açarken sunucunuzun genel güvenliğini de gözden geçirmenizi öneririm; kapsamlı bir kurulum yardımı için sunucu yönetimi hizmetimize göz atabilir, saldırıları filtrelemek için WAF çözümünü değerlendirebilirsiniz.
API ve Mobil Erişim#
Vikunja'nın arayüzünün tamamı, aslında arka plandaki REST API üzerinden çalışır. Bu, size iki büyük avantaj sağlar: birincisi, mobil uygulamalar bu API'ye bağlanarak telefonunuzdan da görevlerinizi yönetmenize imkân verir; ikincisi, kendi otomasyonlarınızı yazabilirsiniz.
Mobil tarafta iki seçeneğiniz var. Vikunja'nın web arayüzü tümüyle duyarlı (responsive) olduğu için telefon tarayıcısından sorunsuz çalışır ve ana ekrana kısayol ekleyerek uygulama gibi kullanabilirsiniz. Bunun yanında topluluk tarafından geliştirilen mobil uygulamalar da mevcuttur; bu uygulamalarda sadece sunucu adresinizi ve giriş bilgilerinizi girerek kendi kurulumunuza bağlanırsınız.
API kullanmak için önce bir kişisel erişim anahtarı (API token) oluşturmanız gerekir; bunu arayüzdeki ayarlar bölümünden yaparsınız. Ardından bu anahtarla doğrudan istek atabilirsiniz. Örneğin projelerinizi listelemek için:
curl -H "Authorization: Bearer TOKEN_BURAYA" \
https://gorevler.example.com/api/v1/projects
Belirli bir projeye program aracılığıyla yeni görev eklemek de aynı derecede basittir:
curl -X PUT \
-H "Authorization: Bearer TOKEN_BURAYA" \
-H "Content-Type: application/json" \
-d '{"title":"Faturaları öde","priority":4}' \
https://gorevler.example.com/api/v1/projects/3/tasks
Bu API sayesinde, örneğin bir e-posta geldiğinde otomatik görev oluşturan, ya da her hafta başında belirli görevleri sıfırlayan küçük betikler yazabilirsiniz. Vikunja ayrıca CalDAV desteği de sunar; yani görevlerinizi teslim tarihleriyle birlikte telefonunuzun yerleşik takvim uygulamasında görüntüleyebilirsiniz. CalDAV endpoint'ini takvim uygulamanıza ekleyerek görevlerinizi ayrı bir uygulama açmadan görebilirsiniz.
Tekrarlayan Görevler ve Hatırlatıcılar#
Bir görev yönetim aracının gerçekten hayatınızı kolaylaştırıp kolaylaştırmadığı, çoğu zaman tekrarlayan görevleri ve hatırlatıcıları ne kadar iyi yönettiğinde belli olur. Vikunja bu iki konuda oldukça yeteneklidir.
Tekrarlayan görevler, düzenli aralıklarla yapılması gereken işler için tasarlanmıştır. Bir göreve teslim tarihi verip "her hafta", "her ay" gibi bir tekrar aralığı tanımladığınızda, görevi tamamladığınız anda Vikunja bir sonraki teslim tarihini otomatik hesaplayıp görevi yeniden aktif hale getirir. Yani "faturaları öde" görevini her ay elle yeniden oluşturmakla uğraşmazsınız; bir kez ayarlarsınız, sistem geri kalanını halleder. Tekrar aralığını gün, hafta, ay veya yıl bazında ayarlayabilirsiniz.
Hatırlatıcılar ise size belirli bir zamanda uyarı gönderir. Bir göreve "teslim tarihinden bir gün önce" ya da tam olarak seçtiğiniz bir tarih ve saatte hatırlatıcı ekleyebilirsiniz. Bu uyarıların size ulaşabilmesi için Vikunja'nın e-posta gönderebilmesi gerekir; bu yüzden Compose dosyasına SMTP ayarlarını eklemeniz gerekir:
VIKUNJA_MAILER_ENABLED=true
VIKUNJA_MAILER_HOST=smtp.example.com
VIKUNJA_MAILER_PORT=587
[email protected]
VIKUNJA_MAILER_PASSWORD=eposta-parolasi
[email protected]
E-posta gönderiminin sorunsuz çalışması, hatırlatıcıların işe yaraması açısından kritiktir. Güvenilir bir gönderim için ayrı bir e-posta hizmeti kullanmanızı ve alan adınıza SPF, DKIM, DMARC kayıtlarını doğru şekilde eklemenizi öneririm; aksi halde hatırlatıcı e-postaları spam kutusuna düşebilir. Ayarlar doğru olduğunda, teslim tarihi yaklaşan görevleriniz için otomatik bildirim alır ve hiçbir işi unutmazsınız.
Vikunja'yı Diğer Araçlarla Karşılaştırma#
Görev yönetimi alanında Vikunja tek seçenek değil; ama self-hosted dünyasında sunduğu denge oldukça iyi. Aşağıdaki tablo, sık tercih edilen alternatiflerle Vikunja'yı birkaç kritik açıdan karşılaştırıyor.
| Özellik | Vikunja | Todoist | Trello |
|---|---|---|---|
| Açık kaynak | Evet (AGPLv3) | Hayır | Hayır |
| Kendi sunucunda barındırma | Evet | Hayır | Hayır |
| Ücret | Ücretsiz (self-hosted) | Freemium | Freemium |
| Liste + Kanban + Gantt | Üçü de var | Kısıtlı | Ağırlıklı Kanban |
| API erişimi | Tam REST API | Var | Var |
| Veri sahipliği | Tamamen sizde | Sağlayıcıda | Sağlayıcıda |
Bu karşılaştırmadan çıkan sonuç net: eğer verinizin kimde durduğu, aylık abonelik ödeyip ödemediğiniz ve aracın açık kaynak olması sizin için önemliyse Vikunja güçlü bir tercih. Buna karşın hiçbir teknik kurulumla uğraşmadan "aç ve kullan" deneyimi istiyorsanız bulut tabanlı ticari servisler daha hazır gelebilir. Vikunja'yı kendi sunucunuzda barındırmanın getirdiği tek yük, kurulumu ve yedeklemeyi sizin üstlenmenizdir; onu da bu rehberdeki adımlar ve düzenli bir yedekleme planıyla rahatça çözersiniz.
Sıkça Sorulan Sorular#
Vikunja ücretsiz mi?#
Evet, Vikunja tamamen açık kaynaktır ve AGPLv3 lisansıyla dağıtılır. Kendi sunucunuza kurduğunuzda hiçbir lisans ücreti ödemez, kullanıcı sayısı ya da görev sayısı gibi bir sınıra takılmazsınız. Tek maliyetiniz, uygulamayı barındırdığınız sunucunun kirasıdır. Kurmakla uğraşmak istemeyenler için Vikunja'nın ücretli barındırdığı bir bulut sürümü de mevcuttur, ama asıl değeri self-hosted kullanımda ortaya çıkar.
Vikunja hangi veritabanlarını destekler?#
Vikunja; SQLite, MySQL/MariaDB ve PostgreSQL veritabanlarıyla çalışabilir. Tek kişilik ya da birkaç kullanıcılık küçük kurulumlarda SQLite yeterlidir ve hiçbir ek servis gerektirmez; dosya tabanlı olduğu için yedeklemesi de son derece kolaydır. Birden fazla kişinin aktif olarak kullandığı ekip kurulumlarında ise PostgreSQL tercih etmeniz, hem performans hem de eş zamanlı erişim açısından daha sağlıklı olur.
Vikunja'yı ne kadar RAM ile çalıştırabilirim?#
Vikunja Go diliyle yazıldığı için kaynak tüketimi oldukça düşüktür. Birkaç kullanıcılık bir kurulum, 512 MB ila 1 GB RAM'e sahip küçük bir sanal sunucuda rahatça çalışır. PostgreSQL'i de aynı sunucuda barındıracaksanız 1 GB RAM'i taban almanızı öneririm. Kullanıcı ve proje sayısı arttıkça ihtiyaç da artacaktır, ancak Vikunja çoğu benzer araca göre çok daha hafif bir yük bindirir.
Telefonumdan Vikunja'ya erişebilir miyim?#
Evet, iki yolla erişebilirsiniz. Birincisi, web arayüzü tümüyle mobil uyumludur; telefonunuzun tarayıcısından açıp ana ekrana kısayol ekleyerek uygulama gibi kullanabilirsiniz. İkincisi, arka plandaki REST API'ye bağlanan topluluk mobil uygulamaları vardır; bu uygulamalara sunucu adresinizi girerek kendi kurulumunuza bağlanırsınız. Ayrıca CalDAV desteği sayesinde görevlerinizi teslim tarihleriyle telefonunuzun yerleşik takvim uygulamasında da görüntüleyebilirsiniz.
Vikunja verilerimi yedeklemem gerekir mi?#
Kesinlikle gerekir. Kendi sunucunuzda barındırdığınız için verilerin sorumluluğu tamamen size aittir. Yedeklemeniz gereken iki şey vardır: veritabanı ve göreve eklenen dosyaların bulunduğu files dizini. PostgreSQL kullanıyorsanız düzenli olarak veritabanı dökümü almanız, SQLite kullanıyorsanız veritabanı dosyasını kopyalamanız yeterlidir. Bu yedekleri farklı bir konumda saklamak ve düzenli aralıklarla test etmek, olası bir sunucu arızasında verilerinizi güvenle geri yüklemenizi sağlar.
Vikunja ile Trello arasındaki fark nedir?#
En temel fark, Vikunja'nın açık kaynak olması ve kendi sunucunuzda barındırılabilmesidir; Trello ise kapalı kaynaklı, sağlayıcının sunucusunda çalışan bir servistir. Trello ağırlıklı olarak kanban pano mantığına odaklanırken, Vikunja aynı görevleri liste, kanban, gantt ve takvim olmak üzere dört farklı görünümde sunar. Ayrıca Vikunja'da verileriniz tamamen sizde durur ve kullanıcı sınırı gibi ücretli plan kısıtlamalarıyla karşılaşmazsınız.
Kapanış#
Vikunja, "hem verimi kendim kontrol edeyim hem de modern bir görev yönetimi deneyimi yaşayayım" diyenler için oldukça olgun bir çözüm. Liste, kanban, gantt ve takvim görünümleriyle farklı çalışma tarzlarına uyum sağlıyor; Docker ile kurulumu birkaç dakikada tamamlanıyor; API, CalDAV, tekrarlayan görevler ve hatırlatıcılarla da günlük hayatta gerçekten iş görüyor. Kişisel bir yapılacaklar listesinden küçük bir ekibin proje panosuna kadar geniş bir kullanım yelpazesini tek bir hafif uygulamayla karşılıyor.
Kendi Vikunja kurulumunuzu ayağa kaldırmak için sağlam ve kaynakları esnek bir altyapıya ihtiyacınız var. Docker tabanlı bu tür self-hosted uygulamaları rahatça çalıştırabileceğiniz sanal sunucu ve VDS paketlerimize göz atabilir, kurulumu ve güvenliği bizim üstlenmemizi isterseniz sunucu yönetimi hizmetimizden yararlanabilirsiniz. Benzer açık kaynak uygulamaları keşfetmek için App Center sayfamıza da bakmanızı öneririm; görevlerinizi güvenle barındıracağınız bir yapıyı birlikte kuralım.