¿Buscas una alternativa privada y gratuita a Notion o Evernote? Memos Docker Compose te permite desplegar tu propio sistema de notas auto-alojado en minutos. Sin suscripciones, sin límites y con control total sobre tus datos. En esta guía completa, descubrirás cómo instalar y configurar Memos para gestionar tus notas, wikis de equipo y base de conocimientos de forma privada y eficiente.
¿Qué es Memos Docker Compose?
Memos Docker Compose es una configuración de contenedores que te permite desplegar Memos, un servicio open-source de tomas de notas auto-alojado, de manera rápida y sencilla. Memos se ha convertido en una de las alternativas más populares a aplicaciones como Notion, Evernote o Bear Notes, con más de 47.000 estrellas en GitHub y 7.1 millones de descargas en Docker Hub.
A diferencia de servicios comerciales, Memos prioriza tu privacidad: sin telemetría, sin anuncios, sin rastreo de datos. Todo se almacena en tu propio servidor, manteniendo tus pensamientos y conocimientos bajo tu completo control.
Esta solución está desarrollada con Go en el backend y React en el frontend, ofreciendo un rendimiento excepcional incluso con miles de notas. Soporta bases de datos SQLite, MySQL y PostgreSQL, adaptándose perfectamente a proyectos personales o equipos completos.
Ventajas de usar este gestor de notas en 2025
Implementar esta herramienta en tu infraestructura ofrece múltiples beneficios tangibles:
- Privacidad total: Sin empresas analizando el contenido de tus notas ni monetizando tu información personal
- Cero costos recurrentes: Todas las funcionalidades disponibles de forma permanente sin planes premium ni paywalls
- Propiedad de datos: Exporta tus notas en cualquier momento sin depender de APIs comerciales
- Despliegue en 5 minutos: Gracias a la arquitectura Docker Compose, la instalación es extremadamente rápida
- Markdown nativo: Escribe en formato universal y portable que garantiza compatibilidad futura
- API completa: Integra el gestor con otras herramientas mediante REST y gRPC APIs
- Multiplataforma: Desde una Raspberry Pi hasta servidores empresariales
- Comunidad activa: Más de 340 contribuidores mejoran constantemente el proyecto
Los casos de uso abarcan desde desarrolladores que documentan código, hasta escritores que organizan borradores, estudiantes que centralizan apuntes, o equipos que construyen wikis internas. La flexibilidad del sistema permite adaptarse a múltiples escenarios profesionales y personales.
Requisitos previos para la instalación
Antes de comenzar la instalación, asegúrate de tener preparado tu entorno:
- Docker Engine instalado (versión 20.10 o superior recomendada)
- Docker Compose versión 2.0 o posterior
- Servidor con mínimo 512MB de RAM (1GB recomendado para SQLite)
- Aproximadamente 100MB de espacio en disco para la imagen base
- Permisos de sudo para gestionar contenedores
- Puerto 5230 disponible (o el que prefieras configurar)
Para verificar que tienes Docker funcionando correctamente, ejecuta:
docker --version
docker compose version
Si no tienes Docker instalado, consulta la documentación oficial de Docker para tu sistema operativo específico.
Instalación completa con Memos Docker Compose
La configuración mediante contenedores simplifica enormemente el proceso de despliegue. A continuación te muestro el archivo docker-compose.yml optimizado para producción:
version: '3.8'
services:
memos:
image: neosmemo/memos:stable
container_name: memos
restart: unless-stopped
ports:
- "5230:5230"
volumes:
- ./memos_data:/var/opt/memos
environment:
- TZ=Europe/Madrid
# Opcional: Configura una base de datos externa
# - MEMOS_DRIVER=postgres
# - MEMOS_DSN=postgresql://user:password@postgres:5432/memos?sslmode=disable
networks:
- memos_network
networks:
memos_network:
driver: bridge
Para desplegar el servicio, sigue estos pasos:
- Crea un directorio de trabajo:
mkdir -p ~/memos && cd ~/memos
- Guarda la configuración anterior en un archivo llamado
docker-compose.yml - Inicia el contenedor:
docker compose up -d
- Verifica que el servicio está corriendo:
docker compose ps
docker compose logs memos
- Accede a la interfaz web en
http://tu-servidor:5230
En el primer acceso, deberás crear una cuenta de administrador. Esta será tu cuenta principal para gestionar usuarios y configuración global del sistema.
Configuración avanzada del servicio
Para entornos de producción o equipos, considera estas configuraciones adicionales que mejorarán el rendimiento y la seguridad.
Integración con PostgreSQL
Si esperas manejar grandes volúmenes de notas o múltiples usuarios concurrentes, PostgreSQL ofrece mejor rendimiento que SQLite:
version: '3.8'
services:
postgres:
image: postgres:16-alpine
container_name: memos_postgres
restart: unless-stopped
environment:
- POSTGRES_DB=memos
- POSTGRES_USER=memosuser
- POSTGRES_PASSWORD=memossecurepass
volumes:
- ./postgres_data:/var/lib/postgresql/data
networks:
- memos_network
memos:
image: neosmemo/memos:stable
container_name: memos
restart: unless-stopped
ports:
- "5230:5230"
volumes:
- ./memos_data:/var/opt/memos
environment:
- TZ=Europe/Madrid
- MEMOS_DRIVER=postgres
- MEMOS_DSN=postgresql://memosuser:memossecurepass@postgres:5432/memos?sslmode=disable
depends_on:
- postgres
networks:
- memos_network
networks:
memos_network:
driver: bridge
Configuración con proxy inverso
Para acceder a tu aplicación mediante un dominio con HTTPS automático, combina tu instalación con Caddy o Nginx Proxy Manager. Aquí un ejemplo con Caddy:
version: '3.8'
services:
caddy:
image: caddy:alpine
container_name: caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./caddy_data:/data
- ./caddy_config:/config
networks:
- memos_network
memos:
image: neosmemo/memos:stable
container_name: memos
restart: unless-stopped
volumes:
- ./memos_data:/var/opt/memos
environment:
- TZ=Europe/Madrid
networks:
- memos_network
networks:
memos_network:
driver: bridge
Y el contenido del Caddyfile:
memos.tudominio.com {
reverse_proxy memos:5230
encode gzip
}
Con esta configuración, Caddy gestionará automáticamente los certificados SSL mediante Let’s Encrypt.
Backups automáticos
Protege tus notas configurando copias de seguridad periódicas. Para SQLite, simplemente respalda el directorio memos_data:
#!/bin/bash
# Script de backup diario
BACKUP_DIR="/backups/memos"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/memos_backup_$DATE.tar.gz ~/memos/memos_data
# Mantener solo los últimos 7 backups
find $BACKUP_DIR -name "memos_backup_*.tar.gz" -mtime +7 -delete
Programa este script con cron para ejecución automática nocturna.
Casos de uso reales
La versatilidad de este gestor de notas lo hace ideal para múltiples escenarios profesionales y personales:
Para desarrolladores
- Documentar snippets de código y soluciones a problemas recurrentes
- Mantener logs de debugging y troubleshooting
- Crear wikis técnicas para proyectos en equipo
- Integrar con CI/CD mediante la API para generar documentación automática
Para equipos y empresas
- Base de conocimientos interna sin depender de servicios SaaS costosos
- Documentación de procesos y procedimientos operativos
- Onboarding de nuevos empleados con guías centralizadas
- Cumplimiento normativo manteniendo datos sensibles en infraestructura propia
Para uso personal
- Diario personal con total privacidad
- Gestión de recetas, listas de tareas y notas rápidas
- Construcción de un «jardín digital» de conocimientos
- Sincronización entre dispositivos mediante tu propia nube
Memos vs Notion, Evernote y otras alternativas
¿Cómo se compara con las opciones más populares del mercado?
| Característica | Memos (auto-alojado) | Notion | Evernote |
|---|---|---|---|
| Privacidad | Total (tus servidores) | Datos en servidores de Notion | Datos en servidores de Evernote |
| Costo mensual | $0 (infraestructura aparte) | $10-18/usuario | $14.99/usuario |
| Markdown nativo | ✅ Sí | Parcial | ❌ No |
| API completa | ✅ REST + gRPC | ✅ Limitada | ✅ Limitada |
| Open source | ✅ MIT License | ❌ Propietario | ❌ Propietario |
| Offline first | ✅ Sí | Limitado | Solo premium |
| Control de datos | ✅ Total | ❌ Vendor lock-in | ❌ Vendor lock-in |
Si priorizas privacidad, control total y cero costos recurrentes, la opción auto-alojada supera claramente a las alternativas comerciales. Para equipos grandes que necesiten colaboración en tiempo real avanzada, Notion puede ofrecer funcionalidades adicionales, pero a cambio de comprometer privacidad y pagar tarifas permanentes.
Solución de problemas comunes
El contenedor no inicia
Verifica los logs para identificar el error:
docker compose logs memos
Errores comunes incluyen permisos incorrectos en el volumen o puerto ya en uso. Para cambiar el puerto, modifica la sección ports en tu archivo YAML.
Rendimiento lento con muchas notas
SQLite puede volverse lento con bases de datos grandes. Migra a PostgreSQL siguiendo la configuración avanzada mostrada anteriormente. La documentación oficial incluye scripts de migración en el repositorio de GitHub.
Pérdida de datos tras actualización
Siempre realiza backups antes de actualizar. Si usas volúmenes relativos (./memos_data), asegúrate de mantener el mismo directorio de trabajo al recrear contenedores.
Actualizaciones y mantenimiento
Mantener tu instalación actualizada es fundamental para seguridad y nuevas funcionalidades. El proceso es simple:
# Detener el contenedor
docker compose down
# Descargar nueva imagen
docker compose pull
# Reiniciar con la nueva versión
docker compose up -d
# Verificar versión actualizada
docker compose logs memos | grep version
El proyecto libera actualizaciones regularmente. Consulta el historial de releases para conocer las novedades de cada versión.
Para automatizar actualizaciones, considera usar Watchtower, aunque se recomienda precaución con aplicaciones que manejan datos críticos.
Conclusión: ¿Vale la pena este sistema?
Si buscas una solución de notas que respete tu privacidad, no te cobre mensualmente y te dé control completo sobre tus datos, esta alternativa es excelente. Con más de 47.000 estrellas en GitHub y una comunidad activa de 340+ contribuidores, el proyecto demuestra madurez y compromiso a largo plazo.
El despliegue con contenedores elimina prácticamente toda la complejidad técnica, permitiendo tener un sistema productivo en menos de 10 minutos. Ya seas un desarrollador documentando proyectos, un estudiante organizando apuntes, o una empresa construyendo su base de conocimientos interna, esta herramienta se adapta perfectamente.
La arquitectura API-first abre posibilidades infinitas de integración con otras herramientas de tu stack. Y al tratarse de software open-source, puedes auditar el código, contribuir mejoras o incluso crear extensiones personalizadas.
En un mundo donde la privacidad es cada vez más escasa, tener un espacio privado para tus pensamientos y conocimientos no es un lujo, es una necesidad. Memos Docker Compose te ofrece exactamente eso, sin compromisos.
Preguntas frecuentes (FAQ)
¿Memos es realmente gratuito?
Sí, completamente. Está licenciado bajo MIT, lo que significa que puedes usarlo, modificarlo y distribuirlo libremente sin costos. Solo pagas por la infraestructura donde lo alojes (servidor, dominio, etc.).
¿Puedo migrar mis notas desde Notion o Evernote?
Sí. Exporta tus notas desde Notion en formato Markdown y utiliza la API de la aplicación o importación masiva. La comunidad ha desarrollado scripts de migración disponibles en el repositorio oficial.
¿Memos soporta colaboración en tiempo real?
Actualmente no tiene edición simultánea estilo Google Docs. Soporta múltiples usuarios con permisos, pero las ediciones son secuenciales. Es ideal para wikis y bases de conocimiento, no tanto para documentos colaborativos en vivo.
¿Qué requisitos mínimos necesito?
Funciona perfectamente en una Raspberry Pi 4 con 2GB RAM. Para uso personal, 512MB son suficientes. Si planeas alojar múltiples usuarios o miles de notas, recomendamos 2GB RAM y PostgreSQL como base de datos.
¿Hay aplicaciones móviles?
La interfaz web es completamente responsive y funciona excelente en navegadores móviles. También puedes instalarla como PWA (Progressive Web App) para experiencia similar a una app nativa. Existen clientes de terceros en desarrollo en la comunidad.
