🎬

Video tutorial coming soon.

🗒️ Deploy Memos — Self-Hosted Personal Notes

Deploy Memos on Ubuntu — a lightweight self-hosted note-taking app with a Twitter-like feed, Markdown support, tags, and per-note public/private control.

⚠️ This script is provided for demo and testing purposes only. Not intended for production use.

📦 Resources & Setup Scripts

Grab the automated bash script from GitHub to follow along with the video.

Automated install — one command deploys Memos with embedded SQLite, no separate database needed.
View on GitHub

Quick Install:

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/tools/memos/memos-ubuntu.sh
chmod +x memos-ubuntu.sh
sudo bash memos-ubuntu.sh

Tutorial Steps

1 Download the Script

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/tools/memos/memos-ubuntu.sh

2 Make it Executable

chmod +x memos-ubuntu.sh

3 Run the Installer

Script deploys Memos as a single Docker container with SQLite as the embedded database — no separate database container needed.

sudo bash memos-ubuntu.sh

4 Access the Web UI

Open your browser and navigate to port 5230. Register your admin account on first visit — the first user created becomes the admin.

http://<your-server-ip>:5230

5 Write Your First Memo

Type a memo in the text box and press Ctrl+Enter to save. Use #hashtags to organize, and toggle visibility between public and private per memo.

Ports Used

PortPurpose
5230Web UI

Overview

Memos is a lightweight, open-source self-hosted note-taking application with a Twitter-like feed interface. Instead of the traditional folder-tree structure of most note apps, Memos presents notes as a reverse-chronological stream — you type a thought, tag it, and capture it instantly. It supports full Markdown rendering, file attachments, code blocks, and per-note visibility toggling (public notes can be shared as a personal micro-blog). The REST API allows integration with mobile shortcuts and automation tools for frictionless capture from any device.

Why Use It

Most note apps impose structure before you can capture a thought. Memos removes friction — open the page, type, press Ctrl+Enter, done. The chronological feed makes it ideal as a personal 'digital brain dump' or work diary. Because it is self-hosted, your notes never leave your server, and the REST API means you can capture notes from your phone, terminal, or automation scripts without opening a browser.

When You Need It

    Who Should Use It

      Real Use Cases

        Main Features

          How to Use After Installation

            Security Best Practices

              Ports and Firewall Notes

              Memos listens on port 5230 by default. This port should be proxied through Nginx or Traefik with HTTPS and not exposed directly. If you only use Memos privately, you can restrict access to your IP only at the firewall level. No additional ports are needed — SQLite runs embedded with no external database port.

              Backup and Maintenance

                Common Mistakes

                  Troubleshooting

                    Alternatives

                    Standard Notes offers end-to-end encryption and a polished cross-platform app but lacks the feed-style interface. Obsidian is better for long-form linked notes and knowledge graphs but is local-first and not self-hosted. Joplin supports synchronization and has good mobile apps. Silverbullet is a newer self-hosted option with more wiki-like features. BookStack and Docmost are better if you need structured team documentation rather than personal quick capture.

                    When Not to Use It

                    Skip Memos if you need structured team documentation with hierarchy and permissions — use BookStack or Docmost instead. If end-to-end encryption of your notes is critical, Standard Notes is more appropriate. Memos also has limited offline support — if you need notes available without internet on mobile, Obsidian with local sync is better. For note-taking that needs sharing with non-technical users, Notion or Confluence might be more accessible.

                    PrismaTechWork Professional Help

                    PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.

                      Contact Us

                      Frequently Asked Questions

                      Can multiple users share one Memos instance?

                      Yes — Memos supports multiple user accounts. Each user has their own memo feed and private notes. Admins can see all memos in the system admin panel. However, Memos is not a collaborative wiki — users cannot edit each other's notes. If you need team collaboration on shared documents, use BookStack or Docmost instead. Memos works best as individual personal note spaces on a shared server.

                      How do I post a memo from my phone without opening the browser?

                      Use the Memos REST API with an iOS Shortcut or Android Tasker task. Get your API token from Settings → My Account → Access Tokens. Then create a shortcut that posts to `https://your-memos-url/api/v1/memo` with your token in the Authorization header and your note content in the JSON body. Several community-built iOS Shortcuts for Memos are shared on the Memos GitHub discussions page.

                      Can I make some memos public and others private?

                      Yes — each memo has a visibility toggle: Private (only you can see it), Protected (logged-in users can see it), or Public (anyone with the URL can see it, even without logging in). Public memos appear on your public profile page at `https://your-memos-url/u/your-username`. This makes Memos suitable as a personal micro-blog alongside its use as a private note repository.

                      How do I organize memos without folders?

                      Memos uses hashtags for organization. Type `#work` or `#idea` anywhere in a memo to tag it. Tags appear in the left sidebar and clicking one filters the feed to only show memos with that tag. You can use nested tags like `#project/website` for more granular organization. The search function also searches through memo content, so full-text search works as an alternative to browsing by tag.

                      Does Memos support Markdown?

                      Yes — Memos renders full Markdown including headers, bold, italic, lists, code blocks with syntax highlighting, tables, blockquotes, and links. It also supports KaTeX for math equations (wrap in `$...$` for inline or `$$...$$` for block). Images embedded with the standard Markdown image syntax also render inline. The editor shows a live preview as you type.

                      How do I backup and restore Memos?

                      Backup: `docker cp memos:/var/opt/memos/memos_prod.db ./memos_backup_$(date +%Y%m%d).db`. Also backup the assets volume: `docker run --rm -v memos_assets:/data -v $(pwd):/backup alpine tar czf /backup/memos_assets.tar.gz /data`. Restore: stop the container, copy the backup file back to the volume path, and restart. Test restores in a staging environment before you need them in an emergency.

                      Can I import notes from Notion, Obsidian, or other apps?

                      Memos does not have a built-in bulk import UI, but it has a REST API that accepts plain text and Markdown. You can write a script to read your existing notes (from Obsidian vault files, Notion exports, etc.) and POST them one by one to the Memos API. Community members have shared import scripts on GitHub. For a single-user migration, manually pasting important notes is often practical for smaller collections.

                      How do I update Memos to the latest version?

                      Run `docker compose pull && docker compose up -d` in your Memos directory. The SQLite database and uploaded files are stored in named Docker volumes and are not affected by image updates. Check the Memos GitHub releases page before updating — major version upgrades sometimes include database migration steps that must be followed in order.