Calibre Web Kurulumu: Docker & Docker Compose
Özellikle e-kitap (elektronik kitap) okuyucularının bildiği, sıklıkla kullandığı Calibre programını duymadıysanız duyuralım. Calibre; kendi e-kitap kütüphanenizi oluşturmanıza, bu kitapların metadataları üzerinde değişiklik yapmanıza ve pek çok formata dönüştürmenize olanak sağlayan bir yazılım. Bunun yanı sıra Internet üzerinden metadata çekme, Kindle, Kobo gibi cihazlara doğrudan e-posta gönderme veya bu cihazları bilgisayara bağladığınızda tanıyıp cihaz içerisindeki kütüphanede düzenleme yapabilme ve bunun gibi daha çok opsiyona sahip bir yazılım.
Peki bu yazılımın sunucu ile servis edildiğini ve siz dahil pek çok kişi ile paylaşımlı kullanıldığını düşünün... harika değil mi? Tavsiyem kendiniz ve kitabın orijinaline sahip diğer insanlarla kullanmanızdır. Herkese açık yapıp yayım haklarını ihlal etmemeye dikkat edin :)
Şimdi sonuçtan birkaç kare görelim ve nasıl bir şey inşa ettiğimizi anlayalım.




Kurulum için bir container runtime yazılımına ihtiyaç duydumuğuzu hatırlatalım. Benim bu projede kullanacağım araçlar: docker, docker-compose, portainer.
Öncelikle sunucuya gerekli araçların kurulumunu yapalaım. Kullandığım sistem Ubuntu 20.04 LTS Server. Sağlayıcı: DigitalOcean. Sağlayıcının hazır imajlarından Docker kurulu Ubuntu'yu seçerek devam edebiliriz. Ya da başka bir sağlayıcı kullanıyorsanız veya localde kurulum yapmak istiyorsanız bu bağlantı üzerinden dağıtımınıza uygun docker kurulumunu gerçekleştiriniz. Ubuntu için kurulum adımlarını aşağıdan da takip edebilirsiniz. Eğer kurulu bir container runtime'a sahipseniz bu adımları atlayabilirsiniz.
Docker ve Compose Kurulumu
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
Kurulumun başarıyla tamamlandığını doğrulamak için:
sudo docker run hello-world
Docker kurulumu tamamlandıkan sonra docker-compose kurulumunu yapabiliriz.
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Kurulumu kontrol edelim:
docker-compose --version
Eğer başarılı şekilde kurulduysa burada versiyon numarası göreceksiniz.
Calibre Web Kurulumu
Aşağıdaki compose içeriğini kopyalayıp ister portainer ister docker-compose ile ayağa kaldırabilirsiniz. Dikkat edilmesi gereken kısımlar: PUID, PGID, TZ
Bu değişkenleri kendi kullanıcınıza ve bölgenize göre düzenlemeniz gerekiyor. Değişkenler ve diğer parametreler için resmi sayfasına da bakabilirsiniz: calibre-web
version: "2.1"
services:
calibre-web:
image: lscr.io/linuxserver/calibre-web
container_name: calibre-web
environment:
- PUID=1002
- PGID=1002
- TZ=Europe/Istanbul
- DOCKER_MODS=linuxserver/calibre-web:calibre #optional
- OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional
- OAUTHLIB_INSECURE_TRANSPORT=1 #optional
volumes:
- /home/calibre-web/data:/config
- /home/calibre-web/library:/books
- /home/calibre-web/gmail.json:/gmail.json #optional
ports:
- 8083:8083
restart: unless-stopped
Volume ile dataları tutabilmek için ben calibre-web isminde Linux kullanıcısı oluşturdum ancak bu mecburi değil. Dilediğiniz bir dizinde bu bilgileri tutabilirsiniz. Ama yine de karmaşıklıktan kaçınmak için kullanıcı oluşturup izinleri düzenleyerek ilerlemnizi tavsiye ederim. Opsiyonel olan değişkenler hakkında detaylı bilgi için resmi sayfasını ziyaret edin.
Compose dosyası ayağa kaldırıldığında 8083 portunu kullanarak web arayüzüne erişebilirsiniz. Varsayılan kullanıcı adı ve parolası şu şekildedir:
username: admin
password: admin123
Giriş yaptığınız zaman kütüphanenin (veritabanının) nerede olduğunu soracaktır. Bu kısma /books yazmalısınız ancak kabul etmeyecektir. Çünkü henüz bir veritabanı yok. Bu aşamada sunucuya boş bir calibre veritabanı indirmeniz ve /books dizinine bağlı dizine atmalısınız. Bu veritabanı için siz uğraşmayın diye buraya bırakıyorum. Ayrıca aşağıdaki komutta yer alan library dizininin yolunu kendi oluşturduğunuz dizin yolu ile değiştirin.
wget "https://cloud.volkantasci.com/index.php/s/YaKZdrneBwz3dME/download/metadata.zip" -O /home/calibre-web/library/database.zip
cd /home/calibre-web/library && unzip database.zip && rm database.zip
Bu işlemin ardından rahatlıkla /books yazıp onaylayabilirsiniz. Tebrikler! Kullanıma hazırsınız.
Eğer kurulumun nasıl yapıldığını video ile öğrenmek isterseniz sizi böyle alalım.