/meemo

Run a lightweight Meemo server with database on Docker with docker-compose

Primary LanguageDockerfileMIT LicenseMIT

Meemo on Docker

Lightweight Meemo 1.13.2 server with database on Docker with docker-compose

Manage your todo list, bookmarks and data in the Markdown format with Meemo

Docker Meemo

Build status Docker Pulls Docker Stars

Join Slack channel GitHub last commit GitHub commit activity GitHub issues

Donate PayPal

Features

  • Lightweight (uncompressed amd64) size of 127MB
  • Based on:
  • Compatible with amd64, 386, arm64, arm32v7 and arm32v6 CPU architectures

It also depends on a MongoDB database which is launched with Docker Compose.

Setup

  1. Ensure Docker and Docker-Compose are installed

  2. On your host machine, create the following files and directories

    # users file
    touch users.json
    # data and database directory
    mkdir data database
    # set ownership to map container user ID 1000
    chown 1000 users.json data database
    # set permissions
    chmod 600 users.json
    chmod 700 data database
  3. Download docker-compose.yml on your host, modify it as you wish:

    wget https://raw.githubusercontent.com/qdm12/meemo/master/docker-compose.yml
  4. Launch the MongoDB database and Meemo container with

    docker-compose up -d
  5. You can check logs with

    docker-compose logs -f
  6. Meemo is at localhost:3000 (depending on your mapped port in docker-compose.yml)

Configuration

We assume your Meemo container is named meemo in the following.

# List users
docker exec meemo ./meemo/admin users

# Add a user
docker exec meemo ./meemo/admin user-add -u yourUser -p yourPassword --display-name yourUser

# Edit a user
docker exec meemo ./meemo/admin user-edit -u yourUser -p yourPassword --display-name yourUser

# Remove a user
docker exec meemo ./meemo/admin user-del -u yourUser

All the changes are saved to users.json

Environment variables

Environment variable Default Description
PORT 3000 TCP port to listen on internally (should not be changed)
BIND_ADDRESS 0.0.0.0 (all) Address to listen on internally (should not be changed)
CLOUDRON_APP_ORIGIN http://localhost Used to share tasks etc.
CLOUDRON_MONGODB_URL mongodb://mongodb:27017/meemo Location of the Mongo database (should not be changed)
ATTACHMENT_DIR /data Attachment storage directory (should not be changed)
LOCAL_AUTH_FILE /users.conf Users configuration file location (should not be changed)
NODE_ENV production Should not be changed

TODOs

  • Mail environment variables & test
  • LDAP environment variables & test
  • Build binary meemo + Scratch container

License

This repository is under an MIT license