Memos adalah sebuah aplikasi note-taking berbasis web yang ringan, sederhana, self-hosted, yang merupakan alternatif buat aplikasi note-taking komersial.
Di awal saya menggunakan Google Keep untuk membuat catatan-catatan kecil. Kekurangan Google Keep adalah tidak mendukung sintaks markdown. Selain itu saya tidak merasa nyaman jika catatan saya panjang. Saya juga merasa risih ketika catatan pribadi saya tersimpan di server pihak ketiga.
Kemudian saya terbiasa mencatat jurnal aktifitas dengan membuat file markdown di laptop. Permasalahannya adalah file tersebut hanya ada di laptop, saya sulit untuk mengaksesnya dari ponsel secara online. Sempat terpikir untuk sync ke GitHub dengan menjadikan folder journal saya sebagai repositori git. Tapi saya teringat masalah privasi dan keamanan, karena ini sama saja jadinya catatan-catatan saya akan berada di server pihak ketiga.
Setelah mencari-cari, akhirnya saya menemukan aplikasi note-taking self-hosted yang memuaskan saya: Memos.
Seperti biasa, kriteria utama buat saya untuk self-hosted adalah ketersediaan image container. Untungnya justru instalasi yang dianjurkan oleh Memos adalah menjalankan container.
Secara garis besar, berikut hal-hal yang saya sukai dari Memos:
- Tersedia dalam bentuk container,
- Tampilan simpel dan tetap nyaman diakses dari ponsel.
- Mendukung markdown.
- Tersedia banyak pilihan storage.
- Mendukung Single Sign On (SSO) sehingga bisa saya konfigurasikan agar akun terhubung dengan Google dan GitHub.
- Memungkinkan membuat note private maupun publik yang bisa dilihat umum. Note publik ini jadi seolah mirip blog.
- Pencarian note yang mudah.
- Adanya sistem tag.
- Visualisasi note yang ada di kalender.
- Bisa menyimpan gambar dan file-file lainnya.
- Ada integrasi dengan Telegram sehingga memudahkan membuat note tanpa harus membuka web.
Berikut isi file quadlet container Memos saya:
# memos.container
[Container]
ContainerName=memos
AutoUpdate=registry
Image=docker.io/neosmemo/memos:stable
Timezone=Asia/Jakarta
PublishPort=5230:5230
Volume=memos:/var/opt/memos
[Service]
Restart=always
[Install]
WantedBy=default.target
Dan berikut file quadlet container memogram (bridge antara Memos dan Telegram):
# memogram.container
[Container]
ContainerName=memogram
AutoUpdate=registry
Image=docker.io/rammiah/memogram:latest
Timezone=Asia/Jakarta
Environment=SERVER_ADDR=host.containers.internal:5230
Environment=BOT_TOKEN=xxxxxxxxxx:xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxx
Environment=DATA=data.txt
Volume=/var/local/memogram-data/data.txt:/app/data.txt:Z
[Service]
Restart=always
[Install]
WantedBy=default.target