mirror of
https://github.com/tborychowski/self-hosted-cookbook.git
synced 2025-05-19 13:58:21 +00:00
clean-up docker-compose files: remove version and ---
This commit is contained in:
parent
307bff4aad
commit
0f04279afa
@ -10,8 +10,6 @@
|
|||||||
|
|
||||||
## `docker-compose.yml`
|
## `docker-compose.yml`
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: '3.7'
|
|
||||||
services:
|
services:
|
||||||
adguard:
|
adguard:
|
||||||
container_name: adguard
|
container_name: adguard
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
|
|
||||||
## `docker-compose.yml`
|
## `docker-compose.yml`
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
pihole:
|
pihole:
|
||||||
container_name: pihole
|
container_name: pihole
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
## `docker-compose.yml`
|
## `docker-compose.yml`
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: mariadb
|
image: mariadb
|
||||||
|
@ -32,7 +32,6 @@ SMTP_RETRIES=2
|
|||||||
## `docker-compose.yml`
|
## `docker-compose.yml`
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
mail:
|
mail:
|
||||||
image: bytemark/smtp
|
image: bytemark/smtp
|
||||||
|
@ -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).
|
Original here: [docker-compose.yml](https://github.com/umami-software/umami/blob/master/docker-compose.yml).
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: postgres:12-alpine
|
image: postgres:12-alpine
|
||||||
|
@ -13,8 +13,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: '3.3'
|
|
||||||
services:
|
services:
|
||||||
duplicati:
|
duplicati:
|
||||||
image: linuxserver/duplicati
|
image: linuxserver/duplicati
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
cherry:
|
cherry:
|
||||||
image: haishanh/cherry
|
image: haishanh/cherry
|
||||||
|
@ -25,7 +25,6 @@ NEXTAUTH_URL=http://localhost:3123
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
|
@ -68,7 +68,6 @@ QUEUE_DRIVER=database
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: mariadb:10.5
|
image: mariadb:10.5
|
||||||
|
@ -11,8 +11,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: '3.3'
|
|
||||||
services:
|
services:
|
||||||
linkding:
|
linkding:
|
||||||
image: sissbruecker/linkding:latest
|
image: sissbruecker/linkding:latest
|
||||||
|
@ -23,7 +23,6 @@ sudo chown 100:101 cache/ data/
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
shaarli:
|
shaarli:
|
||||||
image: shaarli/shaarli:master
|
image: shaarli/shaarli:master
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
shiori:
|
shiori:
|
||||||
image: radhifadlillah/shiori
|
image: radhifadlillah/shiori
|
||||||
|
@ -38,7 +38,6 @@ The db file can remain empty (will be used by the app), the config - we need to
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yaml
|
```yaml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
filebrowser:
|
filebrowser:
|
||||||
image: filebrowser/filebrowser
|
image: filebrowser/filebrowser
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: mariadb:10.1
|
image: mariadb:10.1
|
||||||
|
@ -14,7 +14,6 @@
|
|||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
More examplex [here](https://github.com/nextcloud/docker/tree/master/.examples/docker-compose).
|
More examplex [here](https://github.com/nextcloud/docker/tree/master/.examples/docker-compose).
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
image: nextcloud:latest
|
image: nextcloud:latest
|
||||||
|
@ -9,7 +9,6 @@ aims to be a Docker image that enables a no-nonsense WebDAV system on the latest
|
|||||||
## docker-compose-yml
|
## docker-compose-yml
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
nginxwebdav:
|
nginxwebdav:
|
||||||
container_name: nginxwebdav
|
container_name: nginxwebdav
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
oasis:
|
oasis:
|
||||||
image: machengim/oasis
|
image: machengim/oasis
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
cells:
|
cells:
|
||||||
image: pydio/cells:latest
|
image: pydio/cells:latest
|
||||||
|
@ -32,7 +32,6 @@ FILESYSTEM_DRIVER=public
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
screenly:
|
screenly:
|
||||||
image: hadogenes/screeenly
|
image: hadogenes/screeenly
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
Original file [here](https://download.seafile.com/d/320e8adf90fa43ad8fee/files/?p=/docker/docker-compose.yml).
|
Original file [here](https://download.seafile.com/d/320e8adf90fa43ad8fee/files/?p=/docker/docker-compose.yml).
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: mariadb:10.5
|
image: mariadb:10.5
|
||||||
|
@ -9,8 +9,6 @@ Flat file cms/blogging platform.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: '3.1'
|
|
||||||
services:
|
services:
|
||||||
ghost:
|
ghost:
|
||||||
image: ghost:4-alpine
|
image: ghost:4-alpine
|
||||||
|
@ -13,8 +13,6 @@ The ultimate CMS/blogging platform.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: '3.1'
|
|
||||||
services:
|
services:
|
||||||
wordpress:
|
wordpress:
|
||||||
image: wordpress
|
image: wordpress
|
||||||
|
@ -10,7 +10,6 @@ lightweight CalDAV+CardDAV server. It offers an extensive web interface with eas
|
|||||||
## docker-compose
|
## docker-compose
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
baikal:
|
baikal:
|
||||||
image: ckulka/baikal:nginx
|
image: ckulka/baikal:nginx
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
version: '3.3'
|
|
||||||
services:
|
services:
|
||||||
dashmachine:
|
dashmachine:
|
||||||
image: rmountjoy/dashmachine:latest
|
image: rmountjoy/dashmachine:latest
|
||||||
|
@ -13,8 +13,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: '3.6'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
flame:
|
flame:
|
||||||
|
@ -9,7 +9,6 @@ Customizable browser's home page to interact with your homeserver's Docker conta
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
homarr:
|
homarr:
|
||||||
image: ghcr.io/ajnart/homarr:latest
|
image: ghcr.io/ajnart/homarr:latest
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
homer:
|
homer:
|
||||||
image: b4bz/homer
|
image: b4bz/homer
|
||||||
@ -27,7 +26,6 @@ services:
|
|||||||
|
|
||||||
## config.yml
|
## config.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
title: "Home"
|
title: "Home"
|
||||||
subtitle: "start.example.com"
|
subtitle: "start.example.com"
|
||||||
logo: false
|
logo: false
|
||||||
|
@ -12,8 +12,6 @@ Minimalistic flexible homepage.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: '3.8'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
mafl:
|
mafl:
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
baserow:
|
baserow:
|
||||||
image: baserow/baserow:latest
|
image: baserow/baserow:latest
|
||||||
|
@ -14,7 +14,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
root_db:
|
root_db:
|
||||||
image: mysql:5.7
|
image: mysql:5.7
|
||||||
|
@ -11,8 +11,6 @@
|
|||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
That this didn't work for me at the time of testing.
|
That this didn't work for me at the time of testing.
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: '2.0'
|
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: mariadb:10.5
|
image: mariadb:10.5
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: "3.2"
|
version: "3.2"
|
||||||
services:
|
services:
|
||||||
diun:
|
diun:
|
||||||
|
@ -11,7 +11,6 @@ Doku is a web-based Docker disk usage monitor.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
doku:
|
doku:
|
||||||
image: amerkurev/doku
|
image: amerkurev/doku
|
||||||
|
@ -9,7 +9,6 @@ A nice UI for managing docker/kubernetes/swarm containers.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
portainer:
|
portainer:
|
||||||
image: portainer/portainer-ce
|
image: portainer/portainer-ce
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
watchtower:
|
watchtower:
|
||||||
image: containrrr/watchtower
|
image: containrrr/watchtower
|
||||||
|
@ -34,7 +34,6 @@ PAPERLESS_OCR_LANGUAGE=eng
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
broker:
|
broker:
|
||||||
image: docker.io/library/redis:6.0
|
image: docker.io/library/redis:6.0
|
||||||
|
@ -12,8 +12,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: "2.1"
|
|
||||||
services:
|
services:
|
||||||
deluge:
|
deluge:
|
||||||
image: linuxserver/deluge
|
image: linuxserver/deluge
|
||||||
|
@ -14,7 +14,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
qbittorrent:
|
qbittorrent:
|
||||||
image: lscr.io/linuxserver/qbittorrent:latest
|
image: lscr.io/linuxserver/qbittorrent:latest
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
cloud-torrent:
|
cloud-torrent:
|
||||||
image: boypt/cloud-torrent
|
image: boypt/cloud-torrent
|
||||||
|
@ -14,8 +14,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: "2.1"
|
|
||||||
services:
|
services:
|
||||||
transmission:
|
transmission:
|
||||||
image: linuxserver/transmission
|
image: linuxserver/transmission
|
||||||
|
@ -12,7 +12,6 @@ Can easily mirror repos from different sources (periodically re-syncing them), a
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: postgres:14
|
image: postgres:14
|
||||||
|
@ -20,7 +20,6 @@ Some of the most popular plugins include:
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
homebridge:
|
homebridge:
|
||||||
image: oznu/homebridge:latest
|
image: oznu/homebridge:latest
|
||||||
|
@ -56,7 +56,6 @@ fi
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:16
|
image: postgres:16
|
||||||
|
@ -13,8 +13,6 @@ Self-hosted Audiobook Server.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: '3.3'
|
|
||||||
services:
|
services:
|
||||||
audiobookshelf:
|
audiobookshelf:
|
||||||
image: advplyr/audiobookshelf
|
image: advplyr/audiobookshelf
|
||||||
|
@ -10,7 +10,6 @@ Bazarr is a companion application to Sonarr and Radarr. It manages and downloads
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
bazarr:
|
bazarr:
|
||||||
image: linuxserver/bazarr
|
image: linuxserver/bazarr
|
||||||
|
@ -12,7 +12,6 @@ This will allow you to generate calibre library needed for the Calibre Web.
|
|||||||
|
|
||||||
### docker-compose.yml
|
### docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
calibre:
|
calibre:
|
||||||
image: linuxserver/calibre
|
image: linuxserver/calibre
|
||||||
@ -46,7 +45,6 @@ Connects to calibre server's database (server does not need to be running).
|
|||||||
|
|
||||||
### docker-compose.yml
|
### docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
calibre-web:
|
calibre-web:
|
||||||
image: linuxserver/calibre-web
|
image: linuxserver/calibre-web
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: '3.3'
|
|
||||||
services:
|
services:
|
||||||
deemix:
|
deemix:
|
||||||
image: registry.gitlab.com/bockiii/deemix-docker
|
image: registry.gitlab.com/bockiii/deemix-docker
|
||||||
|
@ -9,7 +9,6 @@ API Support for your favorite torrent trackers.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
jackett:
|
jackett:
|
||||||
image: linuxserver/jackett
|
image: linuxserver/jackett
|
||||||
|
@ -12,7 +12,6 @@ okdocker run -d -v /srv/jellyfin/config:/config -v /srv/jellyfin/cache:/cache -v
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
jellyfin:
|
jellyfin:
|
||||||
image: jellyfin/jellyfin:latest
|
image: jellyfin/jellyfin:latest
|
||||||
|
@ -13,7 +13,6 @@ Probably the best self-hosted ebook & comic reader.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
kavita:
|
kavita:
|
||||||
image: jvmilazz0/kavita:latest
|
image: jvmilazz0/kavita:latest
|
||||||
|
@ -12,8 +12,6 @@ A very good self-hosted comic books reader.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: '3.3'
|
|
||||||
services:
|
services:
|
||||||
komga:
|
komga:
|
||||||
image: gotson/komga
|
image: gotson/komga
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
metube:
|
metube:
|
||||||
image: alexta69/metube
|
image: alexta69/metube
|
||||||
|
@ -13,7 +13,6 @@ Music streaming service.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
navidrome:
|
navidrome:
|
||||||
image: deluan/navidrome:latest
|
image: deluan/navidrome:latest
|
||||||
|
@ -13,7 +13,6 @@ Audio, Video & Photo manager.<br>
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
plex:
|
plex:
|
||||||
image: ghcr.io/linuxserver/plex
|
image: ghcr.io/linuxserver/plex
|
||||||
|
@ -10,7 +10,6 @@ Movie manager.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
radarr:
|
radarr:
|
||||||
image: linuxserver/radarr
|
image: linuxserver/radarr
|
||||||
|
@ -10,7 +10,6 @@ TV show manager.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
sonarr:
|
sonarr:
|
||||||
image: linuxserver/sonarr
|
image: linuxserver/sonarr
|
||||||
|
@ -12,7 +12,6 @@ Monitor for Plex Media Server.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
tautuli:
|
tautuli:
|
||||||
image: tautulli/tautulli
|
image: tautulli/tautulli
|
||||||
|
@ -25,7 +25,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
archivist-es:
|
archivist-es:
|
||||||
image: bbilly1/tubearchivist-es
|
image: bbilly1/tubearchivist-es
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
metube:
|
metube:
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
youtubedl-web:
|
youtubedl-web:
|
||||||
image: franhp/youtubedl-web:latest
|
image: franhp/youtubedl-web:latest
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
version: '3.3'
|
|
||||||
services:
|
services:
|
||||||
cachet:
|
cachet:
|
||||||
image: cachethq/docker:latest
|
image: cachethq/docker:latest
|
||||||
|
@ -14,8 +14,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: '3.6'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
checkmk:
|
checkmk:
|
||||||
|
@ -11,7 +11,6 @@ There is no web ui or fancy dashboard.
|
|||||||
## docker-compose
|
## docker-compose
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
monocker:
|
monocker:
|
||||||
container_name: monocker
|
container_name: monocker
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
version: '3.8'
|
|
||||||
services:
|
services:
|
||||||
psm:
|
psm:
|
||||||
image: alwynpan/phpservermonitor
|
image: alwynpan/phpservermonitor
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
statping:
|
statping:
|
||||||
container_name: statping
|
container_name: statping
|
||||||
image: hunterlong/statping
|
image: hunterlong/statping
|
||||||
|
@ -15,8 +15,6 @@ A Joplin server to that stores your notes
|
|||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: '3.4'
|
|
||||||
|
|
||||||
x-common-variables: &common-variables
|
x-common-variables: &common-variables
|
||||||
ORIGINS: "'http://localhost', 'http://192.168.1.24' , 'https://my-ddns-domain.com'"
|
ORIGINS: "'http://localhost', 'http://192.168.1.24' , 'https://my-ddns-domain.com'"
|
||||||
|
@ -9,7 +9,6 @@ This is the Joplin sync server.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: postgres:13.1
|
image: postgres:13.1
|
||||||
|
@ -14,7 +14,6 @@ An open-source, self-hosted memo hub with knowledge management and collaboration
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yaml
|
```yaml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
memos:
|
memos:
|
||||||
image: neosmemo/memos:latest
|
image: neosmemo/memos:latest
|
||||||
|
@ -7,8 +7,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: '3.7'
|
|
||||||
services:
|
services:
|
||||||
synology-sms-relay:
|
synology-sms-relay:
|
||||||
container_name: synology-sms-relay
|
container_name: synology-sms-relay
|
||||||
|
@ -12,7 +12,6 @@ bitwarden_rs is an unofficial Bitwarden compatible server.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
bitwarden:
|
bitwarden:
|
||||||
image: bitwardenrs/server:latest
|
image: bitwardenrs/server:latest
|
||||||
|
@ -1,226 +1,139 @@
|
|||||||
# Brave 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.
|
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**
|
## Differences from chromium sync
|
||||||
|
|
||||||
Enforce client side encryption
|
Enforce client side encryption
|
||||||
|
|
||||||
Doesn't require sign-in to use sync (Uses "Sync Chain" concept)
|
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
|
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.
|
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.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
- 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
|
## dynamo.Dockerfile
|
||||||
|
```Dockerfile
|
||||||
```
|
|
||||||
|
|
||||||
ARG DB_LOCATION=/home/dynamodblocal/db
|
ARG DB_LOCATION=/home/dynamodblocal/db
|
||||||
|
|
||||||
FROM amazon/dynamodb-local:1.12.0 AS install
|
FROM amazon/dynamodb-local:1.12.0 AS install
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
RUN yum -y install awscli
|
RUN yum -y install awscli
|
||||||
|
|
||||||
USER dynamodblocal
|
USER dynamodblocal
|
||||||
|
|
||||||
ENV AWS_ACCESS_KEY_ID=#
|
ENV AWS_ACCESS_KEY_ID=#
|
||||||
|
|
||||||
ENV AWS_SECRET_ACCESS_KEY=#
|
ENV AWS_SECRET_ACCESS_KEY=#
|
||||||
|
|
||||||
ARG AWS_ENDPOINT=http://localhost:8000
|
ARG AWS_ENDPOINT=http://localhost:8000
|
||||||
|
|
||||||
ARG AWS_REGION=us-west-2
|
ARG AWS_REGION=us-west-2
|
||||||
|
|
||||||
ARG DB_LOCATION
|
ARG DB_LOCATION
|
||||||
|
|
||||||
ARG TABLE_NAME=client-entity-dev
|
ARG TABLE_NAME=client-entity-dev
|
||||||
|
|
||||||
COPY schema/dynamodb/ .
|
COPY schema/dynamodb/ .
|
||||||
|
|
||||||
RUN mkdir -p ${DB_LOCATION} && \
|
RUN mkdir -p ${DB_LOCATION} && \
|
||||||
|
|
||||||
java -jar DynamoDBLocal.jar -sharedDb -dbPath ${DB_LOCATION} & \
|
java -jar DynamoDBLocal.jar -sharedDb -dbPath ${DB_LOCATION} & \
|
||||||
|
|
||||||
DYNAMO_PID=$! && \
|
DYNAMO_PID=$! && \
|
||||||
|
|
||||||
aws dynamodb create-table --cli-input-json file://table.json \
|
aws dynamodb create-table --cli-input-json file://table.json \
|
||||||
|
|
||||||
--endpoint-url ${AWS_ENDPOINT} --region ${AWS_REGION} && \
|
--endpoint-url ${AWS_ENDPOINT} --region ${AWS_REGION} && \
|
||||||
|
|
||||||
kill $DYNAMO_PID
|
kill $DYNAMO_PID
|
||||||
|
|
||||||
FROM amazon/dynamodb-local:1.12.0
|
FROM amazon/dynamodb-local:1.12.0
|
||||||
|
|
||||||
ARG DB_LOCATION
|
ARG DB_LOCATION
|
||||||
|
|
||||||
COPY --chown=dynamodblocal:dynamodblocal --from=install ${DB_LOCATION} /db
|
COPY --chown=dynamodblocal:dynamodblocal --from=install ${DB_LOCATION} /db
|
||||||
|
|
||||||
CMD ["-jar", "DynamoDBLocal.jar", "-sharedDb", "-dbPath", "/db"]
|
CMD ["-jar", "DynamoDBLocal.jar", "-sharedDb", "-dbPath", "/db"]
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Dockerfile
|
## Dockerfile
|
||||||
|
|
||||||
```
|
```Dockerfile
|
||||||
|
|
||||||
FROM bitnami/golang:1.18 as builder
|
FROM bitnami/golang:1.18 as builder
|
||||||
|
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
|
|
||||||
ARG BUILD_TIME
|
ARG BUILD_TIME
|
||||||
|
|
||||||
ARG COMMIT
|
ARG COMMIT
|
||||||
|
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
|
||||||
COPY go.mod go.sum ./
|
COPY go.mod go.sum ./
|
||||||
|
|
||||||
RUN go mod download
|
RUN go mod download
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
RUN CGO_ENABLED=0 GOOS=linux go build \
|
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}" \
|
-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 .
|
-o main .
|
||||||
|
|
||||||
FROM alpine:3.6 as artifact
|
FROM alpine:3.6 as artifact
|
||||||
|
|
||||||
RUN apk add --update ca-certificates # Certificates for SSL
|
RUN apk add --update ca-certificates # Certificates for SSL
|
||||||
|
|
||||||
COPY --from=builder /src/main main
|
COPY --from=builder /src/main main
|
||||||
|
|
||||||
EXPOSE 8295
|
EXPOSE 8295
|
||||||
|
|
||||||
CMD ["./main"]
|
CMD ["./main"]
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
|
|
||||||
sync:
|
sync:
|
||||||
|
|
||||||
driver: bridge
|
driver: bridge
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
web:
|
web:
|
||||||
|
|
||||||
build:
|
build:
|
||||||
|
|
||||||
context: .
|
context: .
|
||||||
|
|
||||||
target: artifact
|
target: artifact
|
||||||
|
|
||||||
args:
|
args:
|
||||||
|
|
||||||
VERSION: "${VERSION}"
|
VERSION: "${VERSION}"
|
||||||
|
|
||||||
COMMIT: "${COMMIT}"
|
COMMIT: "${COMMIT}"
|
||||||
|
|
||||||
BUILD_TIME: "${BUILD_TIME}"
|
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:
|
ports:
|
||||||
|
|
||||||
- "8295:8295"
|
- "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:
|
dynamo-local:
|
||||||
|
|
||||||
build:
|
build:
|
||||||
|
|
||||||
context: .
|
context: .
|
||||||
|
|
||||||
dockerfile: dynamo.Dockerfile
|
dockerfile: dynamo.Dockerfile
|
||||||
|
|
||||||
ports:
|
ports:
|
||||||
|
|
||||||
- "8000:8000"
|
- "8000:8000"
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
|
|
||||||
- sync
|
- sync
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
|
|
||||||
image: public.ecr.aws/ubuntu/redis:latest
|
image: public.ecr.aws/ubuntu/redis:latest
|
||||||
|
|
||||||
ports:
|
|
||||||
|
|
||||||
- "6379:6379"
|
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
|
|
||||||
- ALLOW_EMPTY_PASSWORD=yes
|
- ALLOW_EMPTY_PASSWORD=yes
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
|
|
||||||
- sync
|
- sync
|
||||||
|
ports:
|
||||||
|
- "6379:6379"
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Tips & Tricks
|
## 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.
|
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/)
|
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
|
adb shell
|
||||||
|
|
||||||
echo "_ --sync-url=192.168.1.24:8295/v2" > /data/local/tmp/chrome-command-line
|
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
|
#### Verify sync status
|
||||||
|
|
||||||
Visit `brave://sync-internals`
|
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
|
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
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
budibase:
|
budibase:
|
||||||
image: budibase/budibase:latest
|
image: budibase/budibase:latest
|
||||||
|
@ -14,7 +14,6 @@ Periodically monitors websites for changes and sends a notification when a chang
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
playwright-chrome:
|
playwright-chrome:
|
||||||
hostname: playwright-chrome
|
hostname: playwright-chrome
|
||||||
|
@ -10,7 +10,6 @@ VSCode in the browser!
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
code-server:
|
code-server:
|
||||||
image: linuxserver/code-server
|
image: linuxserver/code-server
|
||||||
|
@ -94,9 +94,10 @@ labels:
|
|||||||
type: traefik
|
type: traefik
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
crowdsec:
|
crowdsec:
|
||||||
image: crowdsecurity/crowdsec
|
image: crowdsecurity/crowdsec
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
firefox-sync:
|
firefox-sync:
|
||||||
image: mozilla/syncserver:latest
|
image: mozilla/syncserver:latest
|
||||||
|
@ -11,7 +11,6 @@ It's a browser inside a browser!
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
firefox:
|
firefox:
|
||||||
image: lscr.io/linuxserver/firefox:latest
|
image: lscr.io/linuxserver/firefox:latest
|
||||||
|
@ -21,7 +21,6 @@ LanguageTool can make use of large n-gram data sets to detect errors with words
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
languagetool:
|
languagetool:
|
||||||
image: erikvl87/languagetool
|
image: erikvl87/languagetool
|
||||||
@ -51,7 +50,6 @@ This is using [libregrammar](https://github.com/TiagoSantos81/libregrammar) vers
|
|||||||
|
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
languagetool:
|
languagetool:
|
||||||
image: registry.gitlab.com/py_crash/docker-libregrammar
|
image: registry.gitlab.com/py_crash/docker-libregrammar
|
||||||
|
@ -36,7 +36,6 @@ upstream-base-url: "https://ntfy.sh"
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
ntfy:
|
ntfy:
|
||||||
image: binwiederhier/ntfy
|
image: binwiederhier/ntfy
|
||||||
|
@ -10,7 +10,6 @@ Measure the speed between your server and your computer.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
openspeedtest:
|
openspeedtest:
|
||||||
image: openspeedtest/latest
|
image: openspeedtest/latest
|
||||||
|
@ -13,17 +13,14 @@
|
|||||||
<br>
|
<br>
|
||||||
|
|
||||||
- [github repo](https://github.com/owntracks/docker-recorder)
|
- [github repo](https://github.com/owntracks/docker-recorder)
|
||||||
|
|
||||||
- [client certs](https://owntracks.org/booklet/features/tlscert/)
|
- [client certs](https://owntracks.org/booklet/features/tlscert/)
|
||||||
|
|
||||||
- [Mosquitto tls](http://www.steves-internet-guide.com/mosquitto-tls/)
|
- [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)
|
- [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/)
|
- [caddy mtls](https://www.reddit.com/r/selfhosted/comments/shvkkb/reverse_proxy_client_certificates_for_dummies/)
|
||||||
|
|
||||||
|
|
||||||
## certs.sh
|
## certs.sh
|
||||||
```
|
```sh
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
IP="your_lan_ip"
|
IP="your_lan_ip"
|
||||||
@ -54,27 +51,24 @@ generate_client
|
|||||||
```
|
```
|
||||||
|
|
||||||
## v3.ext
|
## v3.ext
|
||||||
```
|
```ini
|
||||||
subjectKeyIdentifier = hash
|
subjectKeyIdentifier = hash
|
||||||
|
|
||||||
authorityKeyIdentifier = keyid:always,issuer:always
|
authorityKeyIdentifier = keyid:always,issuer:always
|
||||||
|
|
||||||
basicConstraints = CA:TRUE
|
basicConstraints = CA:TRUE
|
||||||
|
|
||||||
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign
|
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign
|
||||||
|
|
||||||
subjectAltName = DNS:mqtt.example.org, DNS:localhost
|
subjectAltName = DNS:mqtt.example.org, DNS:localhost
|
||||||
|
|
||||||
issuerAltName = issuer:copy
|
issuerAltName = issuer:copy
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## PKCS#12 cert
|
## 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
|
## config/recorder.conf
|
||||||
```
|
```ini
|
||||||
OTR_TOPICS = "owntracks/#"
|
OTR_TOPICS = "owntracks/#"
|
||||||
OTR_HTTPHOST = "0.0.0.0"
|
OTR_HTTPHOST = "0.0.0.0"
|
||||||
OTR_HOST = "your lan ip"
|
OTR_HOST = "your lan ip"
|
||||||
@ -83,7 +77,7 @@ OTR_PASS = "pass"
|
|||||||
```
|
```
|
||||||
|
|
||||||
## mosquitto/config/mosquitto.conf
|
## mosquitto/config/mosquitto.conf
|
||||||
```
|
```conf
|
||||||
persistence true
|
persistence true
|
||||||
persistence_location /mosquitto/data/
|
persistence_location /mosquitto/data/
|
||||||
listener 1883
|
listener 1883
|
||||||
@ -98,14 +92,18 @@ require_certificate true
|
|||||||
use_identity_as_username true
|
use_identity_as_username true
|
||||||
protocol websockets
|
protocol websockets
|
||||||
```
|
```
|
||||||
docker-compose.yml
|
|
||||||
|
|
||||||
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
mosquitto:
|
mosquitto:
|
||||||
image: eclipse-mosquitto:openssl
|
image: eclipse-mosquitto:openssl
|
||||||
container_name: mosquitto
|
container_name: owntracks-mosquitto
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
user: "1000:1000"
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Athens
|
||||||
ports:
|
ports:
|
||||||
- "1883:1883"
|
- "1883:1883"
|
||||||
- "8883:8883"
|
- "8883:8883"
|
||||||
@ -113,26 +111,22 @@ services:
|
|||||||
- "./mosquitto/config:/mosquitto/config"
|
- "./mosquitto/config:/mosquitto/config"
|
||||||
- "./mosquitto/data:/mosquitto/data"
|
- "./mosquitto/data:/mosquitto/data"
|
||||||
- "./mosquitto/config/passwd:/mosquitto/passwd"
|
- "./mosquitto/config/passwd:/mosquitto/passwd"
|
||||||
environment:
|
|
||||||
- TZ=Europe/Athens
|
|
||||||
user: "1000:1000"
|
|
||||||
otrecorder:
|
otrecorder:
|
||||||
image: ot-arm:latest
|
image: ot-arm:latest
|
||||||
|
container_name: owntracks-recorder
|
||||||
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- 8083:8083
|
- 8083:8083
|
||||||
volumes:
|
volumes:
|
||||||
- ./config:/config
|
- ./config:/config
|
||||||
- ./store:/store
|
- ./store:/store
|
||||||
restart: unless-stopped
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Dockerfile
|
## Dockerfile
|
||||||
```
|
```Dockerfile
|
||||||
FROM alpine:3.16 AS builder
|
FROM alpine:3.16 AS builder
|
||||||
|
|
||||||
ARG RECORDER_VERSION=0.9.3
|
ARG RECORDER_VERSION=0.9.3
|
||||||
# ARG RECORDER_VERSION=master
|
|
||||||
|
|
||||||
RUN apk add --no-cache \
|
RUN apk add --no-cache \
|
||||||
make \
|
make \
|
||||||
gcc \
|
gcc \
|
||||||
@ -155,9 +149,7 @@ RUN make -j $(nprocs)
|
|||||||
RUN make install DESTDIR=/app
|
RUN make install DESTDIR=/app
|
||||||
|
|
||||||
FROM alpine:3.16
|
FROM alpine:3.16
|
||||||
|
|
||||||
VOLUME ["/store", "/config"]
|
VOLUME ["/store", "/config"]
|
||||||
|
|
||||||
RUN apk add --no-cache \
|
RUN apk add --no-cache \
|
||||||
curl \
|
curl \
|
||||||
jq \
|
jq \
|
||||||
@ -188,62 +180,55 @@ ENV OTR_TOPIC="owntracks/#"
|
|||||||
ENTRYPOINT ["/usr/sbin/entrypoint.sh"]
|
ENTRYPOINT ["/usr/sbin/entrypoint.sh"]
|
||||||
```
|
```
|
||||||
|
|
||||||
## basic auth
|
## Basic auth
|
||||||
`docker exec -it --user root mosquitto mosquitto_passwd -c /mosquitto/passwd/pass username`
|
```sh
|
||||||
|
docker exec -it --user root mosquitto mosquitto_passwd -c /mosquitto/passwd/pass username
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## android app settings
|
## Android app settings
|
||||||
```
|
```
|
||||||
Connection:
|
Connection:
|
||||||
|
|
||||||
mode mqtt
|
mode mqtt
|
||||||
|
|
||||||
host mqtt.example.org
|
host mqtt.example.org
|
||||||
|
|
||||||
Port 8883 (open port on router)
|
Port 8883 (open port on router)
|
||||||
|
|
||||||
Client ID random name
|
Client ID random name
|
||||||
|
|
||||||
Websockets toggle enabled
|
Websockets toggle enabled
|
||||||
|
|
||||||
Identification:
|
Identification:
|
||||||
|
|
||||||
Username random name (will be displayed on recorder ui)
|
Username random name (will be displayed on recorder ui)
|
||||||
|
|
||||||
Password empty
|
Password empty
|
||||||
|
|
||||||
Device ID random name
|
Device ID random name
|
||||||
|
|
||||||
Tracker ID random name
|
Tracker ID random name
|
||||||
|
|
||||||
Security:
|
Security:
|
||||||
|
|
||||||
TLS enabled
|
TLS enabled
|
||||||
|
|
||||||
select client cert under preferences>connection>security
|
select client cert under preferences>connection>security
|
||||||
|
|
||||||
CA cert empty (installed the ca.crt in the device user store)
|
CA cert empty (installed the ca.crt in the device user store)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Caddy certs
|
## Caddy certs
|
||||||
|
|
||||||
Request a new key and crt
|
```sh
|
||||||
`openssl req -x509 -newkey rsa:4096 -keyout cert_name.key -out cert_name.crt -days 365`
|
# 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
|
# Request a new certificate signing request
|
||||||
`openssl req -new -key cert_name.key -out cert_name.CSR`
|
openssl req -new -key cert_name.key -out cert_name.CSR
|
||||||
|
|
||||||
Request a new certificate authority
|
# Request a new certificate authority
|
||||||
`openssl x509 -req -days 365 -in cert_name.csr -signkey cert_name.key -out cert_name-CA.crt`
|
openssl x509 -req -days 365 -in cert_name.csr -signkey cert_name.key -out cert_name-CA.crt
|
||||||
|
|
||||||
Create a pem certificate
|
# Create a pem certificate
|
||||||
`cat cert_name.crt cert_name.key > cert_name.pem`
|
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
|
## /etc/caddy/Caddyfile
|
||||||
```
|
```Caddyfile
|
||||||
#cert directive
|
#cert directive
|
||||||
(fancy_name) {
|
(fancy_name) {
|
||||||
tls {
|
tls {
|
||||||
@ -257,8 +242,8 @@ Create a pkcs12 certificate
|
|||||||
|
|
||||||
#owntracks
|
#owntracks
|
||||||
owntracks.example.org {
|
owntracks.example.org {
|
||||||
import fancy_name
|
import fancy_name
|
||||||
reverse_proxy localhost:8083
|
reverse_proxy localhost:8083
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -283,69 +268,68 @@ ghash last monitor rec
|
|||||||
data.mdb lock.mdb
|
data.mdb lock.mdb
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Tips & Tricks
|
## Tips & Tricks
|
||||||
|
|
||||||
#### create the certificates for mosquitto and owntracks android app
|
#### 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
|
#### 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
|
This is mantatory this will be the allowed domain for this certificate
|
||||||
|
|
||||||
Place ext file on the same dir with the script
|
Place ext file on the same dir with the script
|
||||||
|
|
||||||
|
|
||||||
#### pkcs12 bundle
|
#### pkcs12 bundle
|
||||||
|
1. Transfer ca.crt and cert.p12 on android device
|
||||||
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
|
||||||
Install ca.crt on android>settings>security>encryption>install a certificate>ca certificate
|
|
||||||
|
|
||||||
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
|
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
|
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
|
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
|
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
|
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
|
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/
|
Copy cert_name-CA.crt and cert_name.crt to /var/lib/caddy/cert/
|
||||||
|
|
||||||
#### domains
|
|
||||||
|
|
||||||
|
#### domains
|
||||||
We used two domains
|
We used two domains
|
||||||
One for publishing mqtt location messages from android to mosquitto (mqtt.example.org)
|
- 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 accessing the recorder webui with our browser (owntracks.e.ample.org)
|
||||||
|
|
||||||
|
|
||||||
#### certificates
|
#### certificates
|
||||||
|
- We installed two certificates on the android certificate store
|
||||||
We installed two certificates on the android certificate store
|
- The certificate authority for the mosquitto client cert ca.crt
|
||||||
The certificate authority for the mosquitto client cert ca.crt
|
- The caddy client certificate cert_name.p12
|
||||||
The caddy client certificate cert_name.p12
|
- We selected the mosquitto client cert from within the owntracks app cert.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 created two certificate authorities. The caddy directive "fancy_name" can be imported for other services that you reverse proxy with caddy also
|
|
||||||
|
|
||||||
|
|
||||||
#### Launch
|
#### Launch
|
||||||
|
- You can view your location history visiting 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)
|
||||||
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)
|
|
||||||
|
@ -31,7 +31,6 @@ In `traccar.xml` file update the following section:
|
|||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
traccar-db:
|
traccar-db:
|
||||||
image: yobasystems/alpine-mariadb
|
image: yobasystems/alpine-mariadb
|
||||||
|
@ -9,7 +9,6 @@ An account with a compatible VPN provider is required.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
gluetun:
|
gluetun:
|
||||||
image: qmcgaw/gluetun
|
image: qmcgaw/gluetun
|
||||||
@ -37,7 +36,6 @@ services:
|
|||||||
|
|
||||||
and then - in the corresponding service `docker-compose.yml`, e.g.:
|
and then - in the corresponding service `docker-compose.yml`, e.g.:
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
jackett:
|
jackett:
|
||||||
image: ghcr.io/linuxserver/jackett
|
image: ghcr.io/linuxserver/jackett
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
windows:
|
windows:
|
||||||
image: dockurr/windows
|
image: dockurr/windows
|
||||||
|
@ -68,8 +68,6 @@ workerTimeOut=1800
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: '2.1'
|
|
||||||
services:
|
services:
|
||||||
proxy:
|
proxy:
|
||||||
image: reallibrephotos/librephotos-proxy:${tag}
|
image: reallibrephotos/librephotos-proxy:${tag}
|
||||||
@ -144,6 +142,8 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Tips & tricks
|
## Tips & tricks
|
||||||
|
|
||||||
### Librephotos backup/restore
|
### Librephotos backup/restore
|
||||||
|
@ -98,7 +98,6 @@ http {
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
lychee_db:
|
lychee_db:
|
||||||
container_name: lychee_db
|
container_name: lychee_db
|
||||||
|
@ -10,7 +10,6 @@ Personal Photo Management powered by Go and Google TensorFlow.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
version: '3.3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
photoprism:
|
photoprism:
|
||||||
|
@ -15,8 +15,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
version: "3.7"
|
|
||||||
services:
|
services:
|
||||||
photostructure:
|
photostructure:
|
||||||
image: photostructure/server
|
image: photostructure/server
|
||||||
|
@ -9,7 +9,6 @@ Photo gallery for self-hosted personal servers.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: mariadb
|
image: mariadb
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
pigallery2:
|
pigallery2:
|
||||||
image: bpatrik/pigallery2:latest
|
image: bpatrik/pigallery2:latest
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
piwigo:
|
piwigo:
|
||||||
image: linuxserver/piwigo
|
image: linuxserver/piwigo
|
||||||
|
@ -14,7 +14,6 @@ First create `.env` file like this one: https://github.com/pixelfed/pixelfed/blo
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
image: pixelfed
|
image: pixelfed
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
jira:
|
jira:
|
||||||
image: atlassian/jira-software
|
image: atlassian/jira-software
|
||||||
|
@ -12,7 +12,6 @@ Full-featured & complicated.
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
openproject:
|
openproject:
|
||||||
image: openproject/community
|
image: openproject/community
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
planka:
|
planka:
|
||||||
image: meltyshev/planka:latest
|
image: meltyshev/planka:latest
|
||||||
|
@ -10,7 +10,6 @@ Probably the best of the ones tested. A good balance between features & complexi
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
wekandb:
|
wekandb:
|
||||||
image: mongo:latest
|
image: mongo:latest
|
||||||
|
@ -11,7 +11,6 @@ The config files below, will use a file-storage for users, because it's simpler
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
version: '3.3'
|
|
||||||
networks:
|
networks:
|
||||||
net:
|
net:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
image: 'jc21/nginx-proxy-manager:latest'
|
image: 'jc21/nginx-proxy-manager:latest'
|
||||||
|
@ -18,7 +18,6 @@ The new version adds a UI for managing filters. The UI "borrows" the css & javas
|
|||||||
|
|
||||||
## docker-compose.yml
|
## docker-compose.yml
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
miniflux-filter:
|
miniflux-filter:
|
||||||
image: tborychowski/miniflux-filter:latest
|
image: tborychowski/miniflux-filter:latest
|
||||||
|
@ -9,7 +9,6 @@ RSS-Bridge is a PHP project capable of generating RSS and Atom feeds for website
|
|||||||
# docker-compose.yml
|
# docker-compose.yml
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
---
|
|
||||||
services:
|
services:
|
||||||
rss-bridge:
|
rss-bridge:
|
||||||
image: rssbridge/rss-bridge:latest
|
image: rssbridge/rss-bridge:latest
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user