# memos — lightweight self-hosted note / memo server. # Upstream: https://github.com/usememos/memos (MIT, Go binary). # # Single container, SQLite by default (file lives in the bind-mounted # data dir below). Auth bootstraps via the UI on first run — first # user created becomes Host. No env vars required for a basic install. # # All tunables live in .env — edit that, not this file. services: memos: image: neosmemo/memos:${MEMOS_TAG:-stable} container_name: memos restart: unless-stopped ports: - "${MEMOS_BIND:-0.0.0.0}:${MEMOS_PORT}:5230" volumes: # SQLite DB + uploaded resource files. Bind mount on the host # rather than a named volume so backups + manual inspection are # straightforward. - ${MEMOS_DATA_DIR}:/var/opt/memos environment: - TZ=${MEMOS_TZ:-America/Los_Angeles} healthcheck: # Image is alpine-based and ships busybox wget. --spider keeps it # cheap (HEAD request) and 127.0.0.1 dodges the IPv6-first # localhost trap that bit news-digest + chatterbox earlier. test: ["CMD-SHELL", "wget --spider -q http://127.0.0.1:5230/ || exit 1"] interval: 30s timeout: 5s retries: 3 start_period: 30s networks: - tnet labels: - homepage.group=Notes - homepage.name=Memos - homepage.icon=mdi-note-text-outline - homepage.description=Self-hosted note + memo server (ana-docker) - homepage.href=http://10.250.50.70:${MEMOS_PORT} networks: tnet: name: traefik-net external: true