59 lines
3.0 KiB
Markdown
59 lines
3.0 KiB
Markdown
<div align="center" style="text:align:center">
|
|
<img src="docs/media/logo.png" width="60%">
|
|
</div>
|
|
|
|
---
|
|
|
|
<div align="center" style="text:align:center">
|
|
<img src="docs/media/app.png" width="80%" style="padding: 2.5rem 0px 0.5rem">
|
|
</div>
|
|
|
|
## Features
|
|
|
|
Available:
|
|
|
|
- Markdown support (Github flavored)
|
|
- Note version history
|
|
- Automatic note expiration via `@exp:` title prefixes
|
|
- Keyboard navigation support
|
|
- User account administration
|
|
|
|
Waiting to be implemented:
|
|
|
|
- Import/export of notes ([#7](https://git.umbrella.haus/ae/qnote/issues/7))
|
|
- Bulk import/export with Markdown
|
|
- Single note export with PDF
|
|
- Webhook compatibility ([#4](https://git.umbrella.haus/ae/qnote/issues/4))
|
|
|
|
## Usage
|
|
|
|
The app can be run in two modes:
|
|
|
|
- Combined/fullstack (`docker-compose-full.yml`)
|
|
- Frontend published to `0.0.0.0:3000` (`DOMAIN` must be set to the "server's" IP address when accessing e.g. from local network, otherwise the authentication cookies won't be sent correctly by client's browser)
|
|
- Dockerized backend & Vite dev server (`docker-compose-back.yml`)
|
|
- Frontend published to `localhost:5173`
|
|
- Golang server and Postgres database are containerized and the frontend can be run in development mode with `npm run dev`
|
|
|
|
The `./scripts/run_dev.sh -h` output can be used as a reference of running each of the available modes (combined, separate frontend and backend, or purging data from previous test runs with `-p` or `-q`):
|
|
|
|
```shell
|
|
[?] usage: ./scripts/run_dev.sh [-h|-f|-p]
|
|
-f run both frontend and backend (default: false)
|
|
-p purge any existing database artifacts (default: false)
|
|
-q only purge old data without building/spawning any new containers (default: false)
|
|
```
|
|
|
|
## Configuration
|
|
|
|
| Variable | Description | Default |
|
|
| -------------------------- | ---------------------------------------------------------------------- | -------------------------- |
|
|
| `PG_*` | Postgres credentials | `qnote` (user and DB name) |
|
|
| `*_SECRET` | Backend secrets | - |
|
|
| `ADMIN_*` | Initial admin account credentials | - |
|
|
| `ACCOUNT_CREATION_ENABLED` | Boolean to toggle registration | `0` |
|
|
| `LOG_LEVEL` | Server log level | `info` |
|
|
| `APP_ENV` | Boolean to toggle production security features (HTTPS for CSRF & CORS) | `production` |
|
|
| `DOMAIN` | Domain of authentication cookies | `localhost` |
|
|
| `FRONTEND_URL` | CORS frontend URL | `http://localhost:3000` |
|