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

104 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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:
```bash
git clone https://codeberg.org/musselman/notatio
```
## 🚀 **Running**
There are two ways to run Notatio.
### 📦 Container (Recommended)
---
#### Docker
Before running the Docker container, make sure to copy `.env.example` to `.env` and customize the environment variables to your preferences:
```bash
cp .env.example .env
```
Launch the containers using the following command:
```bash
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:
```bash
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](/quadlets).
### 🛠️ 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:
```bash
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](./CONTRIBUTING.md) guide.
## 📄 License
This project is licensed under the AGPL see the [LICENSE](./LICENSE) file for details