Если вам не нужна полновесная PKM-система вроде Obsidian или Trilium, а хочется быстро черкнуть мысль и не потерять ее - Memos закрывает именно эту нишу. По сути, это self-hosted замена Google Keep: легкая, без лишнего интерфейса, но со своим сервером под капотом и полным контролем над данными.
Разбираю его в видео и заодно делаю обзор - что это, кому подойдет и как поднять в Docker.
Что такое Memos#
Memos - open-source приложение для заметок в формате ленты (timeline). Никакой иерархии страниц, баз данных внутри заметок или блоковых структур, как в Notion или Obsidian - просто хронологический список коротких записей с Markdown, тегами прямо в тексте и быстрым поиском.
Если Obsidian или Trilium - это полноценная база знаний, то Memos ближе к техническому микроблогу для себя: записал мысль, поставил тег, пошел дальше.
Кому подойдет#
Memos имеет смысл, если вам не нужны вложенные структуры и связи между заметками, канбан-доски или продвинутая wiki-логика.
А нужно - быстро зафиксировать мысль, идею по проекту или короткую техническую заметку, не открывая тяжелое PKM-приложение. По факту это self-hosted альтернатива Google Keep или Apple Notes, только с полным контролем над данными - ни одна заметка не улетает на чужой сервер.
Лента и теги#
Все записи идут единой хронологической лентой - удобно, когда фиксируешь идеи по ходу работы над проектом. Теги (#docker, #proxmox, #traefik) позволяют потом отфильтровать нужное, не листая все подряд.
Несколько пользователей#
Можно завести отдельных пользователей с изоляцией данных и ролями - подходит, если хотите один инстанс на семью или небольшую команду, а не разворачивать Memos каждому отдельно.
Минимальные требования#
Никакой внешней PostgreSQL, тяжелых зависимостей или сложной конфигурации из коробки - по умолчанию Memos работает на SQLite. Это делает его удобным кандидатом для мини-ПК, одноплатников или маленького VPS, где гонять что-то тяжелое просто незачем.
Пример docker compose файла из видео#
Вот конфигурация, которую использовал в ролике - Memos за Traefik, с проксированием через домен:
services:
memos:
image: neosmemo/memos:stable
container_name: memos
#ports:
# - "5230:5230"
volumes:
- /home/user/docker/memos:/var/opt/memos
environment:
- MEMOS_PORT=5230
- MEMOS_INSTANCE_URL=https://memos.domain.ru
restart: unless-stopped
networks:
proxy: # Подключаем контейнер к внешней сети "proxy" (используется Traefik)
labels: # Метки для интеграции с Traefik (обратный прокси)
- "traefik.enable=true" # Включаем обработку контейнера Traefik
- "traefik.http.routers.memos.entrypoints=web" # Определяем HTTP-вход (порт 80)
- "traefik.http.routers.memos.rule=Host(`memos.domain.ru`)" # Трафик на этот домен будет направляться в данный контейнер
- "traefik.http.middlewares.memos-https-redirect.redirectscheme.scheme=https" # Middleware для редиректа с HTTP на HTTPS
- "traefik.http.routers.memos.middlewares=memos-https-redirect" # Применяем middleware редиректа к HTTP-маршруту
- "traefik.http.routers.memos-secure.entrypoints=websecure" # Определяем HTTPS-вход (порт 443)
- "traefik.http.routers.memos-secure.rule=Host(`memos.domain.ru`)" # HTTPS-маршрут для того же домена
- "traefik.http.routers.memos-secure.tls=true" # Включаем TLS (HTTPS)
- "traefik.http.routers.memos-secure.service=memos" # Привязываем HTTPS-маршрут к сервису memos
- "traefik.http.services.memos.loadbalancer.server.port=5230" # Указываем внутренний порт, на котором memos слушает в контейнере
- "traefik.docker.network=proxy" # Указываем, что Traefik должен искать контейнер в сети "proxy"
networks:
proxy: # Определение внешней сети для взаимодействия с Traefik
external: true # Сеть уже создана ранее (не создавать заново)Пара нюансов, если будете собирать по своему домену:
portsзакомментирован намеренно - контейнер не публикует порт наружу напрямую, весь трафик заходит через Traefik по сетиproxy.- Вместо переменной
MEMOS_MODE=prod, которая встречается в старых примерах, я поставилMEMOS_INSTANCE_URL- это актуальная переменная из документации Memos, которая задает канонический внешний адрес инстанса. Она важна именно при работе за reverse-proxy: без нее могут криво генерироваться ссылки на расшаренные заметки. - Порт
5230здесь - не дефолт (в свежих версиях Memos слушает8081, если порт не задан явно), но раз он прописан и вMEMOS_PORT, и в лейбле Traefik - все сходится.
Итог#
Если Obsidian или Trilium вам кажутся избыточными для того, что по сути является списком быстрых заметок - Memos закрывает именно эту потребность: self-hosted, легкий, с Markdown и тегами, разворачивается за пять минут. Полноценной базой знаний он не станет, но на роль Google Keep с собственным сервером подходит отлично.




