# Install Memo Notes via Docker Compose

Use this guide to setup and install Meemo with Docker Compose. See our [review of Meemo](https://thehomelab.wiki/books/news/page/meemo-the-microblog-note-taking-app-you-never-knew-you-wanted).

## [](https://github.com/qdm12/meemo#setup)Setup

1. Ensure Docker and Docker-Compose are installed
2. On your host machine, create the following files and directories inside a directory of your choice.
    
    <div>```
    <span class="pl-c"># users file</span>
    touch users.json
    <span class="pl-c"># data and database directory</span>
    mkdir data database
    <span class="pl-c"># set ownership to map container user ID 1000</span>
    chown 1000 users.json data database
    <span class="pl-c"># set permissions</span>
    chmod 600 users.json
    chmod 700 data database
    ```
    
    </div>
3. Download [**docker-compose.yml**](https://raw.githubusercontent.com/qdm12/meemo/master/docker-compose.yml) on your host inside the same directory then modify it as you wish:
    
    <div>```
    wget https://raw.githubusercontent.com/qdm12/meemo/master/docker-compose.yml
    ```
    
    </div>
4. Launch the MongoDB database and Meemo container with
    
    <div>```
    docker-compose up -d
    ```
    
    </div>
5. You can check logs with
    
    <div>```
    docker-compose logs -f
    ```
    
    </div>
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.

<div id="bkmrk-%23-list-users-docker-">```
<span class="pl-c"># List users</span>
docker <span class="pl-c1">exec</span> meemo ./meemo/admin users

<span class="pl-c"># Add a user</span>
docker <span class="pl-c1">exec</span> meemo ./meemo/admin user-add -u yourUser -p yourPassword --display-name yourUser

<span class="pl-c"># Edit a user</span>
docker <span class="pl-c1">exec</span> meemo ./meemo/admin user-edit -u yourUser -p yourPassword --display-name yourUser

<span class="pl-c"># Remove a user</span>
docker <span class="pl-c1">exec</span> meemo ./meemo/admin user-del -u yourUser
```

</div>All the changes are saved to `users.json`

To support the Meemo project or follow developement, please visit the [Meemo Github repo](https://github.com/nebulade/meemo).