diff --git a/apps/ad-blockers/adguard.md b/apps/ad-blockers/adguard.md
index 9344e1b..5b9ce06 100644
--- a/apps/ad-blockers/adguard.md
+++ b/apps/ad-blockers/adguard.md
@@ -10,8 +10,6 @@
## `docker-compose.yml`
```yml
----
-version: '3.7'
services:
adguard:
container_name: adguard
diff --git a/apps/ad-blockers/pihole.md b/apps/ad-blockers/pihole.md
index 1bb8c40..7edb373 100644
--- a/apps/ad-blockers/pihole.md
+++ b/apps/ad-blockers/pihole.md
@@ -10,7 +10,6 @@
## `docker-compose.yml`
```yml
----
services:
pihole:
container_name: pihole
diff --git a/apps/analytics/matomo.md b/apps/analytics/matomo.md
index e2c1220..54a3cbd 100644
--- a/apps/analytics/matomo.md
+++ b/apps/analytics/matomo.md
@@ -15,7 +15,6 @@
## `docker-compose.yml`
```yml
----
services:
db:
image: mariadb
diff --git a/apps/analytics/plausible.md b/apps/analytics/plausible.md
index 97a6a82..8072de4 100644
--- a/apps/analytics/plausible.md
+++ b/apps/analytics/plausible.md
@@ -32,7 +32,6 @@ SMTP_RETRIES=2
## `docker-compose.yml`
```yml
----
services:
mail:
image: bytemark/smtp
diff --git a/apps/analytics/umami.md b/apps/analytics/umami.md
index a1340dd..85b0f07 100644
--- a/apps/analytics/umami.md
+++ b/apps/analytics/umami.md
@@ -100,7 +100,6 @@ INSERT INTO account (username, password, is_admin) values ('admin', '$2b$10$BUli
Original here: [docker-compose.yml](https://github.com/umami-software/umami/blob/master/docker-compose.yml).
```yml
----
services:
db:
image: postgres:12-alpine
diff --git a/apps/backup/duplicati.md b/apps/backup/duplicati.md
index 5f217a1..23ddcb8 100644
--- a/apps/backup/duplicati.md
+++ b/apps/backup/duplicati.md
@@ -13,8 +13,6 @@
## docker-compose.yml
```yml
----
-version: '3.3'
services:
duplicati:
image: linuxserver/duplicati
diff --git a/apps/bookmarks/cherry.md b/apps/bookmarks/cherry.md
index 659e7d6..05f0342 100644
--- a/apps/bookmarks/cherry.md
+++ b/apps/bookmarks/cherry.md
@@ -18,7 +18,6 @@
## docker-compose.yml
```yml
----
services:
cherry:
image: haishanh/cherry
diff --git a/apps/bookmarks/hoarder.md b/apps/bookmarks/hoarder.md
index 2e31eae..9a769ff 100644
--- a/apps/bookmarks/hoarder.md
+++ b/apps/bookmarks/hoarder.md
@@ -25,7 +25,6 @@ NEXTAUTH_URL=http://localhost:3123
## docker-compose.yml
```yml
----
services:
redis:
diff --git a/apps/bookmarks/linkace.md b/apps/bookmarks/linkace.md
index 3c9f559..d0a128d 100644
--- a/apps/bookmarks/linkace.md
+++ b/apps/bookmarks/linkace.md
@@ -68,7 +68,6 @@ QUEUE_DRIVER=database
## docker-compose.yml
```yml
----
services:
db:
image: mariadb:10.5
diff --git a/apps/bookmarks/linkding.md b/apps/bookmarks/linkding.md
index da75190..a6f179b 100644
--- a/apps/bookmarks/linkding.md
+++ b/apps/bookmarks/linkding.md
@@ -11,8 +11,6 @@
## docker-compose.yml
```yml
----
-version: '3.3'
services:
linkding:
image: sissbruecker/linkding:latest
diff --git a/apps/bookmarks/shaarli.md b/apps/bookmarks/shaarli.md
index d8476fb..0a8ffc1 100644
--- a/apps/bookmarks/shaarli.md
+++ b/apps/bookmarks/shaarli.md
@@ -23,7 +23,6 @@ sudo chown 100:101 cache/ data/
## docker-compose.yml
```yml
----
services:
shaarli:
image: shaarli/shaarli:master
diff --git a/apps/bookmarks/shiori.md b/apps/bookmarks/shiori.md
index 0c8f662..e7c3a28 100644
--- a/apps/bookmarks/shiori.md
+++ b/apps/bookmarks/shiori.md
@@ -7,7 +7,6 @@
## docker-compose.yml
```yml
----
services:
shiori:
image: radhifadlillah/shiori
diff --git a/apps/cloud/filebrowser.md b/apps/cloud/filebrowser.md
index 853ace3..ffe4c54 100644
--- a/apps/cloud/filebrowser.md
+++ b/apps/cloud/filebrowser.md
@@ -38,7 +38,6 @@ The db file can remain empty (will be used by the app), the config - we need to
## docker-compose.yml
```yaml
----
services:
filebrowser:
image: filebrowser/filebrowser
diff --git a/apps/cloud/filerun.md b/apps/cloud/filerun.md
index 343b95a..0fadac2 100644
--- a/apps/cloud/filerun.md
+++ b/apps/cloud/filerun.md
@@ -17,7 +17,6 @@
## docker-compose.yml
```yml
----
services:
db:
image: mariadb:10.1
diff --git a/apps/cloud/nextcloud.md b/apps/cloud/nextcloud.md
index 080c8b4..8a6da7f 100644
--- a/apps/cloud/nextcloud.md
+++ b/apps/cloud/nextcloud.md
@@ -14,7 +14,6 @@
## docker-compose.yml
More examplex [here](https://github.com/nextcloud/docker/tree/master/.examples/docker-compose).
```yml
----
services:
app:
image: nextcloud:latest
diff --git a/apps/cloud/nginx-webdav.md b/apps/cloud/nginx-webdav.md
index 6107908..c1fc6dd 100644
--- a/apps/cloud/nginx-webdav.md
+++ b/apps/cloud/nginx-webdav.md
@@ -1,6 +1,6 @@
-## docker-nginx-webdav-nononsense
+## docker-nginx-webdav-nononsense
-aims to be a Docker image that enables a no-nonsense WebDAV system on the latest available nginx, stable and mainline. Serves a file server
+aims to be a Docker image that enables a no-nonsense WebDAV system on the latest available nginx, stable and mainline. Serves a file server
@@ -9,7 +9,6 @@ aims to be a Docker image that enables a no-nonsense WebDAV system on the latest
## docker-compose-yml
```yml
----
services:
nginxwebdav:
container_name: nginxwebdav
@@ -29,7 +28,7 @@ services:
- CLIENT_MAX_BODY_SIZE=120M # must end with M(egabytes) or G(igabytes)
ports:
- 32080:80
-```
+```
## Tips & Tricks
diff --git a/apps/cloud/oasis.md b/apps/cloud/oasis.md
index 9868e76..09ebe45 100644
--- a/apps/cloud/oasis.md
+++ b/apps/cloud/oasis.md
@@ -15,7 +15,6 @@
## docker-compose.yml
```yml
----
services:
oasis:
image: machengim/oasis
diff --git a/apps/cloud/pydio.md b/apps/cloud/pydio.md
index 6dde37f..6bb3eee 100644
--- a/apps/cloud/pydio.md
+++ b/apps/cloud/pydio.md
@@ -12,7 +12,6 @@
## docker-compose.yml
```yml
----
services:
cells:
image: pydio/cells:latest
diff --git a/apps/cloud/screenly.md b/apps/cloud/screenly.md
index 9771df5..ed27814 100644
--- a/apps/cloud/screenly.md
+++ b/apps/cloud/screenly.md
@@ -32,7 +32,6 @@ FILESYSTEM_DRIVER=public
## docker-compose.yml
```yml
----
services:
screenly:
image: hadogenes/screeenly
diff --git a/apps/cloud/seafile.md b/apps/cloud/seafile.md
index f71e570..c2486d3 100644
--- a/apps/cloud/seafile.md
+++ b/apps/cloud/seafile.md
@@ -17,7 +17,6 @@
Original file [here](https://download.seafile.com/d/320e8adf90fa43ad8fee/files/?p=/docker/docker-compose.yml).
```yml
----
services:
db:
image: mariadb:10.5
diff --git a/apps/cms/ghost.md b/apps/cms/ghost.md
index e7b7cd8..bd57eae 100644
--- a/apps/cms/ghost.md
+++ b/apps/cms/ghost.md
@@ -9,8 +9,6 @@ Flat file cms/blogging platform.
## docker-compose.yml
```yml
----
-version: '3.1'
services:
ghost:
image: ghost:4-alpine
diff --git a/apps/cms/wordpress.md b/apps/cms/wordpress.md
index 1280bf3..94fd392 100644
--- a/apps/cms/wordpress.md
+++ b/apps/cms/wordpress.md
@@ -13,8 +13,6 @@ The ultimate CMS/blogging platform.
## docker-compose.yml
```yml
----
-version: '3.1'
services:
wordpress:
image: wordpress
diff --git a/apps/contacts-calendars/baikal.md b/apps/contacts-calendars/baikal.md
index b538c58..e3782c7 100644
--- a/apps/contacts-calendars/baikal.md
+++ b/apps/contacts-calendars/baikal.md
@@ -10,7 +10,6 @@ lightweight CalDAV+CardDAV server. It offers an extensive web interface with eas
## docker-compose
```yml
----
services:
baikal:
image: ckulka/baikal:nginx
@@ -69,6 +68,6 @@ Then create a user
### Android caldav carddav client
-On DAVx5 use Base URL: /dav.php/
+On DAVx5 use Base URL: /dav.php/
(e.g. https://server.example/dav.php/)
diff --git a/apps/dashboard/dashmachine.md b/apps/dashboard/dashmachine.md
index cf0406d..12ad263 100644
--- a/apps/dashboard/dashmachine.md
+++ b/apps/dashboard/dashmachine.md
@@ -12,7 +12,6 @@
## docker-compose.yml
```yml
-version: '3.3'
services:
dashmachine:
image: rmountjoy/dashmachine:latest
diff --git a/apps/dashboard/flame.md b/apps/dashboard/flame.md
index eebb33d..8bd7148 100644
--- a/apps/dashboard/flame.md
+++ b/apps/dashboard/flame.md
@@ -13,8 +13,6 @@
## docker-compose.yml
```yml
----
-version: '3.6'
services:
flame:
diff --git a/apps/dashboard/homarr.md b/apps/dashboard/homarr.md
index 01f81ec..4cc60c2 100644
--- a/apps/dashboard/homarr.md
+++ b/apps/dashboard/homarr.md
@@ -9,7 +9,6 @@ Customizable browser's home page to interact with your homeserver's Docker conta
## docker-compose.yml
```yml
----
services:
homarr:
image: ghcr.io/ajnart/homarr:latest
diff --git a/apps/dashboard/homer.md b/apps/dashboard/homer.md
index 76897df..66d6379 100644
--- a/apps/dashboard/homer.md
+++ b/apps/dashboard/homer.md
@@ -13,7 +13,6 @@
## docker-compose.yml
```yml
----
services:
homer:
image: b4bz/homer
@@ -27,7 +26,6 @@ services:
## config.yml
```yml
----
title: "Home"
subtitle: "start.example.com"
logo: false
diff --git a/apps/dashboard/mafl.md b/apps/dashboard/mafl.md
index 75901c2..8d8f161 100644
--- a/apps/dashboard/mafl.md
+++ b/apps/dashboard/mafl.md
@@ -12,8 +12,6 @@ Minimalistic flexible homepage.
## docker-compose.yml
```yml
----
-version: '3.8'
services:
mafl:
diff --git a/apps/database/baserow.md b/apps/database/baserow.md
index 2ede5a7..c7c865f 100644
--- a/apps/database/baserow.md
+++ b/apps/database/baserow.md
@@ -9,7 +9,6 @@
## docker-compose.yml
```yml
----
services:
baserow:
image: baserow/baserow:latest
diff --git a/apps/database/nocodb.md b/apps/database/nocodb.md
index 8842148..a0fc7a7 100644
--- a/apps/database/nocodb.md
+++ b/apps/database/nocodb.md
@@ -14,7 +14,6 @@
## docker-compose.yml
```yml
----
services:
root_db:
image: mysql:5.7
diff --git a/apps/database/seatable.md b/apps/database/seatable.md
index b23081b..81bd552 100644
--- a/apps/database/seatable.md
+++ b/apps/database/seatable.md
@@ -11,8 +11,6 @@
## docker-compose.yml
That this didn't work for me at the time of testing.
```yml
----
-version: '2.0'
services:
db:
image: mariadb:10.5
diff --git a/apps/docker/diun.md b/apps/docker/diun.md
index 4ed7c3f..66ee70f 100644
--- a/apps/docker/diun.md
+++ b/apps/docker/diun.md
@@ -12,7 +12,6 @@
## docker-compose.yml
```yml
----
version: "3.2"
services:
diun:
diff --git a/apps/docker/doku.md b/apps/docker/doku.md
index fd94cd4..1d4e1ea 100644
--- a/apps/docker/doku.md
+++ b/apps/docker/doku.md
@@ -11,7 +11,6 @@ Doku is a web-based Docker disk usage monitor.
## docker-compose.yml
```yml
----
services:
doku:
image: amerkurev/doku
diff --git a/apps/docker/portainer.md b/apps/docker/portainer.md
index 9608ecd..19cbd7d 100644
--- a/apps/docker/portainer.md
+++ b/apps/docker/portainer.md
@@ -9,7 +9,6 @@ A nice UI for managing docker/kubernetes/swarm containers.
## docker-compose.yml
```yml
----
services:
portainer:
image: portainer/portainer-ce
diff --git a/apps/docker/watch-tower.md b/apps/docker/watch-tower.md
index 1d4c9d9..daf4d03 100644
--- a/apps/docker/watch-tower.md
+++ b/apps/docker/watch-tower.md
@@ -11,7 +11,6 @@
## docker-compose.yml
```yml
----
services:
watchtower:
image: containrrr/watchtower
diff --git a/apps/documents/paperless-ngx.md b/apps/documents/paperless-ngx.md
index 67c4a16..b7d3efa 100644
--- a/apps/documents/paperless-ngx.md
+++ b/apps/documents/paperless-ngx.md
@@ -34,7 +34,6 @@ PAPERLESS_OCR_LANGUAGE=eng
## docker-compose.yml
```yml
----
services:
broker:
image: docker.io/library/redis:6.0
diff --git a/apps/downloads/deluge.md b/apps/downloads/deluge.md
index 2c22697..fd4275a 100644
--- a/apps/downloads/deluge.md
+++ b/apps/downloads/deluge.md
@@ -12,8 +12,6 @@
## docker-compose.yml
```yml
----
-version: "2.1"
services:
deluge:
image: linuxserver/deluge
diff --git a/apps/downloads/qbit.md b/apps/downloads/qbit.md
index 8b0b7e3..95d0424 100644
--- a/apps/downloads/qbit.md
+++ b/apps/downloads/qbit.md
@@ -14,7 +14,6 @@
## docker-compose.yml
```yml
----
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
diff --git a/apps/downloads/simple-torrent.md b/apps/downloads/simple-torrent.md
index 629318f..1db6e68 100644
--- a/apps/downloads/simple-torrent.md
+++ b/apps/downloads/simple-torrent.md
@@ -13,7 +13,6 @@
## docker-compose.yml
```yml
----
services:
cloud-torrent:
image: boypt/cloud-torrent
diff --git a/apps/downloads/transmission.md b/apps/downloads/transmission.md
index cfa1454..b779db4 100644
--- a/apps/downloads/transmission.md
+++ b/apps/downloads/transmission.md
@@ -14,8 +14,6 @@
## docker-compose.yml
```yml
----
-version: "2.1"
services:
transmission:
image: linuxserver/transmission
diff --git a/apps/git/gitea.md b/apps/git/gitea.md
index d3a2908..617fafe 100644
--- a/apps/git/gitea.md
+++ b/apps/git/gitea.md
@@ -12,7 +12,6 @@ Can easily mirror repos from different sources (periodically re-syncing them), a
## docker-compose.yml
```yml
----
services:
db:
image: postgres:14
diff --git a/apps/home-automation/homebridge.md b/apps/home-automation/homebridge.md
index 68b479e..66723c4 100644
--- a/apps/home-automation/homebridge.md
+++ b/apps/home-automation/homebridge.md
@@ -20,7 +20,6 @@ Some of the most popular plugins include:
## docker-compose.yml
```yml
----
services:
homebridge:
image: oznu/homebridge:latest
diff --git a/apps/home-automation/n8n.md b/apps/home-automation/n8n.md
index 86017f1..bd5ddf0 100644
--- a/apps/home-automation/n8n.md
+++ b/apps/home-automation/n8n.md
@@ -56,7 +56,6 @@ fi
## docker-compose.yml
```yml
----
services:
postgres:
image: postgres:16
diff --git a/apps/media/audiobookshelf.md b/apps/media/audiobookshelf.md
index 1398317..833dec9 100644
--- a/apps/media/audiobookshelf.md
+++ b/apps/media/audiobookshelf.md
@@ -13,8 +13,6 @@ Self-hosted Audiobook Server.
## docker-compose.yml
```yml
----
-version: '3.3'
services:
audiobookshelf:
image: advplyr/audiobookshelf
diff --git a/apps/media/bazarr.md b/apps/media/bazarr.md
index 8013aa9..a7e75cb 100644
--- a/apps/media/bazarr.md
+++ b/apps/media/bazarr.md
@@ -10,7 +10,6 @@ Bazarr is a companion application to Sonarr and Radarr. It manages and downloads
## docker-compose.yml
```yml
----
services:
bazarr:
image: linuxserver/bazarr
diff --git a/apps/media/calibre.md b/apps/media/calibre.md
index 35f392e..f9a000d 100644
--- a/apps/media/calibre.md
+++ b/apps/media/calibre.md
@@ -12,7 +12,6 @@ This will allow you to generate calibre library needed for the Calibre Web.
### docker-compose.yml
```yml
----
services:
calibre:
image: linuxserver/calibre
@@ -46,7 +45,6 @@ Connects to calibre server's database (server does not need to be running).
### docker-compose.yml
```yml
----
services:
calibre-web:
image: linuxserver/calibre-web
diff --git a/apps/media/deemix.md b/apps/media/deemix.md
index e5889d4..b7b43ca 100644
--- a/apps/media/deemix.md
+++ b/apps/media/deemix.md
@@ -5,8 +5,6 @@
## docker-compose.yml
```yml
----
-version: '3.3'
services:
deemix:
image: registry.gitlab.com/bockiii/deemix-docker
diff --git a/apps/media/jackett.md b/apps/media/jackett.md
index a0b0ec4..274437f 100644
--- a/apps/media/jackett.md
+++ b/apps/media/jackett.md
@@ -9,7 +9,6 @@ API Support for your favorite torrent trackers.
## docker-compose.yml
```yml
----
services:
jackett:
image: linuxserver/jackett
diff --git a/apps/media/jellyfin.md b/apps/media/jellyfin.md
index 877d5d6..f66f976 100644
--- a/apps/media/jellyfin.md
+++ b/apps/media/jellyfin.md
@@ -12,7 +12,6 @@ okdocker run -d -v /srv/jellyfin/config:/config -v /srv/jellyfin/cache:/cache -v
## docker-compose.yml
```yml
----
services:
jellyfin:
image: jellyfin/jellyfin:latest
diff --git a/apps/media/kavita.md b/apps/media/kavita.md
index 05db1c8..874d5d9 100644
--- a/apps/media/kavita.md
+++ b/apps/media/kavita.md
@@ -13,7 +13,6 @@ Probably the best self-hosted ebook & comic reader.
## docker-compose.yml
```yml
----
services:
kavita:
image: jvmilazz0/kavita:latest
diff --git a/apps/media/komga.md b/apps/media/komga.md
index 3c2b26f..d43683b 100644
--- a/apps/media/komga.md
+++ b/apps/media/komga.md
@@ -12,8 +12,6 @@ A very good self-hosted comic books reader.
## docker-compose.yml
```yml
----
-version: '3.3'
services:
komga:
image: gotson/komga
diff --git a/apps/media/metube.md b/apps/media/metube.md
index a39870b..b4e0d5c 100644
--- a/apps/media/metube.md
+++ b/apps/media/metube.md
@@ -7,7 +7,6 @@
## docker-compose.yml
```yml
----
services:
metube:
image: alexta69/metube
diff --git a/apps/media/navidrome.md b/apps/media/navidrome.md
index 9f3d445..c2741cc 100644
--- a/apps/media/navidrome.md
+++ b/apps/media/navidrome.md
@@ -13,7 +13,6 @@ Music streaming service.
## docker-compose.yml
```yml
----
services:
navidrome:
image: deluan/navidrome:latest
diff --git a/apps/media/plex.md b/apps/media/plex.md
index 97c70b3..4ab880d 100644
--- a/apps/media/plex.md
+++ b/apps/media/plex.md
@@ -13,7 +13,6 @@ Audio, Video & Photo manager.
## docker-compose.yml
```yml
----
services:
plex:
image: ghcr.io/linuxserver/plex
diff --git a/apps/media/radarr.md b/apps/media/radarr.md
index 777ae0d..6c7610b 100644
--- a/apps/media/radarr.md
+++ b/apps/media/radarr.md
@@ -10,7 +10,6 @@ Movie manager.
## docker-compose.yml
```yml
----
services:
radarr:
image: linuxserver/radarr
diff --git a/apps/media/sonarr.md b/apps/media/sonarr.md
index dcf49f0..7762ce4 100644
--- a/apps/media/sonarr.md
+++ b/apps/media/sonarr.md
@@ -10,7 +10,6 @@ TV show manager.
## docker-compose.yml
```yml
----
services:
sonarr:
image: linuxserver/sonarr
diff --git a/apps/media/tautulli.md b/apps/media/tautulli.md
index 8c57f3c..8239763 100644
--- a/apps/media/tautulli.md
+++ b/apps/media/tautulli.md
@@ -12,7 +12,6 @@ Monitor for Plex Media Server.
## docker-compose.yml
```yml
----
services:
tautuli:
image: tautulli/tautulli
diff --git a/apps/media/tubearchivist.md b/apps/media/tubearchivist.md
index 4b143b4..dde8e79 100644
--- a/apps/media/tubearchivist.md
+++ b/apps/media/tubearchivist.md
@@ -25,7 +25,6 @@
## docker-compose.yml
```yml
----
services:
archivist-es:
image: bbilly1/tubearchivist-es
diff --git a/apps/media/youtubedl-material.md b/apps/media/youtubedl-material.md
index 4225d65..c49d1b7 100644
--- a/apps/media/youtubedl-material.md
+++ b/apps/media/youtubedl-material.md
@@ -6,7 +6,6 @@
## docker-compose.yml
```yml
----
services:
metube:
diff --git a/apps/media/youtubedl-web.md b/apps/media/youtubedl-web.md
index 885350a..2001ee4 100644
--- a/apps/media/youtubedl-web.md
+++ b/apps/media/youtubedl-web.md
@@ -7,7 +7,6 @@
## docker-compose.yml
```yml
----
services:
youtubedl-web:
image: franhp/youtubedl-web:latest
diff --git a/apps/monitors/cachet.md b/apps/monitors/cachet.md
index 8da73b3..8982025 100644
--- a/apps/monitors/cachet.md
+++ b/apps/monitors/cachet.md
@@ -10,7 +10,6 @@
## docker-compose.yml
```yml
-version: '3.3'
services:
cachet:
image: cachethq/docker:latest
diff --git a/apps/monitors/checkmk.md b/apps/monitors/checkmk.md
index 0f39e91..72020b8 100644
--- a/apps/monitors/checkmk.md
+++ b/apps/monitors/checkmk.md
@@ -1,7 +1,7 @@
# CheckMK
- Pretty complete solution for whole infrastructure monitoring
-- Based on Nagios
+- Based on Nagios
- Complex UI (not very intuitive)
- Requires "some" learning & setup and doesn't do anything out of the box
@@ -14,13 +14,11 @@
## docker-compose.yml
```yml
----
-version: '3.6'
services:
checkmk:
image: checkmk/check-mk-raw
- container_name: checkmk
+ container_name: checkmk
restart: unless-stopped
ulimits:
nofile: 1024
@@ -31,6 +29,6 @@ services:
- ./monitoring:/omd/sites
```
-- Open http://localhost:8080/cmk/check_mk/
+- Open http://localhost:8080/cmk/check_mk/
- Username is `cmkadmin`
- Password is written in the logs when the container starts the first time, so just run `docker-compose logs` after starting the container
diff --git a/apps/monitors/monocker.md b/apps/monitors/monocker.md
index f54e3db..7dbed05 100644
--- a/apps/monitors/monocker.md
+++ b/apps/monitors/monocker.md
@@ -11,7 +11,6 @@ There is no web ui or fancy dashboard.
## docker-compose
```yml
----
services:
monocker:
container_name: monocker
diff --git a/apps/monitors/php-server-monitor.md b/apps/monitors/php-server-monitor.md
index 9d4a6b5..eaec680 100644
--- a/apps/monitors/php-server-monitor.md
+++ b/apps/monitors/php-server-monitor.md
@@ -13,7 +13,6 @@
## docker-compose.yml
```yml
-version: '3.8'
services:
psm:
image: alwynpan/phpservermonitor
diff --git a/apps/monitors/statping.md b/apps/monitors/statping.md
index 1975d82..59c6dbd 100644
--- a/apps/monitors/statping.md
+++ b/apps/monitors/statping.md
@@ -16,7 +16,6 @@
## docker-compose.yml
```yml
----
statping:
container_name: statping
image: hunterlong/statping
diff --git a/apps/notes/joplin-web.md b/apps/notes/joplin-web.md
index 77ec9dc..7b7c6ca 100644
--- a/apps/notes/joplin-web.md
+++ b/apps/notes/joplin-web.md
@@ -15,8 +15,6 @@ A Joplin server to that stores your notes
## docker-compose.yml
```yml
----
-version: '3.4'
x-common-variables: &common-variables
ORIGINS: "'http://localhost', 'http://192.168.1.24' , 'https://my-ddns-domain.com'"
@@ -51,17 +49,17 @@ volumes:
networks:
joplin-net: {}
-```
+```
## Tips & Tricks
###
You can access your notebooks: https://your_domain/joplin (⚠ don't forget the /joplin ⚠)
-- first you set up url/admin and then login to url/joplin
+- first you set up url/admin and then login to url/joplin
mind the /admin and /joplin
-- for webdav sync you can select the nextcloud option
+- for webdav sync you can select the nextcloud option
- To decryt the notes run
diff --git a/apps/notes/joplin.md b/apps/notes/joplin.md
index bc32453..af8d7d5 100644
--- a/apps/notes/joplin.md
+++ b/apps/notes/joplin.md
@@ -9,7 +9,6 @@ This is the Joplin sync server.
## docker-compose.yml
```yml
----
services:
db:
image: postgres:13.1
diff --git a/apps/notes/memos.md b/apps/notes/memos.md
index c9805ae..f020857 100644
--- a/apps/notes/memos.md
+++ b/apps/notes/memos.md
@@ -14,7 +14,6 @@ An open-source, self-hosted memo hub with knowledge management and collaboration
## docker-compose.yml
```yaml
----
services:
memos:
image: neosmemo/memos:latest
diff --git a/apps/notifications/synology-sms-relay.md b/apps/notifications/synology-sms-relay.md
index 4d78976..a12cf03 100644
--- a/apps/notifications/synology-sms-relay.md
+++ b/apps/notifications/synology-sms-relay.md
@@ -7,8 +7,6 @@
## docker-compose.yml
```yml
----
-version: '3.7'
services:
synology-sms-relay:
container_name: synology-sms-relay
diff --git a/apps/other/bitwarden.md b/apps/other/bitwarden.md
index 4956f13..3e34b09 100644
--- a/apps/other/bitwarden.md
+++ b/apps/other/bitwarden.md
@@ -12,7 +12,6 @@ bitwarden_rs is an unofficial Bitwarden compatible server.
## docker-compose.yml
```yml
----
services:
bitwarden:
image: bitwardenrs/server:latest
diff --git a/apps/other/brave-sync.md b/apps/other/brave-sync.md
index c4ab7ae..5008bb1 100644
--- a/apps/other/brave-sync.md
+++ b/apps/other/brave-sync.md
@@ -1,226 +1,139 @@
-# Brave Sync
-
-Brave go-sync server v2 aims to make a wire compatible server side protocol which understands components/sync/protocol/sync.proto used by the official Google sync service.
-
-**Differences from chromium sync**
+# Brave Sync
+Brave go-sync server v2 aims to make a wire compatible server side protocol which understands components/sync/protocol/sync.proto used by the official Google sync service.
+## Differences from chromium sync
Enforce client side encryption
-
Doesn't require sign-in to use sync (Uses "Sync Chain" concept)
-
Uses a Brave-operated sync server so no data is sent to Google servers
-**Authentication**
-
+## Authentication
A "Sync Chain" is configured using a 32-byte random seed generated by the initial client. Then the seed is encoded using BIP39. If another client wants to join the sync chain, they can enter the BIP39 key phrase from the initial client by entering the words manually or scanning a QR code.
+- Server code is available at [Github repo](https://github.com/brave/go-sync)
-- Server code is at [Github repo](https://github.com/brave/go-sync)
## dynamo.Dockerfile
-
-```
-
+```Dockerfile
ARG DB_LOCATION=/home/dynamodblocal/db
-
FROM amazon/dynamodb-local:1.12.0 AS install
-
USER root
-
RUN yum -y install awscli
-
USER dynamodblocal
-
ENV AWS_ACCESS_KEY_ID=#
-
ENV AWS_SECRET_ACCESS_KEY=#
-
ARG AWS_ENDPOINT=http://localhost:8000
-
ARG AWS_REGION=us-west-2
-
ARG DB_LOCATION
-
ARG TABLE_NAME=client-entity-dev
-
COPY schema/dynamodb/ .
-
RUN mkdir -p ${DB_LOCATION} && \
-
java -jar DynamoDBLocal.jar -sharedDb -dbPath ${DB_LOCATION} & \
-
DYNAMO_PID=$! && \
-
aws dynamodb create-table --cli-input-json file://table.json \
-
--endpoint-url ${AWS_ENDPOINT} --region ${AWS_REGION} && \
-
kill $DYNAMO_PID
FROM amazon/dynamodb-local:1.12.0
-
ARG DB_LOCATION
-
COPY --chown=dynamodblocal:dynamodblocal --from=install ${DB_LOCATION} /db
-
CMD ["-jar", "DynamoDBLocal.jar", "-sharedDb", "-dbPath", "/db"]
-
```
## Dockerfile
-```
-
+```Dockerfile
FROM bitnami/golang:1.18 as builder
-
ARG VERSION
-
ARG BUILD_TIME
-
ARG COMMIT
-
WORKDIR /src
-
COPY go.mod go.sum ./
-
RUN go mod download
-
COPY . .
-
RUN CGO_ENABLED=0 GOOS=linux go build \
-
-ldflags "-X github.com/brave/go-sync/server.version=${VERSION} -X github.com/brave/go-sync/server.buildTime=${BUILD_TIME} -X github.com/brave/go-sync/server.commit=${COMMIT}" \
-
-o main .
FROM alpine:3.6 as artifact
-
RUN apk add --update ca-certificates # Certificates for SSL
-
COPY --from=builder /src/main main
-
EXPOSE 8295
-
CMD ["./main"]
-
```
## docker-compose.yml
```yml
-
----
-
networks:
-
sync:
-
driver: bridge
services:
-
web:
build:
-
context: .
-
target: artifact
-
args:
-
VERSION: "${VERSION}"
-
COMMIT: "${COMMIT}"
-
BUILD_TIME: "${BUILD_TIME}"
-
+ depends_on:
+ - dynamo-local
+ - redis
+ networks:
+ - sync
+ environment:
+ - PPROF_ENABLED=true
+ - SENTRY_DSN
+ - ENV=local
+ - DEBUG=1
+ - AWS_ACCESS_KEY_ID=#
+ - AWS_SECRET_ACCESS_KEY=#
+ - AWS_REGION=us-west-2
+ - AWS_ENDPOINT=http://dynamo-local:8000
+ - TABLE_NAME=client-entity-dev
+ - REDIS_URL=redis:6379
ports:
-
- "8295:8295"
- depends_on:
-
- - dynamo-local
-
- - redis
-
- networks:
-
- - sync
-
- environment:
-
- - PPROF_ENABLED=true
-
- - SENTRY_DSN
-
- - ENV=local
-
- - DEBUG=1
-
- - AWS_ACCESS_KEY_ID=#
-
- - AWS_SECRET_ACCESS_KEY=#
-
- - AWS_REGION=us-west-2
-
- - AWS_ENDPOINT=http://dynamo-local:8000
-
- - TABLE_NAME=client-entity-dev
-
- - REDIS_URL=redis:6379
-
dynamo-local:
-
build:
-
context: .
-
dockerfile: dynamo.Dockerfile
-
ports:
-
- "8000:8000"
-
networks:
-
- sync
redis:
-
image: public.ecr.aws/ubuntu/redis:latest
-
+ environment:
+ - ALLOW_EMPTY_PASSWORD=yes
+ networks:
+ - sync
ports:
-
- "6379:6379"
- environment:
+```
- - ALLOW_EMPTY_PASSWORD=yes
- networks:
-
- - sync
-
-```
## Tips & Tricks
-#### Dynamodb image for ARM
+#### Dynamodb image for ARM
dynamo.Dockerfile uses the amazon/dynamodb-local:1.12.0 image for the dynamo db. Although it builds fine for x86 CPU's it is exiting on ARM64 cpu's (tested on a raspberry pi 400) . The amazon/dynamodb-local:1.13.5@sha256:d39583bcf1a5aab6e9276e15ff681c83f2dac055e1d6604bc0dcd0092c305911 image builds fine on ARM. More recent images may also work.
-#### How to select the selfhosted sync server
+#### How to select the selfhosted sync server
Follow the "Run Chromium with command-line switches" how to in the [chromium wiki](https://www.chromium.org/developers/how-tos/run-chromium-with-flags/)
-For android Enable "command line on non-rooted devices" in brave://flags, then create the file /data/local/tmp/chrome-command-line over adb.
+For android Enable "command line on non-rooted devices" in brave://flags, then create the file /data/local/tmp/chrome-command-line over adb.
-```
+```sh
adb shell
-
echo "_ --sync-url=192.168.1.24:8295/v2" > /data/local/tmp/chrome-command-line
```
@@ -228,9 +141,8 @@ When doing that, mind that the first command-line item should be a "_" (undersco
#### Verify sync status
-
Visit `brave://sync-internals`
-#### Warning message
+#### Warning message
Brave displays a warning message on every mew tab for some seconds acted enabling a command line feature flag saying it is unsupported. You can ignore it . Havent find a way to disable it
diff --git a/apps/other/budibase.md b/apps/other/budibase.md
index 0a4459b..1653e73 100644
--- a/apps/other/budibase.md
+++ b/apps/other/budibase.md
@@ -11,7 +11,6 @@
## docker-compose.yml
```yml
----
services:
budibase:
image: budibase/budibase:latest
diff --git a/apps/other/change-detection.md b/apps/other/change-detection.md
index 84f9511..7f2fa3e 100644
--- a/apps/other/change-detection.md
+++ b/apps/other/change-detection.md
@@ -14,7 +14,6 @@ Periodically monitors websites for changes and sends a notification when a chang
## docker-compose.yml
```yml
----
services:
playwright-chrome:
hostname: playwright-chrome
diff --git a/apps/other/code.md b/apps/other/code.md
index 41750c4..e4cbb25 100644
--- a/apps/other/code.md
+++ b/apps/other/code.md
@@ -10,7 +10,6 @@ VSCode in the browser!
## docker-compose.yml
```yml
----
services:
code-server:
image: linuxserver/code-server
diff --git a/apps/other/crowdsec.md b/apps/other/crowdsec.md
index ea577df..359082d 100644
--- a/apps/other/crowdsec.md
+++ b/apps/other/crowdsec.md
@@ -94,9 +94,10 @@ labels:
type: traefik
```
+
+
## docker-compose.yml
```yml
----
services:
crowdsec:
image: crowdsecurity/crowdsec
diff --git a/apps/other/firefox-sync.md b/apps/other/firefox-sync.md
index 557be11..f8d6e24 100644
--- a/apps/other/firefox-sync.md
+++ b/apps/other/firefox-sync.md
@@ -12,7 +12,6 @@
## docker-compose.yml
```yml
----
services:
firefox-sync:
image: mozilla/syncserver:latest
diff --git a/apps/other/firefox.md b/apps/other/firefox.md
index 6be0e5b..0a0c921 100644
--- a/apps/other/firefox.md
+++ b/apps/other/firefox.md
@@ -11,7 +11,6 @@ It's a browser inside a browser!
## docker-compose.yml
```yml
----
services:
firefox:
image: lscr.io/linuxserver/firefox:latest
diff --git a/apps/other/language-tool.md b/apps/other/language-tool.md
index 3ed3f52..480bbd2 100644
--- a/apps/other/language-tool.md
+++ b/apps/other/language-tool.md
@@ -21,7 +21,6 @@ LanguageTool can make use of large n-gram data sets to detect errors with words
## docker-compose.yml
```yml
----
services:
languagetool:
image: erikvl87/languagetool
@@ -51,7 +50,6 @@ This is using [libregrammar](https://github.com/TiagoSantos81/libregrammar) vers
```yml
----
services:
languagetool:
image: registry.gitlab.com/py_crash/docker-libregrammar
diff --git a/apps/other/ntfy.md b/apps/other/ntfy.md
index 6468afa..44a1a53 100644
--- a/apps/other/ntfy.md
+++ b/apps/other/ntfy.md
@@ -36,7 +36,6 @@ upstream-base-url: "https://ntfy.sh"
## docker-compose.yml
```yml
----
services:
ntfy:
image: binwiederhier/ntfy
diff --git a/apps/other/openspeedtest.md b/apps/other/openspeedtest.md
index 38b6596..786121b 100644
--- a/apps/other/openspeedtest.md
+++ b/apps/other/openspeedtest.md
@@ -10,7 +10,6 @@ Measure the speed between your server and your computer.
## docker-compose.yml
```yml
----
services:
openspeedtest:
image: openspeedtest/latest
diff --git a/apps/other/owntracks.md b/apps/other/owntracks.md
index f8652cc..3aff574 100644
--- a/apps/other/owntracks.md
+++ b/apps/other/owntracks.md
@@ -5,7 +5,7 @@
- Recorder is a lightweight program for storing and accessing location data published via MQTT (or HTTP) and displays the in a web ui on a map as tracks, points etc
- The android app tracks location and sends the location data to mosquitto, then owntracks recorder get the data from mosquitto and graphically displays them in a webui
- mTLS is used to authenticate clients, whereas "normal" TLS just authenticates the server. The authentication is now mutual!
-- mTLS is one of the puzzle pieces of building a Zero Trust Network as it strictly controls which clients are allowed to connect to a service regardless of where a user or device is connecting from
+- mTLS is one of the puzzle pieces of building a Zero Trust Network as it strictly controls which clients are allowed to connect to a service regardless of where a user or device is connecting from
- in the below setup the android app connects with mtls with mosquitto and the browser connects with mtls with the webui through caddy
- Caddy 2 is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go
- Recorder also supports tls but I suffered trying to make it work without success as it talks with mosquitto only inside our lan and is basic auth protected I'm still fine with the current setup.
@@ -13,17 +13,14 @@
- [github repo](https://github.com/owntracks/docker-recorder)
-
- [client certs](https://owntracks.org/booklet/features/tlscert/)
-
- [Mosquitto tls](http://www.steves-internet-guide.com/mosquitto-tls/)
-
- [Mosquitto tls 2](https://medium.com/himinds/mqtt-broker-with-secure-tls-and-docker-compose-708a6f483c92)
-
- [caddy mtls](https://www.reddit.com/r/selfhosted/comments/shvkkb/reverse_proxy_client_certificates_for_dummies/)
+
## certs.sh
-```
+```sh
#!/bin/bash
IP="your_lan_ip"
@@ -44,7 +41,7 @@ function generate_server () {
function generate_client () {
echo "$SUBJECT_CLIENT"
- openssl req -new -nodes -sha256 -subj "$SUBJECT_CLIENT" -out client.csr -keyout client.key
+ openssl req -new -nodes -sha256 -subj "$SUBJECT_CLIENT" -out client.csr -keyout client.key
openssl x509 -req -sha256 -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 3650
}
@@ -54,27 +51,24 @@ generate_client
```
## v3.ext
-```
+```ini
subjectKeyIdentifier = hash
-
authorityKeyIdentifier = keyid:always,issuer:always
-
basicConstraints = CA:TRUE
-
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign
-
subjectAltName = DNS:mqtt.example.org, DNS:localhost
-
issuerAltName = issuer:copy
-
-
```
+
## PKCS#12 cert
-`openssl pkcs12 -export -out cert.p12 -inkey client.key -in client.crt -legacy`
+```sh
+openssl pkcs12 -export -out cert.p12 -inkey client.key -in client.crt -legacy
+```
+
## config/recorder.conf
-```
+```ini
OTR_TOPICS = "owntracks/#"
OTR_HTTPHOST = "0.0.0.0"
OTR_HOST = "your lan ip"
@@ -83,7 +77,7 @@ OTR_PASS = "pass"
```
## mosquitto/config/mosquitto.conf
-```
+```conf
persistence true
persistence_location /mosquitto/data/
listener 1883
@@ -98,14 +92,18 @@ require_certificate true
use_identity_as_username true
protocol websockets
```
-docker-compose.yml
+
+
+## docker-compose.yml
```yml
----
services:
mosquitto:
image: eclipse-mosquitto:openssl
- container_name: mosquitto
+ container_name: owntracks-mosquitto
restart: unless-stopped
+ user: "1000:1000"
+ environment:
+ - TZ=Europe/Athens
ports:
- "1883:1883"
- "8883:8883"
@@ -113,26 +111,22 @@ services:
- "./mosquitto/config:/mosquitto/config"
- "./mosquitto/data:/mosquitto/data"
- "./mosquitto/config/passwd:/mosquitto/passwd"
- environment:
- - TZ=Europe/Athens
- user: "1000:1000"
+
otrecorder:
image: ot-arm:latest
+ container_name: owntracks-recorder
+ restart: unless-stopped
ports:
- 8083:8083
volumes:
- ./config:/config
- ./store:/store
- restart: unless-stopped
```
## Dockerfile
-```
+```Dockerfile
FROM alpine:3.16 AS builder
-
ARG RECORDER_VERSION=0.9.3
-# ARG RECORDER_VERSION=master
-
RUN apk add --no-cache \
make \
gcc \
@@ -155,9 +149,7 @@ RUN make -j $(nprocs)
RUN make install DESTDIR=/app
FROM alpine:3.16
-
VOLUME ["/store", "/config"]
-
RUN apk add --no-cache \
curl \
jq \
@@ -188,62 +180,55 @@ ENV OTR_TOPIC="owntracks/#"
ENTRYPOINT ["/usr/sbin/entrypoint.sh"]
```
-## basic auth
-`docker exec -it --user root mosquitto mosquitto_passwd -c /mosquitto/passwd/pass username`
+## Basic auth
+```sh
+docker exec -it --user root mosquitto mosquitto_passwd -c /mosquitto/passwd/pass username
+```
-## android app settings
+## Android app settings
```
Connection:
-
mode mqtt
-
host mqtt.example.org
-
Port 8883 (open port on router)
-
Client ID random name
-
Websockets toggle enabled
Identification:
-
Username random name (will be displayed on recorder ui)
-
Password empty
-
Device ID random name
-
Tracker ID random name
Security:
-
TLS enabled
-
select client cert under preferences>connection>security
-
CA cert empty (installed the ca.crt in the device user store)
```
## Caddy certs
-Request a new key and crt
-`openssl req -x509 -newkey rsa:4096 -keyout cert_name.key -out cert_name.crt -days 365`
+```sh
+# Request a new key and crt
+openssl req -x509 -newkey rsa:4096 -keyout cert_name.key -out cert_name.crt -days 365
-Request a new certificate signing request
-`openssl req -new -key cert_name.key -out cert_name.CSR`
+# Request a new certificate signing request
+openssl req -new -key cert_name.key -out cert_name.CSR
-Request a new certificate authority
-`openssl x509 -req -days 365 -in cert_name.csr -signkey cert_name.key -out cert_name-CA.crt`
+# Request a new certificate authority
+openssl x509 -req -days 365 -in cert_name.csr -signkey cert_name.key -out cert_name-CA.crt
-Create a pem certificate
-`cat cert_name.crt cert_name.key > cert_name.pem`
+# Create a pem certificate
+cat cert_name.crt cert_name.key > cert_name.pem
+
+# Create a pkcs12 certificate
+openssl pkcs12 -export -out cert_name.p12 -inkey cert_name.key -in cert_name.pem -legacy
+```
-Create a pkcs12 certificate
-`openssl pkcs12 -export -out cert_name.p12 -inkey cert_name.key -in cert_name.pem -legacy`
## /etc/caddy/Caddyfile
-```
+```Caddyfile
#cert directive
(fancy_name) {
tls {
@@ -257,8 +242,8 @@ Create a pkcs12 certificate
#owntracks
owntracks.example.org {
-import fancy_name
-reverse_proxy localhost:8083
+ import fancy_name
+ reverse_proxy localhost:8083
}
```
@@ -283,69 +268,68 @@ ghash last monitor rec
data.mdb lock.mdb
```
+
+
## Tips & Tricks
#### create the certificates for mosquitto and owntracks android app
+1. Change IP and ST,L,O for ca,server,client crt's also pick an appropriate -days for them in certs.sh
+2. Copy ca.crt,server.crt,server.key to mosquitto/config
-Change IP and ST,L,O for ca,server,client crt's also pick an appropriate -days for them in certs.sh
-
-Copy ca.crt,server.crt,server.key to mosquitto/config
#### v3.ext file for filling S.A.N. field
-
-Note subjectAltName use your dynamic dns address
+Note subjectAltName use your dynamic dns address.
This is mantatory this will be the allowed domain for this certificate
Place ext file on the same dir with the script
+
#### pkcs12 bundle
-
-Transfer ca.crt and cert.p12 on android device
-
-Install ca.crt on android>settings>security>encryption>install a certificate>ca certificate
-
-Select cert.p12 under owntracks>preferences>connection>security
+1. Transfer ca.crt and cert.p12 on android device
+2. Install ca.crt on android>settings>security>encryption>install a certificate>ca certificate
+3. Select cert.p12 under owntracks>preferences>connection>security
Android can't handle modern pkcs encryption algorythms (PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256) that is used on openssl v3 . You can omit the -legacy flag if you are creating the pkcs cert with older openssl versions
-#### directories
-`mkdir {config,mosquitto,store,store/last}`
+#### Directories
+```sh
+mkdir {config,mosquitto,store,store/last}
+```
Before everything else create the needed directories
-#### Dockerfile
+#### Dockerfile
Owntracks recorder publishes x86 images on dockerhub but there are no official ARM images so you have to build if you are on arm
Mosquitto publishes images for all aarch's
-#### Basic auth
+#### Basic auth
Comment password_file on mosquitto/config/mosquitto.conf on first run then run mosquitto_passwd command as user root on the mosquitto container and finaly uncomment password_file and re-run docker compose up
-#### Caddy certs
+#### Caddy certs
On android you have to install the cert_name.p12 cert as vpn & app user certificate under settings > security > more > credentials > install > VPN & app user cert
Copy cert_name-CA.crt and cert_name.crt to /var/lib/caddy/cert/
-#### domains
+#### domains
We used two domains
-One for publishing mqtt location messages from android to mosquitto (mqtt.example.org)
-And one for accessing the recorder webui with our browser (owntracks.e.ample.org)
+- One for publishing mqtt location messages from android to mosquitto (mqtt.example.org)
+- One for accessing the recorder webui with our browser (owntracks.e.ample.org)
+
#### certificates
-
-We installed two certificates on the android certificate store
-The certificate authority for the mosquitto client cert ca.crt
-The caddy client certificate cert_name.p12
-We selected the mosquitto client cert from within the owntracks app cert.p12
-We created two certificate authorities. The caddy directive "fancy_name" can be imported for other services that you reverse proxy with caddy also
+- We installed two certificates on the android certificate store
+- The certificate authority for the mosquitto client cert ca.crt
+- The caddy client certificate cert_name.p12
+- We selected the mosquitto client cert from within the owntracks app cert.p12
+- We created two certificate authorities. The caddy directive "fancy_name" can be imported for other services that you reverse proxy with caddy also
#### Launch
-
-You can view your location history visiting owntracks.example.org
-If more than one device connects to the same broker (mqtt.example.org ) you can also view each others current location on the android app and the history on ot-recorder (owntracks.example.org)
+- You can view your location history visiting owntracks.example.org
+- If more than one device connects to the same broker (mqtt.example.org ) you can also view each others current location on the android app and the history on ot-recorder (owntracks.example.org)
diff --git a/apps/other/traccar.md b/apps/other/traccar.md
index 667d93c..7377268 100644
--- a/apps/other/traccar.md
+++ b/apps/other/traccar.md
@@ -31,7 +31,6 @@ In `traccar.xml` file update the following section:
## docker-compose.yml
```yaml
----
services:
traccar-db:
image: yobasystems/alpine-mariadb
diff --git a/apps/other/vpn.md b/apps/other/vpn.md
index 912b396..6e57a02 100644
--- a/apps/other/vpn.md
+++ b/apps/other/vpn.md
@@ -9,7 +9,6 @@ An account with a compatible VPN provider is required.
## docker-compose.yml
```yml
----
services:
gluetun:
image: qmcgaw/gluetun
@@ -37,7 +36,6 @@ services:
and then - in the corresponding service `docker-compose.yml`, e.g.:
```yml
----
services:
jackett:
image: ghcr.io/linuxserver/jackett
diff --git a/apps/other/windows.md b/apps/other/windows.md
index b821b23..ecc9ced 100644
--- a/apps/other/windows.md
+++ b/apps/other/windows.md
@@ -5,7 +5,6 @@
## docker-compose.yml
```yml
----
services:
windows:
image: dockurr/windows
diff --git a/apps/photos/libre-photos.md b/apps/photos/libre-photos.md
index 72e23eb..d8e62f6 100644
--- a/apps/photos/libre-photos.md
+++ b/apps/photos/libre-photos.md
@@ -68,8 +68,6 @@ workerTimeOut=1800
## docker-compose.yml
```yml
----
-version: '2.1'
services:
proxy:
image: reallibrephotos/librephotos-proxy:${tag}
@@ -144,15 +142,17 @@ services:
restart: unless-stopped
```
+
+
## Tips & tricks
### Librephotos backup/restore
-Docker offers volumes so /data and /code/protected_media are safely mounted on host. Simply rsync backup of these dirs
+Docker offers volumes so /data and /code/protected_media are safely mounted on host. Simply rsync backup of these dirs
posstgres db backup
-Usefull to avoid a full scan
+Usefull to avoid a full scan
`docker ps`
diff --git a/apps/photos/lychee.md b/apps/photos/lychee.md
index d68c3ee..d00cb47 100644
--- a/apps/photos/lychee.md
+++ b/apps/photos/lychee.md
@@ -98,7 +98,6 @@ http {
## docker-compose.yml
```yml
----
services:
lychee_db:
container_name: lychee_db
diff --git a/apps/photos/photoprism.md b/apps/photos/photoprism.md
index 9f78881..fd301f3 100644
--- a/apps/photos/photoprism.md
+++ b/apps/photos/photoprism.md
@@ -10,7 +10,6 @@ Personal Photo Management powered by Go and Google TensorFlow.
## docker-compose.yml
```yml
-version: '3.3'
services:
photoprism:
diff --git a/apps/photos/photostructure.md b/apps/photos/photostructure.md
index 9447fc3..772e9b0 100644
--- a/apps/photos/photostructure.md
+++ b/apps/photos/photostructure.md
@@ -15,8 +15,6 @@
## docker-compose.yml
```yml
----
-version: "3.7"
services:
photostructure:
image: photostructure/server
diff --git a/apps/photos/photoview.md b/apps/photos/photoview.md
index 37346f3..171d0a3 100644
--- a/apps/photos/photoview.md
+++ b/apps/photos/photoview.md
@@ -9,7 +9,6 @@ Photo gallery for self-hosted personal servers.
## docker-compose.yml
```yml
----
services:
db:
image: mariadb
diff --git a/apps/photos/pigallery.md b/apps/photos/pigallery.md
index 5d72075..76ff937 100644
--- a/apps/photos/pigallery.md
+++ b/apps/photos/pigallery.md
@@ -13,7 +13,6 @@
## docker-compose.yml
```yml
----
services:
pigallery2:
image: bpatrik/pigallery2:latest
diff --git a/apps/photos/piwigo.md b/apps/photos/piwigo.md
index 075b0d0..9d39415 100644
--- a/apps/photos/piwigo.md
+++ b/apps/photos/piwigo.md
@@ -13,7 +13,6 @@
## docker-compose.yml
```yml
----
services:
piwigo:
image: linuxserver/piwigo
diff --git a/apps/photos/pixelfed.md b/apps/photos/pixelfed.md
index 1e54eef..15b9bf1 100644
--- a/apps/photos/pixelfed.md
+++ b/apps/photos/pixelfed.md
@@ -14,7 +14,6 @@ First create `.env` file like this one: https://github.com/pixelfed/pixelfed/blo
## docker-compose.yml
```yml
----
services:
app:
image: pixelfed
diff --git a/apps/project-mgmt/jira.md b/apps/project-mgmt/jira.md
index ed360b6..b03f026 100644
--- a/apps/project-mgmt/jira.md
+++ b/apps/project-mgmt/jira.md
@@ -11,7 +11,6 @@
## docker-compose.yml
```yml
----
services:
jira:
image: atlassian/jira-software
diff --git a/apps/project-mgmt/open-project.md b/apps/project-mgmt/open-project.md
index 4152d62..e63c9e9 100644
--- a/apps/project-mgmt/open-project.md
+++ b/apps/project-mgmt/open-project.md
@@ -12,7 +12,6 @@ Full-featured & complicated.
## docker-compose.yml
```yml
----
services:
openproject:
image: openproject/community
diff --git a/apps/project-mgmt/planka.md b/apps/project-mgmt/planka.md
index 6e44744..366b6f2 100644
--- a/apps/project-mgmt/planka.md
+++ b/apps/project-mgmt/planka.md
@@ -6,7 +6,6 @@
## docker-compose.yml
```yml
----
services:
planka:
image: meltyshev/planka:latest
diff --git a/apps/project-mgmt/wekan.md b/apps/project-mgmt/wekan.md
index 05fc1e8..d3fa399 100644
--- a/apps/project-mgmt/wekan.md
+++ b/apps/project-mgmt/wekan.md
@@ -10,7 +10,6 @@ Probably the best of the ones tested. A good balance between features & complexi
## docker-compose.yml
```yml
----
services:
wekandb:
image: mongo:latest
diff --git a/apps/reverse-proxy-sso/authelia.md b/apps/reverse-proxy-sso/authelia.md
index 94e524c..71dc7e0 100644
--- a/apps/reverse-proxy-sso/authelia.md
+++ b/apps/reverse-proxy-sso/authelia.md
@@ -11,7 +11,6 @@ The config files below, will use a file-storage for users, because it's simpler
## docker-compose.yml
```yml
-version: '3.3'
networks:
net:
driver: bridge
diff --git a/apps/reverse-proxy-sso/npm.md b/apps/reverse-proxy-sso/npm.md
index b438750..2b97fca 100644
--- a/apps/reverse-proxy-sso/npm.md
+++ b/apps/reverse-proxy-sso/npm.md
@@ -13,7 +13,6 @@
## docker-compose.yml
```yml
----
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
diff --git a/apps/rss/miniflux-filter.md b/apps/rss/miniflux-filter.md
index 5cfa7a3..8593083 100644
--- a/apps/rss/miniflux-filter.md
+++ b/apps/rss/miniflux-filter.md
@@ -18,7 +18,6 @@ The new version adds a UI for managing filters. The UI "borrows" the css & javas
## docker-compose.yml
```yml
----
services:
miniflux-filter:
image: tborychowski/miniflux-filter:latest
diff --git a/apps/rss/rssbridge.md b/apps/rss/rssbridge.md
index d1b0e69..68972df 100644
--- a/apps/rss/rssbridge.md
+++ b/apps/rss/rssbridge.md
@@ -9,7 +9,6 @@ RSS-Bridge is a PHP project capable of generating RSS and Atom feeds for website
# docker-compose.yml
```yml
----
services:
rss-bridge:
image: rssbridge/rss-bridge:latest
diff --git a/apps/rss/rsshub.md b/apps/rss/rsshub.md
index 338d79e..d987708 100644
--- a/apps/rss/rsshub.md
+++ b/apps/rss/rsshub.md
@@ -10,7 +10,6 @@ RSSHub is an open source, easy to use, and extensible RSS feed generator. It's c
# docker-compose.yml
```yml
----
services:
rsshub:
image: diygod/rsshub
@@ -21,18 +20,18 @@ services:
NODE_ENV: production
CACHE_TYPE: redis
REDIS_URL: 'redis://redis:6379/'
- PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000'
+ PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000'
depends_on:
- redis
- - browserless
+ - browserless
- browserless:
- image: browserless/chrome
- restart: always
- ulimits:
- core:
- hard: 0
- soft: 0
+ browserless:
+ image: browserless/chrome
+ restart: always
+ ulimits:
+ core:
+ hard: 0
+ soft: 0
redis:
image: redis:alpine
diff --git a/apps/rss/rsstt.md b/apps/rss/rsstt.md
index ab9e22a..e0b0822 100644
--- a/apps/rss/rsstt.md
+++ b/apps/rss/rsstt.md
@@ -11,8 +11,6 @@ A Telegram RSS bot that cares about your reading experience
# docker-compose.yml
```yml
----
-version: '3.6'
services:
main:
@@ -31,4 +29,4 @@ services:
# Tips & Tricks
- first follow [deployment guide](https://github.com/Rongronggg9/RSS-to-Telegram-Bot/blob/dev/docs/deployment-guide.md) to create a new bot, get it's bot token, bot ID, telegraph api ID and telegraph api hash
-- Uncomment MULTIUSER=0, if you want to be the only user that can interact with the bot and API_ID and API_HASH if you don't want to use the sample APIs. API_ID_PUBLISHED_FLOOD_ERROR may occur with sample telegraph api's
+- Uncomment MULTIUSER=0, if you want to be the only user that can interact with the bot and API_ID and API_HASH if you don't want to use the sample APIs. API_ID_PUBLISHED_FLOOD_ERROR may occur with sample telegraph api's
diff --git a/apps/search/searx.md b/apps/search/searx.md
index 44512b0..640ebc5 100644
--- a/apps/search/searx.md
+++ b/apps/search/searx.md
@@ -15,7 +15,6 @@
## docker-compose.yml
```yml
-version: '3.7'
services:
diff --git a/apps/search/whoogle.md b/apps/search/whoogle.md
index b4920c5..be1c049 100644
--- a/apps/search/whoogle.md
+++ b/apps/search/whoogle.md
@@ -11,7 +11,6 @@
## docker-compose.yml
```yml
----
services:
whoogle-search:
diff --git a/apps/social/etesync.md b/apps/social/etesync.md
index 32c56e1..3fd556f 100644
--- a/apps/social/etesync.md
+++ b/apps/social/etesync.md
@@ -11,7 +11,6 @@ Not terrible, but not great.
## docker-compose.yml
```yml
----
services:
etesync:
image: dsaier/etesync
diff --git a/apps/social/mastodon.md b/apps/social/mastodon.md
index a380ca1..22dc387 100644
--- a/apps/social/mastodon.md
+++ b/apps/social/mastodon.md
@@ -36,7 +36,6 @@ docker compose exec mastodon /tootctl accounts approve admin
```yaml
----
services:
redis:
image: redis:alpine
diff --git a/apps/social/mattermost.md b/apps/social/mattermost.md
index 3ce9f4b..7f38daa 100644
--- a/apps/social/mattermost.md
+++ b/apps/social/mattermost.md
@@ -9,7 +9,6 @@ Collaboration for Mission-Critical Work. Slack alternative.
```yaml
----
services:
postgres:
image: postgres:13-alpine
diff --git a/apps/social/monica.md b/apps/social/monica.md
index 3c70b12..4eea298 100644
--- a/apps/social/monica.md
+++ b/apps/social/monica.md
@@ -74,7 +74,6 @@ DARKSKY_API_KEY=
## docker-compose.yml
```yml
----
services:
monicahq:
image: monica
diff --git a/apps/social/rocketchat.md b/apps/social/rocketchat.md
index 0dd83e7..f78e30b 100644
--- a/apps/social/rocketchat.md
+++ b/apps/social/rocketchat.md
@@ -13,7 +13,6 @@ The Ultimate Communication Hub. A solid option for self-hosted chat and collabor
## docker-compose.yml
```yml
----
services:
mongodb:
# https://hub.docker.com/r/bitnami/mongodb
diff --git a/apps/wiki/bluespice.md b/apps/wiki/bluespice.md
index a40b7ca..588b6e5 100644
--- a/apps/wiki/bluespice.md
+++ b/apps/wiki/bluespice.md
@@ -11,8 +11,6 @@
## docker-compose.yml
```yml
----
-version: '3.3'
services:
bluespice:
image: bluespice/bluespice-free
diff --git a/apps/wiki/bookstack.md b/apps/wiki/bookstack.md
index 22f0fff..acffddf 100644
--- a/apps/wiki/bookstack.md
+++ b/apps/wiki/bookstack.md
@@ -13,7 +13,6 @@
## docker-compose.yml
```yml
----
services:
bookstack:
image: linuxserver/bookstack
diff --git a/apps/wiki/confluence.md b/apps/wiki/confluence.md
index a0338c1..6744ef6 100644
--- a/apps/wiki/confluence.md
+++ b/apps/wiki/confluence.md
@@ -13,7 +13,6 @@
## docker-compose.yml
```yml
----
services:
confluence:
image: atlassian/confluence-server
diff --git a/apps/wiki/docmost.md b/apps/wiki/docmost.md
index 24b4ef4..c1e0ef2 100644
--- a/apps/wiki/docmost.md
+++ b/apps/wiki/docmost.md
@@ -15,7 +15,6 @@
## docker-compose.yml
```yml
----
services:
docmost:
image: docmost/docmost:latest
diff --git a/apps/wiki/notea.md b/apps/wiki/notea.md
index e434a85..6467ffb 100644
--- a/apps/wiki/notea.md
+++ b/apps/wiki/notea.md
@@ -15,7 +15,6 @@
## docker-compose.yml
```yml
----
services:
notea:
image: cinwell/notea
diff --git a/apps/wiki/xwiki.md b/apps/wiki/xwiki.md
index 9faca96..da6a25f 100644
--- a/apps/wiki/xwiki.md
+++ b/apps/wiki/xwiki.md
@@ -19,7 +19,6 @@ wget https://raw.githubusercontent.com/xwiki-contrib/docker-xwiki/master/12/mysq
## docker-compose.yml
```yml
----
services:
db:
image: mysql:5.7