notatio/README.md
2024-06-30 00:46:43 -05:00

3.2 KiB
Raw Permalink Blame History

Notatio

💡 About

Notatio is currently under heavy development! As such there is the possibility breaking changes!

Notatio is a self-hostable, containerized, web-based text editor written in the Go programming language. The main objective of the project is to create a platform independent text editor (and productivity management suite). I hope to develop this as an alternative to proprietary software like obsidian and Notion.so which I have loved and used in the past. This software was originally created as part of a Senior Capstone, but is now being developed in my spare time while job hunting.

🛣️ Roadmap

In Progress

  • 🕓 Building Custom Text Editor
  • 🕓 Add Kanban Board

Planned V1 Release

  • Flesh out File Management Operations
  • NoSQL setup option

Planned v1.1 Release

  • Collaborative Editing
  • File Versioning

Planned v1.2 Release

  • End-to-End Encryption

💾 Download

Downloading Notatio is simple! Just clone the repository using the command below:

git clone https://codeberg.org/musselman/notatio

🚀 Running

There are two ways to run Notatio.


Docker

Before running the Docker container, make sure to copy .env.example to .env and customize the environment variables to your preferences:

cp .env.example .env

Launch the containers using the following command:

docker-compose up -d

Podman (Alternative to Docker)

  1. Make sure you have Podman and Podman-Compose installed on your system.
  2. Copy .env.example to .env and modify the environment variables as per your requirements.
  3. Edit the docker-compose.yaml to have :Z's at the end of volumes. This is to tell SELinux that the volumes should be labeled with the appropriate security context.
  4. Launch the containers using the following command:
podman-compose up -d

Please note that using Podman instead of Docker requires you to have Podman installed and properly configured on your system. The usage and setup of Podman may differ from Docker, so please consult the Podman documentation for further information.

For those who use Podman Quadlets, I am pleased to provide them for you in the Quadlets folder.

🛠️ Go Binary (Advanced)


Note: This setup requires a running PostgreSQL database. Please set it up before proceeding.

To run Notatio using the Go binary, follow the steps below:

  1. Build the Go binary.
  2. Pass the necessary environment variables to the program, editing them to provide the required information for your database.

Example command:

DB_HOST=127.0.0.1 PGPORT=5432 DB_USER=postgres POSTGRES_PASSWORD=mysecretpassword DB_SSL_MODE=disable ADMIN_USER=admin_user ADMIN_NAME=Admin ADMIN_EMAIL=admin@example.com ADMIN_PASS=admin_is_not_a_good_password! ./notatio

Please note that this method is more advanced and requires additional setup such as installing G.

🤝 Contributing

As this is no longer an academic project, All contributions are welcome. Please take a look at contributing guide.

📄 License

This project is licensed under the AGPL see the LICENSE file for details