Lightweight Meemo 1.9.2 server with database on Docker with docker-compose
Manage your todo list, bookmarks and data in the Markdown format with Meemo
Image size | RAM usage | CPU usage |
---|---|---|
103MB | 70MB | Low |
It is based on:
- Meemo 1.9.2 and its NodeJS dependencies
- Alpine 3.10
- NodeJS
It also depends on a MongoDB database which is launched with Docker Compose.
-
Ensure Docker and Docker-Compose are installed
-
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 400 mkdir chmod 700 data database
-
CLICK IF YOU HAVE AN ARM DEVICE
-
If you have a ARM 32 bit v6 architecture
docker build -t qmcgaw/meemo \ --build-arg BASE_IMAGE=arm32v6/alpine \ https://github.com/qdm12/meemo.git
-
If you have a ARM 32 bit v7 architecture
docker build -t qmcgaw/meemo \ --build-arg BASE_IMAGE=arm32v7/alpine \ https://github.com/qdm12/meemo.git
-
If you have a ARM 64 bit v8 architecture
docker build -t qmcgaw/meemo \ --build-arg BASE_IMAGE=arm64v8/alpine \ https://github.com/qdm12/meemo.git
-
-
Download docker-compose.yml on your host, modify it as you wish:
wget https://raw.githubusercontent.com/qdm12/meemo/master/docker-compose.yml vi docker-compose.yml # For ARM, you might change the mongo image to an ARM mongo image
-
Launch the MongoDB database and Meemo container with
docker-compose up -d
-
You can check logs with
docker-compose logs -f
-
Meemo is at localhost:3000 (depending on your mapped port in docker-compose.yml)
Provided your Meemo container is still named meemo
, the shell script commands.sh can be executed on your host.
The following options are provided:
-
List users
./commands.sh ls
-
Add user
./commands.sh add username password
-
Edit user
./commands.sh edit username password
-
Remove user
./commands.sh remove username
All the changes are saved to users.json
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) |
APP_ORIGIN |
http://localhost |
Used to share tasks etc. |
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 |
- Mail environment variables & test
- LDAP environment variables & test
- Build binary meemo + Scratch container
This repository is under an MIT license