123 lines
3.3 KiB
Markdown
123 lines
3.3 KiB
Markdown
# 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://git.musselman.dev/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](https://git.musselman.dev/Musselman/notatio/src/branch/main/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
|