Skip to content

memospot/memos-builds

Repository files navigation

Memos Builds

Multiplatform builds for Memos, a beautiful, lightweight, and privacy-first note-taking service.

Some of these builds are used by Memospot, a self-contained desktop app for Memos, available on macOS, Linux and Windows.

Nightly and Stable builds are available.

Downloads GitHub Stars

Docker

This project provides optimized Memos images for the following platforms:

amd64 arm32 other
linux/amd64 linux/arm/v5 linux/386
linux/amd64/v2 linux/arm/v6 linux/ppc64le
linux/amd64/v3 linux/arm/v7 linux/riscv64
linux/arm64 linux/s390x

To use an image for a specific CPU architecture, add --platform=<platform> to the docker command line, before the image specifier. Read more at Platform variants.

Tip

The optimizations include build flags and smaller images.

(v0.26.0+) You can inject an env file as $MEMOS_DATA/memos.env. This file has precedence over environment variables passed to the container.

Note

In advanced setups, you can mount the database DSN with Docker Secrets. E.g., Pass in the secret id MEMOS_DSN to the container, and it will be loaded automatically from the default Docker secret mount /run/secrets/MEMOS_DSN.

Quick start

Docker run (latest)

docker run --detach --name memos --publish 5230:5230 \
  --volume ~/.memos/:/var/opt/memos ghcr.io/memospot/memos-builds:latest

Docker run (nightly)

docker run --detach --name memos-nightly --publish 5231:5230 \
  --volume ~/.memos-nightly/:/var/opt/memos ghcr.io/memospot/memos-builds:nightly

Docker run (throwaway nightly in demo mode)

docker run --detach --rm --name memos-throwaway --publish 5232:5230 \
  --env MEMOS_DEMO=true ghcr.io/memospot/memos-builds:nightly

Important

Starting from v0.26.0, MEMOS_MODE is now retired. Database is always in prod mode unless MEMOS_DEMO=true is set.

Keeping containers up to date

Automatically

Use Watchtower.

docker run --detach --name watchtower \
  --volume /var/run/docker.sock:/var/run/docker.sock nickfedor/watchtower

Manually

# Pull the latest image
docker pull ghcr.io/memospot/memos-builds:latest

# Stop the current container
docker stop memos

# Remove the current container
docker rm memos

# Start a new container with the latest image
docker run --detach --name memos --publish 5230:5230 \
  --volume ~/.memos/:/var/opt/memos ghcr.io/memospot/memos-builds:latest

About images

  • Versioned images are checked out to the matching Memos upstream tag.

  • Nightly images use whatever is available at Memos main branch at build time.

  • Image packages are auto-upgraded at build time.

  • Nightly images are built daily at 05:25 UTC.

  • Images are published at the same time to Docker Hub and GitHub Container Registry.

Platform Image
arm/v5 busybox:1.37-glibc
All other alpine:3.23

Platform variants

Multiple builds for arm and amd64 platforms exist, with different hardware optimizations. Choose the build that best suits the host CPU.

Run cat /proc/cpuinfo and uname -m to find out your CPU model and architecture. For an ARMv8 or aarch64 CPU, use the ARM64 build.

Important

Avoid using the arm/v5 variant unless the host CPU can't handle anything newer. While it works, the lack of VFP hinders the performance of applications that were not specifically written for this architecture.

Variant Target CPUs
amd64 Runs on all AMD64/Intel 64 CPUs. Also known as x86_64
amd64/v2 Intel Nehalem (1st gen from 2009) / AMD Jaguar (2013+)
amd64/v3 Intel Haswell (4th gen) / AMD Excavator (2015+)
arm/v5 Older ARM without VFP (Vector Floating Point)
arm/v6 VFPv1 only: ARM11 or better cores
arm/v7 VFPv3: Cortex-A cores
arm64 Recent ARM64/AArch64 CPUs

Building

Support

Memos' official first-class support is for its Docker container. These binaries and images are provided as a convenience for some specific use cases. They may work fine, and they may not. Use them at your discretion.

Please do not open issues on the official Memos repository regarding these builds unless you can reproduce the issue on the official Docker container.

Running as a Service

To start Memos at system boot, you must manually set up a system service:

Running on Android

Memos server on Android

Supporting

If you appreciate this project, be sure to ⭐star it on GitHub.