Cara Install Memos di NAT VPS

NATVPS.id – Memos adalah aplikasi pencatat (note-taking app) open-source dan dapat di self-host. Memos dirancang sebagai alternatif dari layanan pencatat berbasis cloud, yang berfokus pada privasi dan kepemilikan data bagi penggunanya, serta performanya yang ringan dan mendukung syntax Markdown.

Artikel ini membahas mengenai langkah-langkah instalasi Memos di NAT VPS menggunakan Docker Compose, beserta konfigurasi NGINX untuk reverse-proxy. Artikel ini menggunakan Ubuntu 22.04 sebagai acuan, namun Anda dapat menggunakan distribusi lain seperti Debian dan CentOS.

Konfigurasi Port Forwarding

Mengingat kita menggunakan NAT, kita perlu menambahkan 2 konfigurasi port forwarding pada panel Virtualizor (atau panel VPS lain sesuai provider), yaitu port forwarding HTTP dan HTTPS untuk domain Memos.

Sebagai contoh, pada artikel ini akan menggunakan domain memos.tutorial.mdinata.my.id untuk mengakses Memos. Anda bebas mengganti domain sesuai pilihan Anda. Catat port dan domain ini, karena kita akan menggunakannya lagi pada proses instalasi.

Jangan lupa untuk menambahkan DNS record yang menuju ke IP publik NAT VPS Anda, seperti ini:

Jika bingung, silahkan membaca artikel kami mengenai domain forwarding di sini: Penjelasan Domain Forwarding di NAT VPS.

Install Docker

Kita akan menggunakan Docker dan Docker Compose untuk deploy Memos.

Pertama, Install curl menggunakan perintah:

apt update && apt install curl -y

Kemudian, jalankan script instalasi otomatis dari Docker dengan memasukkan:

curl -fsSL get.docker.com | sh

Tunggu hingga proses instalasi selesai.

Install Memos

Pertama, buat direktori baru untuk Memos:

mkdir /opt/memos
cd /opt/memos

Kemudian, buat file Docker Compose:

apt install nano -y # Jika belum
nano docker-compose.yml

Isi dengan konfigurasi berikut:

services:
  postgres:
    image: postgres:15
    environment:
      POSTGRES_DB: memos
      POSTGRES_USER: memos
      POSTGRES_PASSWORD: password
    volumes:
      - postgres_data:/var/lib/postgresql/data
  memos:
    image: neosmemo/memos:stable
    depends_on:
      - postgres
    environment:
      - MEMOS_DRIVER=postgres
      - MEMOS_DSN=postgresql://memos:password@postgres:5432/memos?sslmode=disable
    ports:
      - "5230:5230"
volumes:
  postgres_data:

Simpan file tersebut dengan Ctrl-X, y, kemudian Enter.

Terakhir, jalankan Memos:

docker compose up -d

Tunggu hingga proses deploy selesai. Deploy pertama kali dapat memakan waktu beberapa menit karena harus mengunduh Memos dan PostgreSQL, serta mengonfigurasinya dari awal.

Konfigurasi NGINX (Reverse Proxy)

Agar kita dapat mengakses URL melalui domain seperti memos.tutorial.mdinata.my.id, kita dapat menggunakan reverse proxy seperti NGINX.

Pertama, install NGINX melalui perintah:

# Hapus Apache2 dan pendukungnya (biasanya terpasang secara bawaan di VPS OpenVZ)
apt purge apache2* -y

# Install NGINX
apt install nginx -y

Buat konfigurasi host baru khusus untuk Memos:

nano /etc/nginx/sites-available/memos

Kemudian tempelkan konfigurasi berikut:

# 

server {
    listen 80;
    listen [::]:80;
    server_name memos.tutorial.mdinata.my.id;

    location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass 
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }
}

Ganti memos.tutorial.mdinata.my.id dengan domain Anda.

Aktifkan konfigurasi tersebut dengan:

ln -sf /etc/nginx/sites-available/memos /etc/nginx/sites-enabled/memos

systemctl restart nginx # Restart NGINX

Generate Sertifikat SSL (Let’s Encrypt)

Agar domain kita dapat diakses melalui HTTPS, kita perlu membuat sertifikat SSL. Kita dapat menggunakan sertifikat SSL gratis dari Let’s Encrypt melalui Certbot.

Install Certbot dan plugin NGINX nya menggunakan perintah:

apt install python3-certbot python3-certbot-nginx

Lalu, generate sertifikat melalui Certbot dengan perintah

certbot --nginx -d memos.tutorial.mdinata.my.id

Ganti memos.tutorial.mdinata.my.id dengan domain Anda.

Selamat! Memos saat ini dapat diakses melalui koneksi aman HTTPS.

Mengakses Memos

Memos dapat diakses melalui domain Anda sebelumnya. Contoh: https://memos.tutorial.mdinata.my.id.

Penutup

Demikianlah artikel ini mengenai langkah-langkah install Memos di NAT VPS.

Jika bingung atau ragu, jangan sungkan untuk bertanya di grup Telegram @IPv6Indonesia. Terima kasih!

News
Berita
News Flash
Blog
Technology
Sports
Sport
Football
Tips
Finance
Berita Terkini
Berita Terbaru
Berita Kekinian
News
Berita Terkini
Olahraga
Pasang Internet Myrepublic
Jasa Import China
Jasa Import Door to Door

Download Film

A gaming center is a dedicated space where people come together to play video games, whether on PCs, consoles, or arcade machines. These centers can offer a range of services, from casual gaming sessions to competitive tournaments.

More From Author

Inilah Arti Quiet Covering, Istilah Viral Soal Sikap Pegawai Gen Z di Dunia Kerja

Telat Laporkan Akuisisi Tokopedia, TikTok Didenda Rp15 Miliar oleh KPPU