From 6a8d4ec5c8e003d49daa7cd204c126b34368900e Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Sat, 21 Sep 2024 20:43:29 +0300 Subject: [PATCH 1/9] hedgedoc. Draft. --- README.md | 1 + hedgedoc/ docker-compose.yml | 33 +++++++++++++++++++++++++++++++++ hedgedoc/.env.dist | 24 ++++++++++++++++++++++++ hedgedoc/config/.gitignore | 2 ++ 4 files changed, 60 insertions(+) create mode 100644 hedgedoc/ docker-compose.yml create mode 100644 hedgedoc/.env.dist create mode 100644 hedgedoc/config/.gitignore diff --git a/README.md b/README.md index 13a7878..29a164b 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ Not every stack is tested to fully work. | Folding@Home | ✅ | `johnktims/folding-at-home` | Protein folding distributed computing platform. | [Website](https://foldingathome.org), [My guide](https://skobk.in/2020/06/folding-at-home-quick-start/) | | Forgejo | ✅ | `codeberg.org/forgejo/forgejo` | Lightweight Git hosting platform. | [Website](https://forgejo.org), [Github](https://codeberg.org/forgejo/forgejo) | | Gatus | ✅ | `twinproduction/gatus` | Advanced service(s) status page. | [Website](https://gatus.io), [Github](https://github.com/TwiN/gatus) | +| HedgeDoc | ✅ | `lscr.io/linuxserver/hedgedoc` | Collaborative text editor. | [Website](https://hedgedoc.org), [Github](https://github.com/hedgedoc/hedgedoc) | | Home Assistant | ✅ | `ghcr.io/home-assistant/home-assistant` | Home automation suite. | [Website](https://www.home-assistant.io/), [Github](https://github.com/home-assistant) | | Homer | ✅ | `b4bz/homer` | Server homepage generator. | [Github](https://github.com/bastienwirtz/homer), [Demo](https://homer-demo.netlify.app), [Configuration](https://github.com/bastienwirtz/homer/blob/main/docs/configuration.md) | | I2PD | ✅ | `purplei2p/i2pd` | The Invisible Internet router. | [Website](https://i2pd.website), [Github](https://github.com/PurpleI2P/i2pd/), [I2P project](https://geti2p.net/) | diff --git a/hedgedoc/ docker-compose.yml b/hedgedoc/ docker-compose.yml new file mode 100644 index 0000000..3520440 --- /dev/null +++ b/hedgedoc/ docker-compose.yml @@ -0,0 +1,33 @@ +services: + hedgedoc: + image: 'lscr.io/linuxserver/hedgedoc:${IMAGE_TAG:-latest}' + container_name: 'hedgedoc' + env_file: '.env' + environment: + - 'PUID=${USER_ID:-1000}' + - 'PGID=${GROUP_ID:-1000}' + - 'TZ=${TIMEZONE:-Europe/Moscow}' + - 'DB_HOST=${DATABASE_HOST:-host.docker.internal}' + - 'DB_PORT=${DATABASE_PORT:-3306}' + - 'DB_USER=hedgedoc' + - 'DB_PASS=' + - 'DB_NAME=${DATABASE_NAME:-hedgedoc}' + - 'CMD_DOMAIN=${DOMAIN}' + #- 'CMD_URL_ADDPORT=false' #optional + - 'CMD_PROTOCOL_USESSL=true' #optional + - 'CMD_PORT=${WEB_PORT:-8394}' #optional + - CMD_ALLOW_ORIGIN=['${DOMAIN}'] #optional + - 'CMD_DB_DIALECT=${DATABASE_DIALECT:-mariadb}' #optional + - 'CMD_ALLOW_GRAVATAR=${GRAVATAR_ENABLED:true}' #optional + volumes: + - '${DIR_CONFIG:-./config}:/config' + extra_hosts: + - 'host.docker.internal:host-gateway' + ports: + - '${WEB_ADDRESS:-127.0.0.1}:${WEB_PORT:-8394}:${WEB_PORT:-8394}' + restart: unless-stopped + logging: + driver: 'json-file' + options: + max-size: '${LOG_MAX_SIZE:-5m}' + max-file: '${LOG_MAX_FILE:-5}' diff --git a/hedgedoc/.env.dist b/hedgedoc/.env.dist new file mode 100644 index 0000000..c96937e --- /dev/null +++ b/hedgedoc/.env.dist @@ -0,0 +1,24 @@ +# https://hub.docker.com/r/linuxserver/hedgedoc + +#IMAGE_TAG=latest + +USER_ID=1000 +GROUP_ID=1000 + +WEB_ADDRESS=127.0.0.1 +WEB_PORT=8394 + +DOMAIN=hedgedoc.domain.tld + +DIR_CONFIG=./config + +DATABASE_HOST=host.docker.internal +DATABASE_PORT=3306 +DATABASE_NAME= +DATABASE_USER= +DATABASE_PASS +#DATABASE_DIALECT=postgres + +TIMEZONE=Europe/Moscow + +#GRAVATAR_ENABLED=false \ No newline at end of file diff --git a/hedgedoc/config/.gitignore b/hedgedoc/config/.gitignore new file mode 100644 index 0000000..a68d087 --- /dev/null +++ b/hedgedoc/config/.gitignore @@ -0,0 +1,2 @@ +/* +!/.gitignore -- 2.43.4 From 14b947ab9e75be6e2f0ceeb47bc63ca19b64cc79 Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Sat, 21 Sep 2024 20:49:17 +0300 Subject: [PATCH 2/9] hedgedoc. Fixing .env.dist examples. --- hedgedoc/.env.dist | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hedgedoc/.env.dist b/hedgedoc/.env.dist index c96937e..af5c8ea 100644 --- a/hedgedoc/.env.dist +++ b/hedgedoc/.env.dist @@ -14,9 +14,9 @@ DIR_CONFIG=./config DATABASE_HOST=host.docker.internal DATABASE_PORT=3306 -DATABASE_NAME= -DATABASE_USER= -DATABASE_PASS +#DATABASE_NAME=hedgedoc +#DATABASE_USER=hedgedoc +DATABASE_PASS=*ChangeMe* #DATABASE_DIALECT=postgres TIMEZONE=Europe/Moscow -- 2.43.4 From e78ebee8eced9de149647eed53057106d34f9c44 Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Sat, 21 Sep 2024 20:50:23 +0300 Subject: [PATCH 3/9] hedgedoc. Fixing database initialization in docker-compose.yml. --- hedgedoc/ docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hedgedoc/ docker-compose.yml b/hedgedoc/ docker-compose.yml index 3520440..50da915 100644 --- a/hedgedoc/ docker-compose.yml +++ b/hedgedoc/ docker-compose.yml @@ -9,8 +9,8 @@ services: - 'TZ=${TIMEZONE:-Europe/Moscow}' - 'DB_HOST=${DATABASE_HOST:-host.docker.internal}' - 'DB_PORT=${DATABASE_PORT:-3306}' - - 'DB_USER=hedgedoc' - - 'DB_PASS=' + - 'DB_USER=${DATABASE_USER:-hedgedoc}' + - 'DB_PASS=${DATABASE_PASS}' - 'DB_NAME=${DATABASE_NAME:-hedgedoc}' - 'CMD_DOMAIN=${DOMAIN}' #- 'CMD_URL_ADDPORT=false' #optional -- 2.43.4 From 21f7cb00dbe79eb58f49c5f3c5a80598b62e8384 Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Sat, 21 Sep 2024 20:54:48 +0300 Subject: [PATCH 4/9] hedgedoc. Fixing 'docker-compose.yml' file name removing space character. --- hedgedoc/{ docker-compose.yml => docker-compose.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename hedgedoc/{ docker-compose.yml => docker-compose.yml} (100%) diff --git a/hedgedoc/ docker-compose.yml b/hedgedoc/docker-compose.yml similarity index 100% rename from hedgedoc/ docker-compose.yml rename to hedgedoc/docker-compose.yml -- 2.43.4 From a8646b7949bd38a1a95cedee0a0039514ed25f4a Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Sat, 21 Sep 2024 20:56:13 +0300 Subject: [PATCH 5/9] hedgedoc. Trying to fix env variables interpolation in the container. --- hedgedoc/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hedgedoc/docker-compose.yml b/hedgedoc/docker-compose.yml index 50da915..890d95f 100644 --- a/hedgedoc/docker-compose.yml +++ b/hedgedoc/docker-compose.yml @@ -16,9 +16,9 @@ services: #- 'CMD_URL_ADDPORT=false' #optional - 'CMD_PROTOCOL_USESSL=true' #optional - 'CMD_PORT=${WEB_PORT:-8394}' #optional - - CMD_ALLOW_ORIGIN=['${DOMAIN}'] #optional - 'CMD_DB_DIALECT=${DATABASE_DIALECT:-mariadb}' #optional - 'CMD_ALLOW_GRAVATAR=${GRAVATAR_ENABLED:true}' #optional + - CMD_ALLOW_ORIGIN=['${DOMAIN}'] #optional volumes: - '${DIR_CONFIG:-./config}:/config' extra_hosts: -- 2.43.4 From a1fe0926f718c36478a273424432ad9ec8ee2a6a Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Sat, 21 Sep 2024 21:00:19 +0300 Subject: [PATCH 6/9] hedgedoc. Trying to fix env variables interpolation in the container 2. --- hedgedoc/.env.dist | 2 +- hedgedoc/docker-compose.yml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/hedgedoc/.env.dist b/hedgedoc/.env.dist index af5c8ea..0abfe0f 100644 --- a/hedgedoc/.env.dist +++ b/hedgedoc/.env.dist @@ -21,4 +21,4 @@ DATABASE_PASS=*ChangeMe* TIMEZONE=Europe/Moscow -#GRAVATAR_ENABLED=false \ No newline at end of file +#CMD_ALLOW_GRAVATAR=false diff --git a/hedgedoc/docker-compose.yml b/hedgedoc/docker-compose.yml index 890d95f..be076e7 100644 --- a/hedgedoc/docker-compose.yml +++ b/hedgedoc/docker-compose.yml @@ -17,7 +17,6 @@ services: - 'CMD_PROTOCOL_USESSL=true' #optional - 'CMD_PORT=${WEB_PORT:-8394}' #optional - 'CMD_DB_DIALECT=${DATABASE_DIALECT:-mariadb}' #optional - - 'CMD_ALLOW_GRAVATAR=${GRAVATAR_ENABLED:true}' #optional - CMD_ALLOW_ORIGIN=['${DOMAIN}'] #optional volumes: - '${DIR_CONFIG:-./config}:/config' -- 2.43.4 From feb7901d17f2c48e87503dffac241bc0fe2d027b Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Sat, 21 Sep 2024 21:10:15 +0300 Subject: [PATCH 7/9] hedgedoc. Nginx config example. --- hedgedoc/nginx/hedgedoc.conf | 44 ++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 hedgedoc/nginx/hedgedoc.conf diff --git a/hedgedoc/nginx/hedgedoc.conf b/hedgedoc/nginx/hedgedoc.conf new file mode 100644 index 0000000..11a4480 --- /dev/null +++ b/hedgedoc/nginx/hedgedoc.conf @@ -0,0 +1,44 @@ +upstream hedgedoc { + server 127.0.0.1:8394; +} + +server { + listen 443 ssl http2; + server_name hedgedoc.domain.tld; + + access_log /var/log/nginx/hedgedoc.domain.tld.access; + error_log /var/log/nginx/hedgedoc.domain.tld.error; + + charset utf-8; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $http_connection; + + proxy_pass http://hedgedoc; + } + + location /socket.io/ { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + proxy_http_version 1.1; + + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $http_connection; + + proxy_pass http://hedgedoc; + } + + include config/gzip.conf; + + # Wildcard certificate config + include ssl/domain.tld.conf; +} -- 2.43.4 From e052dac8cfbf5b8771f161b8a9a3642925d451ea Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Sat, 21 Sep 2024 21:20:01 +0300 Subject: [PATCH 8/9] hedgedoc. Link to env configuration documentation. --- hedgedoc/.env.dist | 1 + 1 file changed, 1 insertion(+) diff --git a/hedgedoc/.env.dist b/hedgedoc/.env.dist index 0abfe0f..6d9b5ed 100644 --- a/hedgedoc/.env.dist +++ b/hedgedoc/.env.dist @@ -1,4 +1,5 @@ # https://hub.docker.com/r/linuxserver/hedgedoc +# https://docs.hedgedoc.org/configuration/ #IMAGE_TAG=latest -- 2.43.4 From de18b6470fe97df50f677a99eeb944db0d5e4cd8 Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Sat, 21 Sep 2024 21:34:59 +0300 Subject: [PATCH 9/9] hedgedoc. Adding Github login example. --- hedgedoc/.env.dist | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hedgedoc/.env.dist b/hedgedoc/.env.dist index 6d9b5ed..92e6423 100644 --- a/hedgedoc/.env.dist +++ b/hedgedoc/.env.dist @@ -23,3 +23,9 @@ DATABASE_PASS=*ChangeMe* TIMEZONE=Europe/Moscow #CMD_ALLOW_GRAVATAR=false + +# https://docs.hedgedoc.org/configuration/#login-methods + +# Github Login +#CMD_GITHUB_CLIENTID=123 +#CMD_GITHUB_CLIENTSECRET=456 -- 2.43.4