Calibre Web Kurulumu: Docker & Docker Compose

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.