Self-Hosting Your Own Cloud – Part 12: Note-taking with Notea

In my last post, I discussed I doing monthly optical data backups. Today, we’ll be setting up a new note-taking app called Notea.

This is the 12th post in a series about protecting your privacy by self-hosting while attempting to maintain the conveniences of public cloud services.

See the bottom of this post for a list.

Another Note-Taking App?

This isn’t the first in this series to cover self-hosting a note-taking app. Back in the third post in this series, I covered how to set up Nextcloud and Syncthing. With that solution, note-taking worked quite well on my desktop or laptop. However, on my phone, I found that over time it was insufficient for my needs.

I recently discovered a new app called Notea. It is still early in development but is quite usable and simple in its design. Using on a desktop browser works well, as does the app in a mobile browser on my iPhone (tip: use Safari and Add to Home Screen). The app even supports the upload and display of images inline in your notes.

Notea-Desktop
Web App on Desktop

Web App on Mobile

First, we’ll set up the containers needed to run the app.

Container Setup

Notea relies on an AWS S3-style bucket. Luckily, there is an easy-to-set-up local implementation of this called Minio. One nice thing about this setup is that notes are saved as simple Markdown files on your server and can be easily backed up.

We’ll setup a notea/docker-compose.yml that contains both Notea and Minio:

version: "3"
services:
  notea-webapp:
    image: cinwell/notea
    container_name: notea-webapp
    ports:
      - "3000:3000"
    environment:
      - STORE_ACCESS_KEY=YOUR_ACCESS_KEY
      - STORE_SECRET_KEY=YOUR_SECRET_KEY
      - STORE_BUCKET=notea
      - STORE_END_POINT=http://YOUR_SERVER:9000
      - STORE_FORCE_PATH_STYLE=true
      - PASSWORD=YOUR_PASSWORD
      - COOKIE_SECURE=true
      - BASE_URL="http://YOUR_SERVER:3000/"
  notea-db:
    image: minio/minio
    container_name: notea-db
    ports:
      - "9000:9000"
    volumes:
      - /PATH_TO_YOUR_DATA/notea:/data
    command: server /data

Next, we’ll have to create a bucket in our Minio server to store our data. Let’s create a notea/create-buckets.sh file.

Bucket Setup

export MINIO_DOCKER_NAME=notea-db
export MINIO_ACCESS_KEY=YOUR_ACCESS_KEY
export MINIO_SECRET_KEY=YOUR_SECRET_KEY
export MINIO_BUCKET=notea

docker run --name $MINIO_DOCKER_NAME -d -p 9000:9000 -e MINIO_ACCESS_KEY=$MINIO_ACCESS_KEY -e MINIO_SECRET_KEY=$MINIO_SECRET_KEY minio/minio server /data
docker run --rm --link $MINIO_DOCKER_NAME:minio -e MINIO_BUCKET=$MINIO_BUCKET --entrypoint sh minio/mc -c "\
  while ! nc -z minio 9000; do echo 'Wait minio to startup...' && sleep 0.1; done; \
  sleep 5 && \
  mc config host add myminio http://YOUR_SERVER:9000 \$MINIO_ENV_MINIO_ACCESS_KEY \$MINIO_ENV_MINIO_SECRET_KEY && \
  mc rm -r --force myminio/\$MINIO_BUCKET || true && \
  mc mb myminio/\$MINIO_BUCKET && \
  mc policy download myminio/\$MINIO_BUCKET \
"

Startup and Access

notea$ docker-compose up -d
notea$ chmod +x create-buckets.sh
notea$ ./create-buckets.sh

You should now be able to visit the URL you specified earlier (http://YOUR_SERVER:3000/), and enter the password you specified to begin using the app.

Notea Updates

As this app is under active development, you might want to regularly update. A simple way to do this is to run the following to pull the latest version of the images:

notea$ docker-compose down
notea$ docker-compose pull
notea$ docker-compose up -d

Self-Hosting Your Own Cloud

  1. Setting up OpenVPN
  2. SMB File Server with Automated Backups using Rsync/Rclone
  3. Note-taking with Nextcloud & Syncthing
  4. Movies and Music using Emby
  5. Protect Yourself Online with Privacy Tools
  6. Ad and Tracker Blocking with Pi-Hole
  7. Building a Personal Private Network with WireGuard
  8. Monitoring Your Internet Traffic with ntopng
  9. Building a NAS with ZFS
  10. Photos and Videos
  11. Monthly Optical Data Backups
  12. Note-taking with Notea (this post)
Conversation
  • Aadi Raj Uthup says:

    I can’t quite get minio to work. As far as I got is a non functional Notea. Everytime I opened Notea it showed the error Tree not found or something. Can someone help me set it up… I’ve been trying for weeks now. There’s only 3 guides on the entire web as far as I can look…

    • Cinetube says:

      I am also facing this issue. Someone should look into this issue.

  • Comments are closed.