mirror of
https://github.com/Dokploy/templates.git
synced 2026-04-28 02:58:39 -05:00
feat: add Flatnotes blueprint with TOTP authentication (#387)
* feat: add Flatnotes blueprint with TOTP authentication Introduces a new blueprint for deploying Flatnotes with TOTP-based 2FA, including compose, template, and metadata files. * feat: add Flatnotes self-hosted markdown note-taking app
This commit is contained in:
23
blueprints/flatnotes-totp/docker-compose.yml
Normal file
23
blueprints/flatnotes-totp/docker-compose.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
flatnotes:
|
||||
image: dullage/flatnotes:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
PUID: ${PUID}
|
||||
PGID: ${PGID}
|
||||
FLATNOTES_AUTH_TYPE: "totp"
|
||||
FLATNOTES_USERNAME: ${FLATNOTES_USERNAME}
|
||||
FLATNOTES_PASSWORD: ${FLATNOTES_PASSWORD}
|
||||
FLATNOTES_SECRET_KEY: ${FLATNOTES_SECRET_KEY}
|
||||
FLATNOTES_TOTP_KEY: ${FLATNOTES_TOTP_KEY}
|
||||
FLATNOTES_SESSION_EXPIRY_DAYS: ${FLATNOTES_SESSION_EXPIRY_DAYS}
|
||||
FLATNOTES_PATH_PREFIX: ${FLATNOTES_PATH_PREFIX}
|
||||
expose:
|
||||
- 8080
|
||||
volumes:
|
||||
- flatnotes-data:/data
|
||||
|
||||
volumes:
|
||||
flatnotes-data: {}
|
||||
BIN
blueprints/flatnotes-totp/image.png
Normal file
BIN
blueprints/flatnotes-totp/image.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.9 KiB |
28
blueprints/flatnotes-totp/template.toml
Normal file
28
blueprints/flatnotes-totp/template.toml
Normal file
@@ -0,0 +1,28 @@
|
||||
[variables]
|
||||
main_domain = "${domain}"
|
||||
username = "${username}"
|
||||
password = "${password:16}"
|
||||
secret_key = "${password:32}"
|
||||
totp_key = "${password:32}"
|
||||
|
||||
[config]
|
||||
[[config.domains]]
|
||||
serviceName = "flatnotes"
|
||||
port = 8080
|
||||
host = "${main_domain}"
|
||||
path = "/"
|
||||
|
||||
[config.env]
|
||||
PUID = "1000"
|
||||
PGID = "1000"
|
||||
FLATNOTES_AUTH_TYPE = "totp"
|
||||
FLATNOTES_USERNAME = "${username}"
|
||||
FLATNOTES_PASSWORD = "${password}"
|
||||
FLATNOTES_SECRET_KEY = "${secret_key}"
|
||||
FLATNOTES_TOTP_KEY = "${totp_key}"
|
||||
FLATNOTES_SESSION_EXPIRY_DAYS = "30"
|
||||
FLATNOTES_PATH_PREFIX = ""
|
||||
|
||||
[[config.mounts]]
|
||||
name = "flatnotes-data"
|
||||
mountPath = "/data"
|
||||
28
blueprints/flatnotes/docker-compose.yml
Normal file
28
blueprints/flatnotes/docker-compose.yml
Normal file
@@ -0,0 +1,28 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
flatnotes:
|
||||
image: dullage/flatnotes:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
PUID: ${PUID}
|
||||
PGID: ${PGID}
|
||||
FLATNOTES_AUTH_TYPE: ${FLATNOTES_AUTH_TYPE}
|
||||
FLATNOTES_USERNAME: ${FLATNOTES_USERNAME}
|
||||
FLATNOTES_PASSWORD: ${FLATNOTES_PASSWORD}
|
||||
FLATNOTES_SECRET_KEY: ${FLATNOTES_SECRET_KEY}
|
||||
FLATNOTES_SESSION_EXPIRY_DAYS: ${FLATNOTES_SESSION_EXPIRY_DAYS}
|
||||
FLATNOTES_TOTP_KEY: ${FLATNOTES_TOTP_KEY}
|
||||
FLATNOTES_PATH_PREFIX: ${FLATNOTES_PATH_PREFIX}
|
||||
FLATNOTES_QUICK_ACCESS_HIDE: ${FLATNOTES_QUICK_ACCESS_HIDE}
|
||||
FLATNOTES_QUICK_ACCESS_TITLE: ${FLATNOTES_QUICK_ACCESS_TITLE}
|
||||
FLATNOTES_QUICK_ACCESS_TERM: ${FLATNOTES_QUICK_ACCESS_TERM}
|
||||
FLATNOTES_QUICK_ACCESS_SORT: ${FLATNOTES_QUICK_ACCESS_SORT}
|
||||
FLATNOTES_QUICK_ACCESS_LIMIT: ${FLATNOTES_QUICK_ACCESS_LIMIT}
|
||||
expose:
|
||||
- 8080
|
||||
volumes:
|
||||
- flatnotes-data:/data
|
||||
|
||||
volumes:
|
||||
flatnotes-data: {}
|
||||
BIN
blueprints/flatnotes/image.png
Normal file
BIN
blueprints/flatnotes/image.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.9 KiB |
32
blueprints/flatnotes/template.toml
Normal file
32
blueprints/flatnotes/template.toml
Normal file
@@ -0,0 +1,32 @@
|
||||
[variables]
|
||||
main_domain = "${domain}"
|
||||
username = "${username}"
|
||||
password = "${password:16}"
|
||||
secret_key = "${password:32}"
|
||||
|
||||
[config]
|
||||
[[config.domains]]
|
||||
serviceName = "flatnotes"
|
||||
port = 8080
|
||||
host = "${main_domain}"
|
||||
path = "/"
|
||||
|
||||
[config.env]
|
||||
PUID = "1000"
|
||||
PGID = "1000"
|
||||
FLATNOTES_AUTH_TYPE = "password"
|
||||
FLATNOTES_USERNAME = "${username}"
|
||||
FLATNOTES_PASSWORD = "${password}"
|
||||
FLATNOTES_SECRET_KEY = "${secret_key}"
|
||||
FLATNOTES_SESSION_EXPIRY_DAYS = "30"
|
||||
FLATNOTES_TOTP_KEY = ""
|
||||
FLATNOTES_PATH_PREFIX = ""
|
||||
FLATNOTES_QUICK_ACCESS_HIDE = "false"
|
||||
FLATNOTES_QUICK_ACCESS_TITLE = "RECENTLY MODIFIED"
|
||||
FLATNOTES_QUICK_ACCESS_TERM = "*"
|
||||
FLATNOTES_QUICK_ACCESS_SORT = "lastModified"
|
||||
FLATNOTES_QUICK_ACCESS_LIMIT = "4"
|
||||
|
||||
[[config.mounts]]
|
||||
name = "flatnotes-data"
|
||||
mountPath = "/data"
|
||||
38
meta.json
38
meta.json
@@ -2003,6 +2003,44 @@
|
||||
"ddos-guard"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "flatnotes",
|
||||
"name": "Flatnotes",
|
||||
"version": "latest",
|
||||
"description": "A self-hosted, modern note-taking web app that saves your notes as plain text Markdown files.",
|
||||
"logo": "image.png",
|
||||
"links": {
|
||||
"github": "https://github.com/dullage/flatnotes",
|
||||
"website": "https://flatnotes.io",
|
||||
"docs": "https://github.com/dullage/flatnotes"
|
||||
},
|
||||
"tags": [
|
||||
"notes",
|
||||
"productivity",
|
||||
"markdown",
|
||||
"self-hosted"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "flatnotes-totp",
|
||||
"name": "Flatnotes (TOTP)",
|
||||
"version": "latest",
|
||||
"description": "Flatnotes with TOTP authentication enabled (username + password + one-time passcode).",
|
||||
"logo": "image.png",
|
||||
"links": {
|
||||
"github": "https://github.com/dullage/flatnotes",
|
||||
"website": "https://flatnotes.io",
|
||||
"docs": "https://github.com/dullage/flatnotes"
|
||||
},
|
||||
"tags": [
|
||||
"notes",
|
||||
"productivity",
|
||||
"markdown",
|
||||
"self-hosted",
|
||||
"totp",
|
||||
"2fa"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "flowise",
|
||||
"name": "Flowise",
|
||||
|
||||
Reference in New Issue
Block a user