generated from ITwrxOrg/EZ-Bkup
Compare commits
9 Commits
451492fa20
...
contrib-de
| Author | SHA1 | Date | |
|---|---|---|---|
| 781d30b285 | |||
| 9f5ed5ec36 | |||
| 2c5a6d627c | |||
|
|
75a1239ab7
|
||
|
|
1706aa1945
|
||
| 5ff6b0b993 | |||
| 67bf568731 | |||
| 8ba825104a | |||
| 44410f85f6 |
19
Forget_Me_Not.nimble
Normal file
19
Forget_Me_Not.nimble
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# Package
|
||||||
|
|
||||||
|
version = "0.9.0"
|
||||||
|
author = "ITwrx"
|
||||||
|
description = "A single-user-per-instance web application for creating/editing Reminders that can repeat in various ways."
|
||||||
|
license = "AGPL-3.0-only"
|
||||||
|
srcDir = "."
|
||||||
|
bin = @["fmn_gs"]
|
||||||
|
|
||||||
|
|
||||||
|
# Dependencies
|
||||||
|
|
||||||
|
requires "nim >= 2.0.0"
|
||||||
|
requires "guildenstern >= 8.1.0"
|
||||||
|
requires "nimword >= 1.0.1"
|
||||||
|
requires "sqliteral >= 5.0.1"
|
||||||
|
requires "jsony >= 1.1.5"
|
||||||
|
requires "smtp >= 0.1.0"
|
||||||
|
requires "valido >= 0.1.0"
|
||||||
31
README.md
31
README.md
@@ -1,18 +1,37 @@
|
|||||||
# Forget-Me-Not
|
# Forget-Me-Not
|
||||||
|
|
||||||
A single-user-per-instance web application for creating/editing Reminders that can repeat in various ways. Supports email and XMPP notifications. It is written in [Nim](https://nim-lng.org) using the [Guildenstern](https://github.com/olliNiinivaara/GuildenStern) multi-threaded server library and the muti-threaded [SQLiteral](https://github.com/olliNiinivaara/SQLiteral) SQLite API library.
|
A single-user-per-instance web application for creating/editing Reminders that can repeat in various ways. Supports email and XMPP notifications. It is written in [Nim](https://nim-lng.org) using the [Guildenstern](https://github.com/olliNiinivaara/GuildenStern) multi-threaded server library and the muti-threaded [SQLiteral](https://github.com/olliNiinivaara/SQLiteral) SQLite API library.
|
||||||
#System Package Dependencies
|
|
||||||
|
## System Package Dependencies
|
||||||
|
|
||||||
curl: send any due Reminders by running the following Curl command from /etc/periodic/15min or similar cron mechanism.
|
curl: send any due Reminders by running the following Curl command from /etc/periodic/15min or similar cron mechanism.
|
||||||
|
|
||||||
-- curl -d "send_reminders_key=your-string-key" -X POST http://127.0.0.1:your-apps-post-port-num/send-reminders
|
-- curl -d "send_reminders_key=your-string-key" -X POST http://127.0.0.1:your-apps-post-port-num/send-reminders
|
||||||
|
|
||||||
-- set your send_reminders_key in /post_handlers/send_reminders_post_handler.nim
|
-- set your send_reminders_key in /post_handlers/send_reminders_post_handler.nim
|
||||||
xmppc: Forget-Me-Not uses this program to send the XMPP messages. If you only ever intend to use email notifications then you don't need it.
|
|
||||||
|
xmppc: Forget-Me-Not uses this program to send the XMPP messages. If you only ever intend to use email notifications then you don't need it. see xmppc docs about using a default config so Forget-Me-Not can just use that.
|
||||||
|
|
||||||
libsodium: This is used to hash user passwords when creating a Forget-Me-Not user with /dev/create_user.nim. See comments in fmn_gs.nim.
|
libsodium: This is used to hash user passwords when creating a Forget-Me-Not user with /dev/create_user.nim. See comments in fmn_gs.nim.
|
||||||
|
|
||||||
sqlite3: for the database.
|
sqlite3: for the database.
|
||||||
|
|
||||||
nim: to compile binary. We used nim 2.2.4 at the time of writing this.
|
nim: to compile binary. We used nim 2.2.4 at the time of writing this.
|
||||||
#Compiling and running
|
|
||||||
-- Install any non std/lib Nim package dependencies imported in the Forget-Me-Not source code with Nimble.
|
## Compiling and running
|
||||||
|
|
||||||
|
-- Until the next release, you can install any non std/lib Nim package dependencies listed in Forget_Me_Not.nimble with Nimble.
|
||||||
|
|
||||||
-- compile with `nim c --cc:clang --mm:atomicArc -d:ssl --d:release fmn_gs.nim`. Remove `--cc:clang` to use gcc instead.
|
-- compile with `nim c --cc:clang --mm:atomicArc -d:ssl --d:release fmn_gs.nim`. Remove `--cc:clang` to use gcc instead.
|
||||||
|
|
||||||
-- automate starting with openrc, systemd, or similar.
|
-- automate starting with openrc, systemd, or similar.
|
||||||
|
|
||||||
-- use nginx (or similar) as reverse proxy and for serving assets.
|
-- use nginx (or similar) as reverse proxy and for serving assets.
|
||||||
|
|
||||||
-- we will try to add some example configs for some of this as time allows, assuming user interest.
|
-- we will try to add some example configs for some of this as time allows, assuming user interest.
|
||||||
#Or use ITwrx web hosted instance.
|
|
||||||
-- We will add a Forget-Me-Not project page to ITwrx.org along with hosting plan.
|
-- locally, we installed tailwindcss cli in the `dev` folder and run `./tailwindcss -i fmn.css -o ../assets/css/fmn.css -w -m` from there to create the production css file in assets/css. You can do the same, if you wanted to tweak anything.
|
||||||
|
|
||||||
|
-- In some cases, you may have to manually edit nimword and/or nim-libsodium to add the libsodium.so version your distro has installed. If you have libsodium installed, and Forget-Me-Not still won't run, run it in the foreground to get the error message, and take a look at that.
|
||||||
|
|
||||||
|
-- You may want to add an extra layer of protection for your whole instance if running on the WAN, by using http basic auth, and/or deny outside access to your `send-reminders` POST route in a nginx location directive or at least throttle for that route so adversaries can't guess your key.
|
||||||
Reference in New Issue
Block a user