From 13a06c60bb80c4582f5e4c879abcd3b7265c3abe Mon Sep 17 00:00:00 2001 From: SweetId <2630750+SweetId@users.noreply.github.com> Date: Sat, 17 Feb 2024 17:17:15 -0500 Subject: [PATCH] add Homepage and configure services for discovery --- Authentik/docker-compose.yaml | 10 ++++++++++ Authentik/stack.env | 3 ++- Homepage/docker-compose.yaml | 10 ++++++++++ Homepage/stack.env | 5 +++++ Immich/docker-compose.yaml | 9 +++++++++ Immich/stack.env | 1 + Jellyfin/docker-compose.yaml | 11 +++++++++++ Jellyfin/stack.env | 1 + Nextcloud/docker-compose.yaml | 10 ++++++++++ Nextcloud/stack.env | 3 +++ 10 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 Homepage/docker-compose.yaml create mode 100644 Homepage/stack.env diff --git a/Authentik/docker-compose.yaml b/Authentik/docker-compose.yaml index ca60700..5d40edc 100644 --- a/Authentik/docker-compose.yaml +++ b/Authentik/docker-compose.yaml @@ -69,6 +69,16 @@ services: - traefik.http.services.authentik-secure.loadbalancer.server.port=9000 - traefik.docker.network=proxy + + - homepage.group=Cloud + - homepage.name=Authentik + - homepage.icon=authentik.png + - homepage.href=https://${AUTHENTIK_URL} + - homepage.description=Authentification and User management + - homepage.widget.type=authentik + - homepage.widget.url=https://${AUTHENTIK_URL} + - homepage.widget.key=${AUTHENTIK_API_KEY} + worker: image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2023.10.7} restart: unless-stopped diff --git a/Authentik/stack.env b/Authentik/stack.env index b137c7a..1116566 100644 --- a/Authentik/stack.env +++ b/Authentik/stack.env @@ -4,4 +4,5 @@ AUTHENTIK_ERROR_REPORTING__ENABLED=true AUTHENTIK_PORT_HTTP=9000 AUTHENTIK_PORT_HTTPS=9443 -AUTHENTIK_URL=auth.example.com \ No newline at end of file +AUTHENTIK_URL=auth.example.com +AUTHENTIK_API_KEY=YourApiKey \ No newline at end of file diff --git a/Homepage/docker-compose.yaml b/Homepage/docker-compose.yaml new file mode 100644 index 0000000..7bf8dea --- /dev/null +++ b/Homepage/docker-compose.yaml @@ -0,0 +1,10 @@ +version: "3.3" +services: + homepage: + image: ghcr.io/gethomepage/homepage:latest + container_name: homepage + ports: + - ${HOMEPAGE_HTTP_PORT}:3000 + volumes: + - ${HOMEPAGE_DIR}:/app/config # Make sure your local config directory exists + - /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations \ No newline at end of file diff --git a/Homepage/stack.env b/Homepage/stack.env new file mode 100644 index 0000000..7d41844 --- /dev/null +++ b/Homepage/stack.env @@ -0,0 +1,5 @@ +HOMEPAGE_DIR=/path/to/homepage +HOMEPAGE_HTTP_PORT=3000 + +HOMEPAGE_PUID=1000 +HOMEPAGE_PGID=1000 \ No newline at end of file diff --git a/Immich/docker-compose.yaml b/Immich/docker-compose.yaml index 047932a..4f23875 100644 --- a/Immich/docker-compose.yaml +++ b/Immich/docker-compose.yaml @@ -48,6 +48,15 @@ services: - traefik.docker.network=proxy + - homepage.group=Media + - homepage.name=Immich + - homepage.icon=immich.png + - homepage.href=${IMMICH_URL} + - homepage.description=Photo gallery + - homepage.widget.type=immich + - homepage.widget.url=${IMMICH_URL} + - homepage.widget.key=${IMMICH_API_KEY} + immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} diff --git a/Immich/stack.env b/Immich/stack.env index 19a8430..496a6ec 100644 --- a/Immich/stack.env +++ b/Immich/stack.env @@ -4,6 +4,7 @@ IMMICH_PORT_HTTPS=443 IMMICH_URL=immich.example.com IMMICH_EXTERNAL_DIR=/path/to/external/libraries IMMICH_UPLOAD_DIR=/path/to/immich/upload +IMMICH_API_KEY=YourApiKey IMMICH_VERSION=release DB_PASSWORD=YOUR_DB_PASSWORD diff --git a/Jellyfin/docker-compose.yaml b/Jellyfin/docker-compose.yaml index 76f1863..3a5d987 100644 --- a/Jellyfin/docker-compose.yaml +++ b/Jellyfin/docker-compose.yaml @@ -32,3 +32,14 @@ services: - traefik.http.services.jellyfin-secure.loadbalancer.server.port=8096 - traefik.docker.network=proxy + + - homepage.group=Media + - homepage.name=Jellyfin + - homepage.icon=jellyfin.png + - homepage.href=${JELLYFIN_URL} + - homepage.description=Movies + - homepage.widget.type=jellyfin + - homepage.widget.url=${JELLYFIN_URL} + - homepage.widget.key=${JELLYFIN_API_KEY} + - homepage.widget.enableBlocks=true + - homepage.widget.enableNowPlaying=false diff --git a/Jellyfin/stack.env b/Jellyfin/stack.env index 005df5e..d06ea5b 100644 --- a/Jellyfin/stack.env +++ b/Jellyfin/stack.env @@ -1,6 +1,7 @@ JELLYFIN_PORT_HTTP=8096 JELLYFIN_PORT_HTTPS=8920 JELLYFIN_URL=jellyfin.example.com +JELLYFIN_API_KEY=YourApiKey JELLYFIN_DIR=/path/to/jelly JELLYFIN_MEDIA_DIR=/path/to/media diff --git a/Nextcloud/docker-compose.yaml b/Nextcloud/docker-compose.yaml index e4fa2c4..12ddabf 100644 --- a/Nextcloud/docker-compose.yaml +++ b/Nextcloud/docker-compose.yaml @@ -45,6 +45,16 @@ services: - traefik.docker.network=proxy + - homepage.group=Cloud + - homepage.name=Nextcloud + - homepage.icon=nextcloud.png + - homepage.href=https://${NEXTCLOUD_URL} + - homepage.description=Personnal cloud + - homepage.widget.type=nextcloud + - homepage.widget.url=https://${NEXTCLOUD_URL} + - homepage.widget.username=${NEXTCLOUD_API_USERNAME} + - homepage.widget.password=${NEXTCLOUD_API_PASSWORD} + aio-database: image: nextcloud/aio-postgresql:latest init: true diff --git a/Nextcloud/stack.env b/Nextcloud/stack.env index e4842ba..2e48962 100644 --- a/Nextcloud/stack.env +++ b/Nextcloud/stack.env @@ -5,6 +5,9 @@ NEXTCLOUD_DOCKER_DIR=/path/to/nextcloud NEXTCLOUD_DATA_DIR=/path/to/users/data NEXTCLOUD_TRUSTED_CACERTS_DIR=./certificates +NEXTCLOUD_API_USERNAME=YourApiUsername +NEXTCLOUD_API_PASSWORD=YourApiPassword + ADMIN_USER=admin ADMIN_PASSWORD=YOUR_ADMIN_PASSWORD