From 64b9ffba30997dca79874d626a0627bdbe4bdf51 Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Fri, 11 Nov 2022 20:33:58 +0100 Subject: [PATCH] feat: expose all apps --- .gitignore | 1 + apps/adguard/config.json | 12 ++++------ apps/adguard/docker-compose.yml | 7 ++++++ apps/bazarr/config.json | 10 ++++---- apps/bazarr/docker-compose.yml | 7 ++++++ apps/booksonic/config.json | 3 ++- apps/booksonic/docker-compose.yml | 7 ++++++ apps/bookstack/config.json | 7 +++--- apps/bookstack/docker-compose.yml | 7 ++++++ apps/calibre-web/config.json | 7 +++--- apps/calibre-web/docker-compose.yml | 7 ++++++ apps/code-server/config.json | 7 +++--- apps/code-server/docker-compose.yml | 7 ++++++ apps/filebrowser/config.json | 3 ++- apps/filebrowser/docker-compose.yml | 7 ++++++ apps/firefly-iii/config.json | 3 ++- apps/firefly-iii/docker-compose.yml | 7 ++++++ apps/freshrss/config.json | 4 +--- apps/freshrss/docker-compose.yml | 10 +------- apps/gitea/config.json | 9 ++++---- apps/gitea/docker-compose.yml | 13 ++++++++--- apps/haven/config.json | 2 +- apps/homarr/config.json | 9 ++++---- apps/homarr/docker-compose.yml | 9 +++++++- apps/jackett/config.json | 10 ++++---- apps/jackett/docker-compose.yml | 9 +++++++- apps/jellyfin/config.json | 8 +++---- apps/jellyfin/docker-compose.yml | 2 +- apps/joplin/config.json | 8 +++---- apps/joplin/docker-compose.yml | 3 ++- apps/librephotos/config.json | 11 +++------ apps/librephotos/docker-compose.yml | 7 ++++++ apps/libretranslate/config.json | 6 ++--- apps/libretranslate/docker-compose.yml | 2 +- apps/mealie/config.json | 3 ++- apps/mealie/docker-compose.yml | 9 +++++++- apps/n8n/config.json | 7 +++--- apps/n8n/docker-compose.yml | 7 ++++++ apps/nodered/config.json | 7 +++--- apps/nodered/docker-compose.yml | 9 +++++++- apps/overseerr/config.json | 8 +++---- apps/overseerr/docker-compose.yml | 7 ++++++ apps/pihole/config.json | 5 ++-- apps/pihole/docker-compose.yml | 20 ++++++---------- apps/portainer/config.json | 7 +++--- apps/portainer/docker-compose.yml | 11 +++++++-- apps/prowlarr/config.json | 3 ++- apps/prowlarr/docker-compose.yml | 7 ++++++ apps/proxitok/config.json | 3 ++- apps/proxitok/docker-compose.yml | 9 +++++++- apps/radarr/config.json | 8 +++---- apps/radarr/docker-compose.yml | 7 ++++++ apps/readarr/config.json | 3 ++- apps/readarr/docker-compose.yml | 7 ++++++ apps/resilio-sync/docker-compose.yml | 9 +++++++- apps/searxng/config.json | 4 ++-- apps/searxng/docker-compose.yml | 2 +- apps/sonarr/config.json | 8 +++---- apps/sonarr/docker-compose.yml | 7 ++++++ apps/syncthing/config.json | 8 +++---- apps/syncthing/docker-compose.yml | 7 ++++++ apps/tautulli/config.json | 8 +++---- apps/tautulli/docker-compose.yml | 9 +++++++- apps/transmission/config.json | 3 ++- apps/transmission/docker-compose.yml | 7 ++++++ apps/wg-easy/config.json | 3 ++- apps/wg-easy/docker-compose.yml | 9 +++++++- apps/your-spotify/config.json | 3 ++- apps/your-spotify/docker-compose.yml | 32 ++++++++++++++++---------- 69 files changed, 327 insertions(+), 170 deletions(-) diff --git a/.gitignore b/.gitignore index 504afef8..5e3c552a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules/ package-lock.json +github.secrets diff --git a/apps/adguard/config.json b/apps/adguard/config.json index de5637bb..8b490e34 100644 --- a/apps/adguard/config.json +++ b/apps/adguard/config.json @@ -2,22 +2,18 @@ "$schema": "../schema.json", "name": "Adguard", "available": true, - "tipi_version": 4, + "exposable": true, + "tipi_version": 5, "version": "0.107.18", "port": 8104, "id": "adguard", - "categories": [ - "network", - "security" - ], + "categories": ["network", "security"], "description": "Adguard is the best way to get rid of annoying ads and online tracking and protect your computer from malware. Make your web surfing fast, safe and ad-free.", "short_desc": "World's most advanced adblocker!", "author": "AdguardTeam", "source": "https://github.com/AdguardTeam", "requirements": { - "ports": [ - 53 - ] + "ports": [53] }, "form_fields": [ { diff --git a/apps/adguard/docker-compose.yml b/apps/adguard/docker-compose.yml index 0701c9d8..4209589c 100644 --- a/apps/adguard/docker-compose.yml +++ b/apps/adguard/docker-compose.yml @@ -14,3 +14,10 @@ services: - ${NETWORK_INTERFACE:-0.0.0.0}:53:53/tcp - ${NETWORK_INTERFACE:-0.0.0.0}:53:53/udp - ${APP_PORT}:80 + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.adguard.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.adguard.entrypoints: websecure + traefik.http.routers.adguard.service: adguard + traefik.http.routers.adguard.tls.certresolver: myresolver + traefik.http.services.adguard.loadbalancer.server.port: 80 diff --git a/apps/bazarr/config.json b/apps/bazarr/config.json index c7eec019..08d774c0 100644 --- a/apps/bazarr/config.json +++ b/apps/bazarr/config.json @@ -2,16 +2,14 @@ "$schema": "../schema.json", "name": "Bazarr", "available": true, + "exposable": true, "port": 6767, "id": "bazarr", - "tipi_version": 2, + "tipi_version": 3, "version": "1.1.2", - "categories": [ - "media", - "utilities" - ], + "categories": ["media", "utilities"], "description": "Bazarr is a companion application to Sonarr and Radarr that manages and downloads subtitles based on your requirements.", - "short_desc": "A companion application to Sonarr and Radarr that manages and downloads subtitles" , + "short_desc": "A companion application to Sonarr and Radarr that manages and downloads subtitles", "author": "morpheus65535", "source": "https://github.com/morpheus65535/bazarr", "form_fields": [] diff --git a/apps/bazarr/docker-compose.yml b/apps/bazarr/docker-compose.yml index 04bb966b..c4886aa9 100644 --- a/apps/bazarr/docker-compose.yml +++ b/apps/bazarr/docker-compose.yml @@ -18,3 +18,10 @@ services: restart: unless-stopped networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.bazarr.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.bazarr.entrypoints: websecure + traefik.http.routers.bazarr.service: bazarr + traefik.http.routers.bazarr.tls.certresolver: myresolver + traefik.http.services.bazarr.loadbalancer.server.port: 6767 diff --git a/apps/booksonic/config.json b/apps/booksonic/config.json index 3278fdd6..7d3eea2e 100644 --- a/apps/booksonic/config.json +++ b/apps/booksonic/config.json @@ -2,8 +2,9 @@ "$schema": "../schema.json", "name": "Booksonic", "available": true, + "exposable": true, "port": 8040, - "tipi_version": 2, + "tipi_version": 3, "version": "latest", "id": "booksonic", "categories": ["books", "media"], diff --git a/apps/booksonic/docker-compose.yml b/apps/booksonic/docker-compose.yml index ddc345f9..b42e1792 100644 --- a/apps/booksonic/docker-compose.yml +++ b/apps/booksonic/docker-compose.yml @@ -16,4 +16,11 @@ services: restart: unless-stopped networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.booksonic.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.booksonic.entrypoints: websecure + traefik.http.routers.booksonic.service: booksonic + traefik.http.routers.booksonic.tls.certresolver: myresolver + traefik.http.services.booksonic.loadbalancer.server.port: 4040 \ No newline at end of file diff --git a/apps/bookstack/config.json b/apps/bookstack/config.json index a3745955..ed5dd51b 100644 --- a/apps/bookstack/config.json +++ b/apps/bookstack/config.json @@ -2,16 +2,15 @@ "$schema": "../schema.json", "name": "Bookstack", "available": true, + "exposable": true, "port": 8119, "id": "bookstack", - "tipi_version": 4, + "tipi_version": 5, "version": "22.10.20221021", "description": "BookStack is a simple, self-hosted, easy-to-use platform for organising and storing information. Default login: admin@admin.com password: password", "short_desc": "BookStack is a self-hosted platform for organising and storing information.", "author": "Dan Brown", - "categories": [ - "data" - ], + "categories": ["data"], "website": "https://www.bookstackapp.com/", "source": "https://github.com/BookStackApp/BookStack", "form_fields": [ diff --git a/apps/bookstack/docker-compose.yml b/apps/bookstack/docker-compose.yml index 409d93e1..cd5f70e7 100644 --- a/apps/bookstack/docker-compose.yml +++ b/apps/bookstack/docker-compose.yml @@ -20,6 +20,13 @@ services: - bookstack-db networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.bookstack.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.bookstack.entrypoints: websecure + traefik.http.routers.bookstack.service: bookstack + traefik.http.routers.bookstack.tls.certresolver: myresolver + traefik.http.services.bookstack.loadbalancer.server.port: 80 bookstack-db: image: lscr.io/linuxserver/mariadb diff --git a/apps/calibre-web/config.json b/apps/calibre-web/config.json index 1fe1856a..0bcbd813 100644 --- a/apps/calibre-web/config.json +++ b/apps/calibre-web/config.json @@ -2,13 +2,12 @@ "$schema": "../schema.json", "name": "Calibre-Web - EBook Reader", "available": true, + "exposable": true, "port": 8100, - "tipi_version": 2, + "tipi_version": 3, "version": "0.6.19", "id": "calibre-web", - "categories": [ - "books" - ], + "categories": ["books"], "description": "On the initial setup screen, enter /books as your calibre library location. \n Default admin login: Username: admin Password: admin123", "short_desc": "Calibre-web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.", "author": "https://github.com/janeczku/", diff --git a/apps/calibre-web/docker-compose.yml b/apps/calibre-web/docker-compose.yml index fdb4ecb0..fd4b4f51 100644 --- a/apps/calibre-web/docker-compose.yml +++ b/apps/calibre-web/docker-compose.yml @@ -15,3 +15,10 @@ services: restart: unless-stopped networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.calibre-web.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.calibre-web.entrypoints: websecure + traefik.http.routers.calibre-web.service: calibre-web + traefik.http.routers.calibre-web.tls.certresolver: myresolver + traefik.http.services.calibre-web.loadbalancer.server.port: 8083 diff --git a/apps/code-server/config.json b/apps/code-server/config.json index e84d662a..be419eb7 100644 --- a/apps/code-server/config.json +++ b/apps/code-server/config.json @@ -2,13 +2,12 @@ "$schema": "../schema.json", "name": "Code-Server - Web VS Code", "available": true, + "exposable": true, "port": 8101, "id": "code-server", - "tipi_version": 3, + "tipi_version": 4, "version": "4.8.0", - "categories": [ - "development" - ], + "categories": ["development"], "description": "", "short_desc": "Code-server is VS Code running on a remote server, accessible through the browser.", "author": "https://github.com/coder", diff --git a/apps/code-server/docker-compose.yml b/apps/code-server/docker-compose.yml index 647c368c..d8b012b4 100644 --- a/apps/code-server/docker-compose.yml +++ b/apps/code-server/docker-compose.yml @@ -17,3 +17,10 @@ services: restart: unless-stopped networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.code-server.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.code-server.entrypoints: websecure + traefik.http.routers.code-server.service: code-server + traefik.http.routers.code-server.tls.certresolver: myresolver + traefik.http.services.code-server.loadbalancer.server.port: 8443 diff --git a/apps/filebrowser/config.json b/apps/filebrowser/config.json index d357c030..1e7bab8e 100644 --- a/apps/filebrowser/config.json +++ b/apps/filebrowser/config.json @@ -2,9 +2,10 @@ "$schema": "../schema.json", "name": "File Browser", "available": true, + "exposable": true, "port": 8096, "id": "filebrowser", - "tipi_version": 1, + "tipi_version": 2, "version": "s6", "categories": ["utilities"], "description": "Reliable and Performant File Management Desktop Sync and File Sharing\n Default credentials: admin / admin", diff --git a/apps/filebrowser/docker-compose.yml b/apps/filebrowser/docker-compose.yml index 5e1d0cf1..f062502d 100644 --- a/apps/filebrowser/docker-compose.yml +++ b/apps/filebrowser/docker-compose.yml @@ -15,3 +15,10 @@ services: - ${APP_DATA_DIR}/data/config:/config networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.filebrowser.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.filebrowser.entrypoints: websecure + traefik.http.routers.filebrowser.service: filebrowser + traefik.http.routers.filebrowser.tls.certresolver: myresolver + traefik.http.services.filebrowser.loadbalancer.server.port: 80 diff --git a/apps/firefly-iii/config.json b/apps/firefly-iii/config.json index 44909866..89c6e157 100644 --- a/apps/firefly-iii/config.json +++ b/apps/firefly-iii/config.json @@ -2,8 +2,9 @@ "$schema": "../schema.json", "name": "Firefly III", "available": true, + "exposable": true, "port": 8115, - "tipi_version": 2, + "tipi_version": 3, "version": "version-5.7.11", "id": "firefly-iii", "categories": ["finance"], diff --git a/apps/firefly-iii/docker-compose.yml b/apps/firefly-iii/docker-compose.yml index f6546f5e..44369aa8 100644 --- a/apps/firefly-iii/docker-compose.yml +++ b/apps/firefly-iii/docker-compose.yml @@ -42,6 +42,13 @@ services: - APP_URL=http://localhost:${APP_PORT} networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.firefly-iii.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.firefly-iii.entrypoints: websecure + traefik.http.routers.firefly-iii.service: firefly-iii + traefik.http.routers.firefly-iii.tls.certresolver: myresolver + traefik.http.services.firefly-iii.loadbalancer.server.port: 8080 firefly-iii-db: container_name: firefly-iii-db diff --git a/apps/freshrss/config.json b/apps/freshrss/config.json index 62f73c2b..c73cd4d6 100644 --- a/apps/freshrss/config.json +++ b/apps/freshrss/config.json @@ -7,9 +7,7 @@ "id": "freshrss", "tipi_version": 3, "version": "1.20.0", - "categories": [ - "utilities" - ], + "categories": ["utilities"], "description": "FreshRSS is a self-hosted RSS feed aggregator like Leed or Kriss Feed.\nIt is lightweight, easy to work with, powerful, and customizable.\n\nIt is a multi-user application with an anonymous reading mode. It supports custom tags. There is an API for (mobile) clients, and a Command-Line Interface.\n\nThanks to the WebSub standard (formerly PubSubHubbub), FreshRSS is able to receive instant push notifications from compatible sources, such as Mastodon, Friendica, WordPress, Blogger, FeedBurner, etc.\n\nFreshRSS natively supports basic Web scraping, based on XPath, for Web sites not providing any RSS / Atom feed.\n\nFinally, it supports extensions for further tuning.", "short_desc": "A free, self-hostable aggregator… ", "author": "https://freshrss.org/", diff --git a/apps/freshrss/docker-compose.yml b/apps/freshrss/docker-compose.yml index a454c665..aefb4b69 100644 --- a/apps/freshrss/docker-compose.yml +++ b/apps/freshrss/docker-compose.yml @@ -21,12 +21,4 @@ services: traefik.http.routers.freshrss.entrypoints: websecure traefik.http.routers.freshrss.service: freshrss traefik.http.routers.freshrss.tls.certresolver: myresolver - traefik.http.services.freshrss.loadbalancer.server.port: 80 - - # labels: - # traefik.enable: true - # traefik.http.routers.freshrss.rule: Host(`freshrss.tipi.home`) - # traefik.http.routers.freshrss.service: freshrss - # traefik.http.routers.freshrss.tls: true - # traefik.http.routers.freshrss.entrypoints: websecure - # traefik.http.services.freshrss.loadbalancer.server.port: 80 + traefik.http.services.freshrss.loadbalancer.server.port: 80 \ No newline at end of file diff --git a/apps/gitea/config.json b/apps/gitea/config.json index 2f996bc2..b78aca55 100644 --- a/apps/gitea/config.json +++ b/apps/gitea/config.json @@ -3,12 +3,11 @@ "name": "Gitea", "port": 8108, "available": true, + "exposable": true, "id": "gitea", - "tipi_version": 2, - "version": "1.17.2", - "categories": [ - "development" - ], + "tipi_version": 3, + "version": "1.17.3", + "categories": ["development"], "description": "Gitea is a painless self-hosted Git service. It is similar to GitHub, Bitbucket, and GitLab. Gitea is a fork of Gogs. See the Gitea Announcement blog post to read about the justification for a fork.", "short_desc": "Gitea - Git with a cup of tea · A painless self-hosted Git service. · Cross-platform · Easy to install · Lightweight · Open Source.", "author": "go-gitea", diff --git a/apps/gitea/docker-compose.yml b/apps/gitea/docker-compose.yml index 60461290..606706b2 100644 --- a/apps/gitea/docker-compose.yml +++ b/apps/gitea/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: gitea: - image: gitea/gitea:1.17.2 + image: gitea/gitea:1.17.3 container_name: gitea environment: - USER_UID=1000 @@ -13,8 +13,6 @@ services: - GITEA__database__USER=gitea - GITEA__database__PASSWD=gitea restart: unless-stopped - networks: - - tipi_main_network volumes: - ${APP_DATA_DIR}/data/gitea:/data ports: @@ -22,6 +20,15 @@ services: - "222:22" depends_on: - gitea-db + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.gitea.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.gitea.entrypoints: websecure + traefik.http.routers.gitea.service: gitea + traefik.http.routers.gitea.tls.certresolver: myresolver + traefik.http.services.gitea.loadbalancer.server.port: 3000 gitea-db: container_name: gitea-db diff --git a/apps/haven/config.json b/apps/haven/config.json index 38085bc3..116e3acd 100644 --- a/apps/haven/config.json +++ b/apps/haven/config.json @@ -2,9 +2,9 @@ "$schema": "../schema.json", "name": "Haven", "available": true, + "exposable": true, "port": 8130, "id": "haven", - "exposable": true, "tipi_version": 1, "version": "a0280ce", "categories": ["social"], diff --git a/apps/homarr/config.json b/apps/homarr/config.json index 2648f3c1..a43cc1a0 100644 --- a/apps/homarr/config.json +++ b/apps/homarr/config.json @@ -2,13 +2,12 @@ "$schema": "../schema.json", "name": "Homarr", "available": true, + "exposable": true, "port": 8102, "id": "homarr", - "tipi_version": 3, - "version": "0.10.2", - "categories": [ - "utilities" - ], + "tipi_version": 4, + "version": "0.10.3", + "categories": ["utilities"], "description": "A homepage for your server.", "short_desc": "Homarr is a simple and lightweight homepage for your server, that helps you easily access all of your services in one place.", "author": "ajnart", diff --git a/apps/homarr/docker-compose.yml b/apps/homarr/docker-compose.yml index c7f504f8..5067f8b1 100644 --- a/apps/homarr/docker-compose.yml +++ b/apps/homarr/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: homarr: container_name: homarr - image: ghcr.io/ajnart/homarr:0.10.2 + image: ghcr.io/ajnart/homarr:0.10.3 restart: unless-stopped volumes: - ${APP_DATA_DIR}/data/config:/app/data/configs @@ -11,3 +11,10 @@ services: - ${APP_PORT}:7575 networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.homarr.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.homarr.entrypoints: websecure + traefik.http.routers.homarr.service: homarr + traefik.http.routers.homarr.tls.certresolver: myresolver + traefik.http.services.homarr.loadbalancer.server.port: 7575 diff --git a/apps/jackett/config.json b/apps/jackett/config.json index 1d519cb4..4b40966a 100644 --- a/apps/jackett/config.json +++ b/apps/jackett/config.json @@ -2,16 +2,14 @@ "$schema": "../schema.json", "name": "Jackett", "available": true, + "exposable": true, "port": 8097, "id": "jackett", - "tipi_version": 3, - "version": "0.20.2101", + "tipi_version": 4, + "version": "0.20.2236", "description": "Jackett works as a proxy server: it translates queries from apps (Sonarr, Radarr, SickRage, CouchPotato, Mylar3, Lidarr, DuckieTV, qBittorrent, Nefarious etc.) into tracker-site-specific http queries, parses the html or json response, and then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches.", "short_desc": "API Support for your favorite torrent trackers ", - "categories": [ - "media", - "utilities" - ], + "categories": ["media", "utilities"], "author": "", "source": "https://github.com/Jackett/Jackett", "form_fields": [] diff --git a/apps/jackett/docker-compose.yml b/apps/jackett/docker-compose.yml index 881f561b..5b0824bf 100644 --- a/apps/jackett/docker-compose.yml +++ b/apps/jackett/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: jackett: - image: lscr.io/linuxserver/jackett:0.20.2101 + image: lscr.io/linuxserver/jackett:0.20.2236 container_name: jackett environment: - PUID=1000 @@ -18,3 +18,10 @@ services: restart: unless-stopped networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.jackett.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.jackett.entrypoints: websecure + traefik.http.routers.jackett.service: jackett + traefik.http.routers.jackett.tls.certresolver: myresolver + traefik.http.services.jackett.loadbalancer.server.port: 9117 diff --git a/apps/jellyfin/config.json b/apps/jellyfin/config.json index 195d0b91..df70d356 100644 --- a/apps/jellyfin/config.json +++ b/apps/jellyfin/config.json @@ -5,11 +5,9 @@ "exposable": true, "port": 8091, "id": "jellyfin", - "tipi_version": 3, - "version": "10.8.5", - "categories": [ - "media" - ], + "tipi_version": 4, + "version": "10.8.7", + "categories": ["media"], "description": "Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it. We welcome anyone who is interested in joining us in our quest!", "short_desc": "A media server for your home collection", "author": "jellyfin.org", diff --git a/apps/jellyfin/docker-compose.yml b/apps/jellyfin/docker-compose.yml index be663a19..ef0c9d1e 100644 --- a/apps/jellyfin/docker-compose.yml +++ b/apps/jellyfin/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: jellyfin: - image: lscr.io/linuxserver/jellyfin:10.8.5 + image: lscr.io/linuxserver/jellyfin:10.8.7 container_name: jellyfin volumes: - ${APP_DATA_DIR}/data/config:/config diff --git a/apps/joplin/config.json b/apps/joplin/config.json index 1f939373..1bc24764 100644 --- a/apps/joplin/config.json +++ b/apps/joplin/config.json @@ -5,11 +5,9 @@ "exposable": true, "port": 8099, "id": "joplin", - "tipi_version": 3, - "version": "2.9.5", - "categories": [ - "utilities" - ], + "tipi_version": 4, + "version": "2.9.7", + "categories": ["utilities"], "description": "Default credentials: admin@localhost / admin", "short_desc": "Note taking and to-do application with synchronisation", "author": "https://github.com/laurent22", diff --git a/apps/joplin/docker-compose.yml b/apps/joplin/docker-compose.yml index e74ace63..7f8059df 100644 --- a/apps/joplin/docker-compose.yml +++ b/apps/joplin/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: joplin: container_name: joplin - image: florider89/joplin-server:2.9.5 + image: florider89/joplin-server:2.9.7 restart: unless-stopped depends_on: - db-joplin @@ -33,6 +33,7 @@ services: traefik.http.services.joplin.loadbalancer.passhostheader: true traefik.http.middlewares.joplin-sslheader.headers.customrequestheaders.X-Forwarded-Proto: http traefik.http.routers.joplin-sslheader.middlewares: joplin-sslheader@docker + db-joplin: container_name: db-joplin image: postgres:14.2 diff --git a/apps/librephotos/config.json b/apps/librephotos/config.json index 437f290d..ab0fa362 100644 --- a/apps/librephotos/config.json +++ b/apps/librephotos/config.json @@ -5,15 +5,10 @@ "available": true, "exposable": true, "id": "librephotos", - "tipi_version": 3, + "tipi_version": 4, "version": "2022w41", - "supported_architectures": [ - "amd64", - "arm64" - ], - "categories": [ - "photography" - ], + "supported_architectures": ["amd64", "arm64"], + "categories": ["photography"], "description": "", "short_desc": "", "author": "Niaz Faridani-Rad", diff --git a/apps/librephotos/docker-compose.yml b/apps/librephotos/docker-compose.yml index 05745c5e..279c3043 100644 --- a/apps/librephotos/docker-compose.yml +++ b/apps/librephotos/docker-compose.yml @@ -15,6 +15,13 @@ services: - librephotos-frontend networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.librephotos.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.librephotos.entrypoints: websecure + traefik.http.routers.librephotos.service: librephotos + traefik.http.routers.librephotos.tls.certresolver: myresolver + traefik.http.services.librephotos.loadbalancer.server.port: 80 librephotos-db: image: postgres:14 diff --git a/apps/libretranslate/config.json b/apps/libretranslate/config.json index 807c6b7f..8efc4604 100644 --- a/apps/libretranslate/config.json +++ b/apps/libretranslate/config.json @@ -6,10 +6,8 @@ "port": 8121, "id": "libretranslate", "tipi_version": 2, - "version": "1.3.0", - "categories": [ - "utilities" - ], + "version": "1.3.1", + "categories": ["utilities"], "description": "Free and Open Source Machine Translation API, entirely self-hosted. Unlike other APIs, it doesn't rely on proprietary providers such as Google or Azure to perform translations. Instead, its translation engine is powered by the open source Argos Translate library.", "short_desc": "Free and Open Source Machine Translation API. 100% self-hosted, offline capable and easy to setup.", "author": "LibreTranslate", diff --git a/apps/libretranslate/docker-compose.yml b/apps/libretranslate/docker-compose.yml index 3eabd71b..317bf92f 100644 --- a/apps/libretranslate/docker-compose.yml +++ b/apps/libretranslate/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: libretranslate: container_name: libretranslate - image: libretranslate/libretranslate:v1.3.0 + image: libretranslate/libretranslate:v1.3.1 dns: - ${DNS_IP} ports: diff --git a/apps/mealie/config.json b/apps/mealie/config.json index b76f5c3a..9e764ea3 100644 --- a/apps/mealie/config.json +++ b/apps/mealie/config.json @@ -3,8 +3,9 @@ "name": "Mealie", "port": 8114, "available": true, + "exposable": true, "id": "mealie", - "tipi_version": 1, + "tipi_version": 2, "version": "v0.5.6", "description": "Mealie is a self-hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and Mealie will automatically import the relevant data or add a family recipe with the UI editor. Mealie also provides an API for interactions from 3rd party applications. Default username / password is changeme@email.com / MyPassword", "short_desc": "Mealie is a self-hosted recipe manager and meal planner.", diff --git a/apps/mealie/docker-compose.yml b/apps/mealie/docker-compose.yml index af1f452a..f273884d 100644 --- a/apps/mealie/docker-compose.yml +++ b/apps/mealie/docker-compose.yml @@ -12,4 +12,11 @@ services: volumes: - ${APP_DATA_DIR}/data:/app/data networks: - - tipi_main_network \ No newline at end of file + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.mealie.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.mealie.entrypoints: websecure + traefik.http.routers.mealie.service: mealie + traefik.http.routers.mealie.tls.certresolver: myresolver + traefik.http.services.mealie.loadbalancer.server.port: 80 \ No newline at end of file diff --git a/apps/n8n/config.json b/apps/n8n/config.json index 21e04daa..60279230 100644 --- a/apps/n8n/config.json +++ b/apps/n8n/config.json @@ -2,13 +2,12 @@ "$schema": "../schema.json", "name": "n8n", "available": true, + "exposable": true, "port": 8094, "id": "n8n", - "tipi_version": 7, + "tipi_version": 8, "version": "0.201.0", - "categories": [ - "automation" - ], + "categories": ["automation"], "description": "n8n is an extendable workflow automation tool. With a fair-code distribution model, n8n will always have visible source code, be available to self-host, and allow you to add your own custom functions, logic and apps. n8n's node-based approach makes it highly versatile, enabling you to connect anything to everything.", "short_desc": "Workflow Automation Tool. Alternative to Zapier", "author": "n8n.io", diff --git a/apps/n8n/docker-compose.yml b/apps/n8n/docker-compose.yml index 3b241237..871279b2 100644 --- a/apps/n8n/docker-compose.yml +++ b/apps/n8n/docker-compose.yml @@ -21,6 +21,13 @@ services: - db-n8n networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.n8n.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.n8n.entrypoints: websecure + traefik.http.routers.n8n.service: n8n + traefik.http.routers.n8n.tls.certresolver: myresolver + traefik.http.services.n8n.loadbalancer.server.port: 5678 db-n8n: container_name: db-n8n diff --git a/apps/nodered/config.json b/apps/nodered/config.json index aa7b5c6b..10a4d241 100644 --- a/apps/nodered/config.json +++ b/apps/nodered/config.json @@ -3,12 +3,11 @@ "name": "Node-RED", "port": 8111, "available": true, + "exposable": true, "id": "nodered", - "tipi_version": 2, + "tipi_version": 3, "version": "3.0.2", - "categories": [ - "automation" - ], + "categories": ["automation"], "description": "Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.", "short_desc": "Low-code programming for event-driven applications", "author": "node-red", diff --git a/apps/nodered/docker-compose.yml b/apps/nodered/docker-compose.yml index 28e3e7f9..058b9582 100644 --- a/apps/nodered/docker-compose.yml +++ b/apps/nodered/docker-compose.yml @@ -10,4 +10,11 @@ services: volumes: - ${APP_DATA_DIR}/data:/data networks: - - tipi_main_network \ No newline at end of file + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.nodered.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.nodered.entrypoints: websecure + traefik.http.routers.nodered.service: nodered + traefik.http.routers.nodered.tls.certresolver: myresolver + traefik.http.services.nodered.loadbalancer.server.port: 1880 \ No newline at end of file diff --git a/apps/overseerr/config.json b/apps/overseerr/config.json index 792cb892..84bbbd54 100644 --- a/apps/overseerr/config.json +++ b/apps/overseerr/config.json @@ -2,14 +2,12 @@ "$schema": "../schema.json", "name": "Overseerr", "available": true, + "exposable": true, "port": 8116, "id": "overseerr", - "tipi_version": 2, + "tipi_version": 3, "version": "1.30.1", - "categories": [ - "media", - "utilities" - ], + "categories": ["media", "utilities"], "description": "Overseerr is a free and open source software application for managing requests for your media library. It integrates with your existing services, such as Sonarr, Radarr, and Plex!", "short_desc": "Request management and media discovery tool for the Plex ecosystem", "author": "sct", diff --git a/apps/overseerr/docker-compose.yml b/apps/overseerr/docker-compose.yml index 304475d9..0b95cb2e 100644 --- a/apps/overseerr/docker-compose.yml +++ b/apps/overseerr/docker-compose.yml @@ -14,3 +14,10 @@ services: - ${DNS_IP} networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.overseerr.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.overseerr.entrypoints: websecure + traefik.http.routers.overseerr.service: overseerr + traefik.http.routers.overseerr.tls.certresolver: myresolver + traefik.http.services.overseerr.loadbalancer.server.port: 5055 diff --git a/apps/pihole/config.json b/apps/pihole/config.json index d8eb7b5a..51770489 100644 --- a/apps/pihole/config.json +++ b/apps/pihole/config.json @@ -2,12 +2,13 @@ "$schema": "../schema.json", "name": "Pi-hole", "available": true, + "exposable": true, "port": 8081, "requirements": { "ports": [53] }, "id": "pihole", - "tipi_version": 2, + "tipi_version": 3, "version": "2022.09.4", "categories": ["network", "security"], "description": "The Pi-hole® is a DNS sinkhole that protects your devices from unwanted content without installing any client-side software.", @@ -22,7 +23,7 @@ "min": 3, "required": true, "env_variable": "APP_PASSWORD" - }, + }, { "type": "ip", "label": "Network Interface (default: 0.0.0.0)", diff --git a/apps/pihole/docker-compose.yml b/apps/pihole/docker-compose.yml index d0bd5550..5b4ecd4f 100644 --- a/apps/pihole/docker-compose.yml +++ b/apps/pihole/docker-compose.yml @@ -1,25 +1,13 @@ version: "3.7" services: - # unbound: - # image: "klutchell/unbound" - # container_name: unbound - # restart: unless-stopped - # volumes: - # - "${APP_DATA_DIR}/data/unbound:/etc/unbound" - # networks: - # tipi_main_network: - # ipv4_address: 10.21.21.200 - pihole: - # depends_on: [unbound] container_name: pihole image: pihole/pihole:2022.09.4 restart: unless-stopped hostname: pihole dns: - 127.0.0.1 - # - 10.21.21.200 # Points to unbound ports: - ${NETWORK_INTERFACE:-0.0.0.0}:53:53/tcp - ${NETWORK_INTERFACE:-0.0.0.0}:53:53/udp @@ -30,10 +18,16 @@ services: environment: TZ: ${TZ} WEBPASSWORD: ${APP_PASSWORD} - # PIHOLE_DNS_: 10.21.21.200 # Points to unbound FTLCONF_REPLY_ADDR4: 10.21.21.201 cap_add: - NET_ADMIN networks: tipi_main_network: ipv4_address: 10.21.21.201 + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.pihole.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.pihole.entrypoints: websecure + traefik.http.routers.pihole.service: pihole + traefik.http.routers.pihole.tls.certresolver: myresolver + traefik.http.services.pihole.loadbalancer.server.port: 80 diff --git a/apps/portainer/config.json b/apps/portainer/config.json index 7f51704f..f05feeda 100644 --- a/apps/portainer/config.json +++ b/apps/portainer/config.json @@ -3,13 +3,12 @@ "name": "Portainer", "port": 9443, "available": true, + "exposable": true, "https": true, "id": "portainer", - "tipi_version": 5, + "tipi_version": 6, "version": "2.16.0-alpine", - "categories": [ - "utilities" - ], + "categories": ["utilities"], "description": "", "short_desc": "Making Docker and Kubernetes management easy.", "author": "portainer.io", diff --git a/apps/portainer/docker-compose.yml b/apps/portainer/docker-compose.yml index cef657d5..e51ce3f8 100644 --- a/apps/portainer/docker-compose.yml +++ b/apps/portainer/docker-compose.yml @@ -6,9 +6,16 @@ services: container_name: portainer restart: unless-stopped ports: - - "${APP_PORT}:9443" + - ${APP_PORT}:9443 volumes: - /var/run/docker.sock:/var/run/docker.sock - "${APP_DATA_DIR}/data:/data" networks: - - tipi_main_network \ No newline at end of file + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.portainer.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.portainer.entrypoints: websecure + traefik.http.routers.portainer.service: portainer + traefik.http.routers.portainer.tls.certresolver: myresolver + traefik.http.services.portainer.loadbalancer.server.port: 9443 \ No newline at end of file diff --git a/apps/prowlarr/config.json b/apps/prowlarr/config.json index a687407c..631a3e4f 100644 --- a/apps/prowlarr/config.json +++ b/apps/prowlarr/config.json @@ -2,9 +2,10 @@ "$schema": "../schema.json", "name": "Prowlarr", "available": true, + "exposable": true, "port": 8109, "id": "prowlarr", - "tipi_version": 1, + "tipi_version": 2, "version": "develop", "categories": ["media", "utilities"], "description": "Prowlarr is an indexer manager/proxy built on the popular *arr .net/reactjs base stack to integrate with your various PVR apps. Prowlarr supports management of both Torrent Trackers and Usenet Indexers. It integrates seamlessly with Lidarr, Mylar3, Radarr, Readarr, and Sonarr offering complete management of your indexers with no per app Indexer setup required (we do it all).", diff --git a/apps/prowlarr/docker-compose.yml b/apps/prowlarr/docker-compose.yml index 629babec..b2248623 100644 --- a/apps/prowlarr/docker-compose.yml +++ b/apps/prowlarr/docker-compose.yml @@ -14,3 +14,10 @@ services: restart: unless-stopped networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.prowlarr.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.prowlarr.entrypoints: websecure + traefik.http.routers.prowlarr.service: prowlarr + traefik.http.routers.prowlarr.tls.certresolver: myresolver + traefik.http.services.prowlarr.loadbalancer.server.port: 9696 diff --git a/apps/proxitok/config.json b/apps/proxitok/config.json index df7e57ff..211202f7 100644 --- a/apps/proxitok/config.json +++ b/apps/proxitok/config.json @@ -2,11 +2,12 @@ "$schema": "../schema.json", "name": "ProxiTok", "available": true, + "exposable": true, "port": 8118, "id": "proxitok", "categories": ["social"], "description": "", - "tipi_version": 1, + "tipi_version": 2, "version": "1.0.0", "short_desc": "Open source alternative frontend for TikTok made using PHP ", "author": "pablouser1", diff --git a/apps/proxitok/docker-compose.yml b/apps/proxitok/docker-compose.yml index 4a2451ac..1d89ef70 100644 --- a/apps/proxitok/docker-compose.yml +++ b/apps/proxitok/docker-compose.yml @@ -6,7 +6,7 @@ services: image: ghcr.io/pablouser1/proxitok:master restart: unless-stopped ports: - - "${APP_PORT}:80" + - ${APP_PORT}:80 environment: - "LATTE_CACHE=/cache" - "API_CACHE=redis" @@ -20,6 +20,13 @@ services: - proxitok-signer networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.proxitok.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.proxitok.entrypoints: websecure + traefik.http.routers.proxitok.service: proxitok + traefik.http.routers.proxitok.tls.certresolver: myresolver + traefik.http.services.proxitok.loadbalancer.server.port: 80 proxitok-redis: container_name: proxitok-redis diff --git a/apps/radarr/config.json b/apps/radarr/config.json index eb70dd3a..c2e68cb6 100644 --- a/apps/radarr/config.json +++ b/apps/radarr/config.json @@ -2,14 +2,12 @@ "$schema": "../schema.json", "name": "Radarr", "available": true, + "exposable": true, "port": 8088, "id": "radarr", - "tipi_version": 2, + "tipi_version": 3, "version": "4.2.4", - "categories": [ - "media", - "utilities" - ], + "categories": ["media", "utilities"], "description": "Radarr is a movie collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new movies and will interface with clients and indexers to grab, sort, and rename them. It can also be configured to automatically upgrade the quality of existing files in the library when a better quality format becomes available. Note that only one type of a given movie is supported. If you want both an 4k version and 1080p version of a given movie you will need multiple instances.", "short_desc": "Movie collection manager for Usenet and BitTorrent users.", "author": "radarr.video", diff --git a/apps/radarr/docker-compose.yml b/apps/radarr/docker-compose.yml index 08922b3e..7430f0fc 100644 --- a/apps/radarr/docker-compose.yml +++ b/apps/radarr/docker-compose.yml @@ -18,3 +18,10 @@ services: restart: unless-stopped networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.radarr.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.radarr.entrypoints: websecure + traefik.http.routers.radarr.service: radarr + traefik.http.routers.radarr.tls.certresolver: myresolver + traefik.http.services.radarr.loadbalancer.server.port: 7878 diff --git a/apps/readarr/config.json b/apps/readarr/config.json index 7d709465..ba538c46 100644 --- a/apps/readarr/config.json +++ b/apps/readarr/config.json @@ -2,9 +2,10 @@ "$schema": "../schema.json", "name": "Readarr", "available": true, + "exposable": true, "port": 8112, "id": "readarr", - "tipi_version": 2, + "tipi_version": 3, "version": "develop", "categories": ["books", "media"], "description": "", diff --git a/apps/readarr/docker-compose.yml b/apps/readarr/docker-compose.yml index 3e97ccd5..de91dc69 100644 --- a/apps/readarr/docker-compose.yml +++ b/apps/readarr/docker-compose.yml @@ -18,3 +18,10 @@ services: restart: unless-stopped networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.readarr.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.readarr.entrypoints: websecure + traefik.http.routers.readarr.service: readarr + traefik.http.routers.readarr.tls.certresolver: myresolver + traefik.http.services.readarr.loadbalancer.server.port: 8787 diff --git a/apps/resilio-sync/docker-compose.yml b/apps/resilio-sync/docker-compose.yml index a2dab643..c8fccd5a 100644 --- a/apps/resilio-sync/docker-compose.yml +++ b/apps/resilio-sync/docker-compose.yml @@ -15,4 +15,11 @@ services: - 55555:55555 restart: unless-stopped networks: - - tipi_main_network \ No newline at end of file + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.resilio-sync.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.resilio-sync.entrypoints: websecure + traefik.http.routers.resilio-sync.service: resilio-sync + traefik.http.routers.resilio-sync.tls.certresolver: myresolver + traefik.http.services.resilio-sync.loadbalancer.server.port: 8888 \ No newline at end of file diff --git a/apps/searxng/config.json b/apps/searxng/config.json index 9b1e77fb..83da82b0 100644 --- a/apps/searxng/config.json +++ b/apps/searxng/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8127, "id": "searxng", - "tipi_version": 2, - "version": "2022.10.11-a7337612", + "tipi_version": 3, + "version": "2022.11.11-3a765113", "categories": ["social"], "description": "SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled.", "short_desc": "Privacy-respecting, hackable metasearch engine", diff --git a/apps/searxng/docker-compose.yml b/apps/searxng/docker-compose.yml index f5d64e7f..ba95b9e4 100644 --- a/apps/searxng/docker-compose.yml +++ b/apps/searxng/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: searxng: container_name: searxng - image: searxng/searxng:2022.10.11-a7337612 + image: searxng/searxng:2022.11.11-3a765113 restart: unless-stopped networks: - tipi_main_network diff --git a/apps/sonarr/config.json b/apps/sonarr/config.json index dc3c2247..424077d4 100644 --- a/apps/sonarr/config.json +++ b/apps/sonarr/config.json @@ -2,14 +2,12 @@ "$schema": "../schema.json", "name": "Sonarr", "available": true, + "exposable": true, "port": 8098, "id": "sonarr", - "tipi_version": 2, + "tipi_version": 3, "version": "3.0.9", - "categories": [ - "media", - "utilities" - ], + "categories": ["media", "utilities"], "description": "Sonarr is a PVR for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.", "short_desc": "TV show manager for Usenet and BitTorrent", "author": "sonarr.tv", diff --git a/apps/sonarr/docker-compose.yml b/apps/sonarr/docker-compose.yml index ca39bb85..768bb532 100644 --- a/apps/sonarr/docker-compose.yml +++ b/apps/sonarr/docker-compose.yml @@ -18,3 +18,10 @@ services: restart: unless-stopped networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.sonarr.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.sonarr.entrypoints: websecure + traefik.http.routers.sonarr.service: sonarr + traefik.http.routers.sonarr.tls.certresolver: myresolver + traefik.http.services.sonarr.loadbalancer.server.port: 8989 diff --git a/apps/syncthing/config.json b/apps/syncthing/config.json index 9453bcbb..838b4002 100644 --- a/apps/syncthing/config.json +++ b/apps/syncthing/config.json @@ -2,14 +2,12 @@ "$schema": "../schema.json", "name": "Syncthing", "available": true, + "exposable": true, "port": 8090, "id": "syncthing", - "tipi_version": 2, + "tipi_version": 3, "version": "1.22", - "categories": [ - "data", - "utilities" - ], + "categories": ["data", "utilities"], "description": "Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers. We strive to fulfill the goals below. The goals are listed in order of importance, the most important one being the first. This is the summary version of the goal list - for more commentary, see the full Goals document.", "short_desc": "Peer-to-peer file synchronization between your devices", "author": "The Syncthing Foundation", diff --git a/apps/syncthing/docker-compose.yml b/apps/syncthing/docker-compose.yml index 03f5530d..6cd7f31f 100644 --- a/apps/syncthing/docker-compose.yml +++ b/apps/syncthing/docker-compose.yml @@ -19,3 +19,10 @@ services: restart: unless-stopped networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.syncthing.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.syncthing.entrypoints: websecure + traefik.http.routers.syncthing.service: syncthing + traefik.http.routers.syncthing.tls.certresolver: myresolver + traefik.http.services.syncthing.loadbalancer.server.port: 8384 diff --git a/apps/tautulli/config.json b/apps/tautulli/config.json index 27174dcf..43ce1129 100644 --- a/apps/tautulli/config.json +++ b/apps/tautulli/config.json @@ -2,14 +2,12 @@ "$schema": "../schema.json", "name": "Tautulli", "available": true, + "exposable": true, "port": 8181, "id": "tautulli", - "tipi_version": 2, + "tipi_version": 3, "version": "2.10.4", - "categories": [ - "media", - "utilities" - ], + "categories": ["media", "utilities"], "description": "Tautulli is a 3rd party application that you can run alongside your Plex Media Server to monitor activity and track various statistics. Most importantly, these statistics include what has been watched, who watched it, when and where they watched it, and how it was watched. The only thing missing is \"why they watched it\", but who am I to question your 42 plays of Frozen. All statistics are presented in a nice and clean interface with many tables and graphs, which makes it easy to brag about your server to everyone else.", "short_desc": "Monitoring and tracking tool for Plex Media Server.", "author": "JonnyWong16", diff --git a/apps/tautulli/docker-compose.yml b/apps/tautulli/docker-compose.yml index 61b380b4..7164dd88 100644 --- a/apps/tautulli/docker-compose.yml +++ b/apps/tautulli/docker-compose.yml @@ -13,4 +13,11 @@ services: - ${APP_PORT}:8181 restart: unless-stopped networks: - - tipi_main_network \ No newline at end of file + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.tautulli.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.tautulli.entrypoints: websecure + traefik.http.routers.tautulli.service: tautulli + traefik.http.routers.tautulli.tls.certresolver: myresolver + traefik.http.services.tautulli.loadbalancer.server.port: 8181 \ No newline at end of file diff --git a/apps/transmission/config.json b/apps/transmission/config.json index e95d48b8..de88045f 100644 --- a/apps/transmission/config.json +++ b/apps/transmission/config.json @@ -2,12 +2,13 @@ "$schema": "../schema.json", "name": "Transmission", "available": true, + "exposable": true, "port": 8089, "requirements": { "ports": [51413] }, "id": "transmission", - "tipi_version": 1, + "tipi_version": 2, "version": "latest", "categories": ["utilities"], "description": "Transmission is a fast, easy, and free BitTorrent client.", diff --git a/apps/transmission/docker-compose.yml b/apps/transmission/docker-compose.yml index 2a2e9299..1f477cab 100644 --- a/apps/transmission/docker-compose.yml +++ b/apps/transmission/docker-compose.yml @@ -25,3 +25,10 @@ services: restart: unless-stopped networks: - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.transmission.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.transmission.entrypoints: websecure + traefik.http.routers.transmission.service: transmission + traefik.http.routers.transmission.tls.certresolver: myresolver + traefik.http.services.transmission.loadbalancer.server.port: 9091 diff --git a/apps/wg-easy/config.json b/apps/wg-easy/config.json index 1245a16b..507cccc1 100644 --- a/apps/wg-easy/config.json +++ b/apps/wg-easy/config.json @@ -2,12 +2,13 @@ "$schema": "../schema.json", "name": "Wireguard", "available": true, + "exposable": true, "port": 8082, "requirements": { "ports": [51820] }, "id": "wg-easy", - "tipi_version": 3, + "tipi_version": 4, "version": "7", "categories": ["network"], "description": "Access your homeserver from anywhere even on your mobile device. Wireguard-easy is a simple tool to configure and manage Wireguard VPN servers. It is written in Go and uses the official Wireguard client. You have to open and redirect port 51820 to your homeserver in order to connect.", diff --git a/apps/wg-easy/docker-compose.yml b/apps/wg-easy/docker-compose.yml index 93af5a0a..17da08b8 100644 --- a/apps/wg-easy/docker-compose.yml +++ b/apps/wg-easy/docker-compose.yml @@ -21,4 +21,11 @@ services: - net.ipv4.conf.all.src_valid_mark=1 - net.ipv4.ip_forward=1 networks: - - tipi_main_network \ No newline at end of file + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.wg-easy.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.wg-easy.entrypoints: websecure + traefik.http.routers.wg-easy.service: wg-easy + traefik.http.routers.wg-easy.tls.certresolver: myresolver + traefik.http.services.wg-easy.loadbalancer.server.port: 51821 \ No newline at end of file diff --git a/apps/your-spotify/config.json b/apps/your-spotify/config.json index f1ad7bf5..027dc705 100644 --- a/apps/your-spotify/config.json +++ b/apps/your-spotify/config.json @@ -2,9 +2,10 @@ "$schema": "../schema.json", "name": "Your Spotify", "available": true, + "exposable": true, "port": 8103, "id": "your-spotify", - "tipi_version": 1, + "tipi_version": 2, "version": "latest", "categories": ["music", "utilities"], "description": "Self hosted Spotify tracking dashboard.", diff --git a/apps/your-spotify/docker-compose.yml b/apps/your-spotify/docker-compose.yml index 32e542e1..742e6ea8 100644 --- a/apps/your-spotify/docker-compose.yml +++ b/apps/your-spotify/docker-compose.yml @@ -1,6 +1,26 @@ version: "3" services: + your-spotify: + container_name: your-spotify + image: yooooomi/your_spotify_client + depends_on: + - your-spotify-server + restart: unless-stopped + ports: + - ${APP_PORT}:3000 + environment: + - API_ENDPOINT=http://${INTERNAL_IP}:32500 + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.your-spotify.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.your-spotify.entrypoints: websecure + traefik.http.routers.your-spotify.service: your-spotify + traefik.http.routers.your-spotify.tls.certresolver: myresolver + traefik.http.services.your-spotify.loadbalancer.server.port: 3000 + your-spotify-server: container_name: your-spotify-server image: yooooomi/your_spotify_server @@ -32,15 +52,3 @@ services: networks: - tipi_main_network - your-spotify: - container_name: your-spotify - image: yooooomi/your_spotify_client - depends_on: - - your-spotify-server - restart: unless-stopped - ports: - - ${APP_PORT}:3000 - environment: - - API_ENDPOINT=http://${INTERNAL_IP}:32500 - networks: - - tipi_main_network