Salı, Aralık 3, 2024

Debian 10 Üzerine Trilium Notes Kurulumu

trilium notes yüksek çözünürlüklü görsel, trilium notes, markdown not tutma aracı

Not tutma amacıyla bir kaç açık kaynak projeye göz atıyordum, daha sonradan beni ne olduğu belirsiz bir sürü not uygulaması linkine boğdular. Üşenmedim bunlardan 4-5 tanesini kurup denedim. Kurulumu ve kullanımı kanser olan Trilium Notes denen ve nodejs ile yazılan kişisel not tutma uygulamasının kurulumunda ki eksiklikleri düzelticem, günün birinde kullanırsam vs diye tüm bu çaba

Öncelikli olarak NodeJS sürümü legacy olacak yani v10 serisinden kullanacaksınız. Aşağıdakileri kurmaya başlayalım.

apt install nodejs npm

Hem uygulamaya hemde sisteme gerekli olan paketleri bir güzel kuralım

apt install libpng16-16 libpng-dev pkg-config autoconf libtool build-essential nasm libx11-dev libxkbfile-dev

Bu işlemler tamamlandıysa şimdi gerekli paketi sisteme çekelim. Ben bunun için git kullandım çünkü uygulamada otomatik güncelleme yok, hiç değilse git pull diyerek otomatik olarak güncellemeleri sisteme indirme imkanım var.

git clone -b stable https://github.com/zadam/trilium.git
cd trilium
npm install

npm install dediğiniz anda cümbüş başlayacak, NodeJs uygulamalarını özellikle sevmeme nedenim, bir sürü paket kurup disk IO’sunun anasını ağlatmasıdır.

Bu uygulama sisteme zafiyetli bir kaç paketide dahil ediyor. Sonrasında başımıza bir iş gelirse sorumlusu zadam denen bu geliştirici.

Geldik uygulamanın çalıştırılması kısmına, bu noktada bu geliştirici gidip bi systemd servisi yazmaya tenezül etmemiş. (açık kaynak projelerin genelinde düzgün belgelendirme haliyle olmaz.)

Ben sistemde servis için bi kullanıcı açayım, direk root ile işlem yapmak hoş olmaz, göstermelik bi user olsun yetkisi olmasın yeter.

sudo useradd -rs /bin/false trilium

Düzenlediğim servis dosyam şu şekilde, burada node yolunu doğru vermezsen caz yapar. Birde Env tanımlaması yapmalısın.

[Unit]
Description=Trilium Server
After=network.target

[Service]
User=trilium
Group=trilium
Type=simple
Environment="TRILIUM_DATA_DIR=/home/trilium/trilium-data"
ExecStart=/usr/bin/node /home/trilium/trilium/src/www  

[Install]
WantedBy=multi-user.target

Sitede denemek için kullandığım nginx yapılandırmam. Burada önemli olan proxy yapılan nokta ve yapılandırma

server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;

        # SSL
        ssl_certificate /root/.acme.sh/mertcangokgoz.com/mertcangokgoz.com.cer;
        ssl_certificate_key /root/.acme.sh/mertcangokgoz.com/mertcangokgoz.com.key;
        ssl_trusted_certificate /root/.acme.sh/mertcangokgoz.com/fullchain.cer;

        server_name notes.mertcangokgoz.com;

	location / {
	    proxy_pass ;
	    proxy_http_version 1.1;
	    proxy_set_header Upgrade $http_upgrade;
	    proxy_set_header Connection 'upgrade';
	    proxy_set_header Host $host;
	    proxy_cache_bypass $http_upgrade;
		}
}

Bu adımdan sonra kurulumu yapıp, not tutmaya geçiyoruz, web socket kullanıyor bu uygulama CloudFlare vb sistem kullanılıyorsa mümkünse gereken ayarı yap.