Notea S3 Note-taking App

Self-Hosting Jun 2, 2021

Last Updated: 15th September 2021

WARNING: Minio's executable was moved without notice from /usr/bin/minio to /opt/bin/minio. The docker-compose below has been updated. If the old path is used with a new Minio image, Minio will not start. - 2021-09-15

What is Notea?

"Notea is a privacy-first, open-source note-taking application. It supports Markdown syntax, sharing, responsive and more." - https://cinwell.com/notea/

Live Demo: https://notea.cinwell.com/

Notea UI

Prerequisites:

Install

Notea does not require a database instead it relies on an AWS S3 or S3
Compatible bucket. We will be setting up Minio which is a self-hosted compatible S3 software. Instead of this, you could use AWS S3 (5GB Free) or another compatible provider such as Scaleway (75GB Free).

  1. Head to your home directory: cd
  2. Create a new directory for notea: mkdir notea && cd notea
  3. Create docker-compose.yaml: nano docker-compose.yaml

Use the following template:

version: '3'
services:
    notea:
      image: cinwell/notea
      container_name: notea
      environment:
        - STORE_ACCESS_KEY=CHANGEME1
        - STORE_SECRET_KEY=CHANGEME2
        - STORE_BUCKET=notea
        - STORE_END_POINT=https://minio.example.com
        - STORE_FORCE_PATH_STYLE=true
        - PASSWORD=CHANGEME3
        - COOKIE_SECURE=true
        - BASE_URL="https://notea.example.com"
      networks:
        default:
          ipv4_address: 10.10.10.16
    notea-s3:
      image: minio/minio
      container_name: notea-s3
      environment:
        MINIO_ACCESS_KEY: CHANGEME1
        MINIO_SECRET_KEY: CHANGEME2
      volumes:
        - ./minio-data:/data
      entrypoint: sh
      command: -c 'mkdir -p /data/notea && /opt/bin/minio server /data'
      networks:
        default:
          ipv4_address: 10.10.10.15
      
networks:
  default:
    external:
      name: dockernet

*When using images within your notes, the web app will directly query the S3 Bucket, therefore Minio should be set up with a hostname and reverse proxy.

  1. Spin it up: sudo docker-compose up -d
  2. Configure your reverse proxy
    Example Caddyfile config:
notea.example.com {
  reverse_proxy 10.10.10.16:3000
}

minio.example.com {
  reverse_proxy 10.10.10.15:9000
}

Enjoy!

Comments


Cover Image Credit: https://unsplash.com/@cathrynlavery

Tags

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.