Memos − минималистичное веб-приложение для ведения личных заметок, которое можно установить на собственный виртуальный сервер. Оно создавалось с акцентом на простоту, приватность и скорость. Memos обладает очень простым интерфейсом — почти без лишних элементов — который позволяет сосредоточиться именно на тексте. Все записи сохраняются в формате Markdown, а для организации можно использовать хештеги прямо в теле заметки. Такой подход избавляет от необходимости придумывать сложную систему каталогов. Каждая заметка отображается в виде карточки с датой и временем, а навигация между ними реализована с помощью простой ленты. Поддерживается загрузка изображений, встроенный поиск, и даже есть возможность установить тёмную тему.
Memos работает на Go и по умолчанию использует SQLite в качестве базы данных. Несмотря на простоту, у приложения есть REST API, что позволяет, например, отправлять в него записи с других устройств, автоматизировать добавление контента или создавать собственные расширения. Функционал Memos несколько беднее, чем у Obsidian или Notion. Тем не менее, приложение отлично подходит тем, кому нужно надёжное и лёгкое решение для хранения своих мыслей и идей.
В статье разберём, как установить Memos на VPS, работающий под управлением Ubuntu 24.04.
Как установить Memos на Ubuntu
Архивы, содержащие готовые бинарные файлы различных версий Memos для разных операционных систем, можно найти на его странице на GitHub. Перейдите туда, выберите версию и, используя контекстное меню, скопируйте ссылку на загрузку архива.

После чего при помощи скопированной ссылки и утилиты curl
загрузите архив в текущую директорию:
$ curl -LO https://github.com/usememos/memos/releases/download/v0.24.4/memos_v0.24.4_linux_amd64.tar.gz
По окончании загрузки распакуйте полученный архив:
$ tar -xvf memos_v0.24.4_linux_amd64.tar.gz
Создайте временный каталог для хранения данных приложения:
$ mkdir -p ~/.memos
Поскольку по умолчанию веб-интерфейс Memos работает с использованием TCP-порта 8081, добавьте в брандмауэр UFW соответствующее разрешающее правило:
$ sudo ufw allow 8081
И следующей командой запустите приложение, чтобы проверить его работоспособность:
$ ./memos --data ~/.memos

После чего откройте браузер и перейдите по адресу http://X.X.X.X:8081
, где вместо X.X.X.X
укажите IP-адрес своей виртуальной машины. В результате в браузере должна открыться стартовая страница Memos с приглашением для создания новой учётной записи.

Чтобы завершить работу приложения, переключитесь в терминал и нажмите Ctrl C
.
Как запустить Memos в качестве системного сервиса
Чтобы приложение не нужно было запускать вручную каждый раз и оно было постоянно запущено в фоновом режиме, необходимо настроить его функционирование в качестве системного сервиса.
Для решения данной задачи, во-первых, создайте пользователя, от имени которого будет запускаться служба Memos:
$ sudo useradd --system --no-create-home --shell /usr/sbin/nologin memos
В данном случае:
--system
− параметр означает, что создаваемый пользователь будет системным, то есть будет предназначен только для работы демона;- –no-create-home − данная опция говорит о том, что пользователю не будет создан домашний каталог;
--shell /usr/sbin/nologin
− параметр устанавливает оболочку входа в/usr/sbin/nologin
, что запрещает пользователю подключение к системе через SSH.
Далее создайте структуру каталогов для работы приложения:
$ sudo mkdir -p /opt/memos
$ sudo mkdir -p /var/lib/memos
А также наделите созданные каталоги соответствующими правами:
$ sudo chown -R memos:memos /opt/memos
$ sudo chown -R memos:memos /var/lib/memos
Затем скопируйте бинарный файл приложения в предназначенную для него директорию:
$ sudo cp memos /opt/memos/
Теперь создайте юнит-файл для нового сервиса:
$ sudo nano /etc/systemd/system/memos.service
В него скопируйте следующие строки:
[Unit]
Description=Memos Service
After=network.target
[Service]
Type=simple
User=memos
ExecStart=/opt/memos/memos --data /var/lib/memos
WorkingDirectory=/opt/memos
Restart=on-failure
Environment=GIN_MODE=release
[Install]
WantedBy=multi-user.target
Сохраните изменения в файле, закройте его, после чего перезапустите конфигурацию системных сервисов. Это обязательно нужно сделать, чтобы уведомить систему о добавлении новой службы:
$ sudo systemctl daemon-reload
Затем запустите созданную службу:
$ sudo systemctl start memos
А также установите сервис в автозагрузку:
$ sudo systemctl enable memos
Проверьте состояние службы, чтобы убедиться в отсутствии ошибок при работе:
$ systemctl status memos

После чего откройте браузер и перейдите на http://X.X.X.X:808
1, где также вместо X.X.X.X
укажите IP-адрес виртуального сервера. Затем создайте пользователя, залогиньтесь и начинайте пользоваться собственным экземпляром веб-приложения для ведения заметок.
