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.