feat: expose all apps

This commit is contained in:
Nicolas Meienberger 2022-11-11 20:33:58 +01:00
parent 6bc89612d6
commit 64b9ffba30
69 changed files with 327 additions and 170 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
node_modules/ node_modules/
package-lock.json package-lock.json
github.secrets

View File

@ -2,22 +2,18 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Adguard", "name": "Adguard",
"available": true, "available": true,
"tipi_version": 4, "exposable": true,
"tipi_version": 5,
"version": "0.107.18", "version": "0.107.18",
"port": 8104, "port": 8104,
"id": "adguard", "id": "adguard",
"categories": [ "categories": ["network", "security"],
"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.", "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!", "short_desc": "World's most advanced adblocker!",
"author": "AdguardTeam", "author": "AdguardTeam",
"source": "https://github.com/AdguardTeam", "source": "https://github.com/AdguardTeam",
"requirements": { "requirements": {
"ports": [ "ports": [53]
53
]
}, },
"form_fields": [ "form_fields": [
{ {

View File

@ -14,3 +14,10 @@ services:
- ${NETWORK_INTERFACE:-0.0.0.0}:53:53/tcp - ${NETWORK_INTERFACE:-0.0.0.0}:53:53/tcp
- ${NETWORK_INTERFACE:-0.0.0.0}:53:53/udp - ${NETWORK_INTERFACE:-0.0.0.0}:53:53/udp
- ${APP_PORT}:80 - ${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

View File

@ -2,16 +2,14 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Bazarr", "name": "Bazarr",
"available": true, "available": true,
"exposable": true,
"port": 6767, "port": 6767,
"id": "bazarr", "id": "bazarr",
"tipi_version": 2, "tipi_version": 3,
"version": "1.1.2", "version": "1.1.2",
"categories": [ "categories": ["media", "utilities"],
"media",
"utilities"
],
"description": "Bazarr is a companion application to Sonarr and Radarr that manages and downloads subtitles based on your requirements.", "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", "author": "morpheus65535",
"source": "https://github.com/morpheus65535/bazarr", "source": "https://github.com/morpheus65535/bazarr",
"form_fields": [] "form_fields": []

View File

@ -18,3 +18,10 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- tipi_main_network - 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

View File

@ -2,8 +2,9 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Booksonic", "name": "Booksonic",
"available": true, "available": true,
"exposable": true,
"port": 8040, "port": 8040,
"tipi_version": 2, "tipi_version": 3,
"version": "latest", "version": "latest",
"id": "booksonic", "id": "booksonic",
"categories": ["books", "media"], "categories": ["books", "media"],

View File

@ -16,4 +16,11 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- tipi_main_network - 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

View File

@ -2,16 +2,15 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Bookstack", "name": "Bookstack",
"available": true, "available": true,
"exposable": true,
"port": 8119, "port": 8119,
"id": "bookstack", "id": "bookstack",
"tipi_version": 4, "tipi_version": 5,
"version": "22.10.20221021", "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", "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.", "short_desc": "BookStack is a self-hosted platform for organising and storing information.",
"author": "Dan Brown", "author": "Dan Brown",
"categories": [ "categories": ["data"],
"data"
],
"website": "https://www.bookstackapp.com/", "website": "https://www.bookstackapp.com/",
"source": "https://github.com/BookStackApp/BookStack", "source": "https://github.com/BookStackApp/BookStack",
"form_fields": [ "form_fields": [

View File

@ -20,6 +20,13 @@ services:
- bookstack-db - bookstack-db
networks: networks:
- tipi_main_network - 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: bookstack-db:
image: lscr.io/linuxserver/mariadb image: lscr.io/linuxserver/mariadb

View File

@ -2,13 +2,12 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Calibre-Web - EBook Reader", "name": "Calibre-Web - EBook Reader",
"available": true, "available": true,
"exposable": true,
"port": 8100, "port": 8100,
"tipi_version": 2, "tipi_version": 3,
"version": "0.6.19", "version": "0.6.19",
"id": "calibre-web", "id": "calibre-web",
"categories": [ "categories": ["books"],
"books"
],
"description": "On the initial setup screen, enter /books as your calibre library location. \n Default admin login: Username: admin Password: admin123", "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.", "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/", "author": "https://github.com/janeczku/",

View File

@ -15,3 +15,10 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- tipi_main_network - 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

View File

@ -2,13 +2,12 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Code-Server - Web VS Code", "name": "Code-Server - Web VS Code",
"available": true, "available": true,
"exposable": true,
"port": 8101, "port": 8101,
"id": "code-server", "id": "code-server",
"tipi_version": 3, "tipi_version": 4,
"version": "4.8.0", "version": "4.8.0",
"categories": [ "categories": ["development"],
"development"
],
"description": "", "description": "",
"short_desc": "Code-server is VS Code running on a remote server, accessible through the browser.", "short_desc": "Code-server is VS Code running on a remote server, accessible through the browser.",
"author": "https://github.com/coder", "author": "https://github.com/coder",

View File

@ -17,3 +17,10 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- tipi_main_network - 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

View File

@ -2,9 +2,10 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "File Browser", "name": "File Browser",
"available": true, "available": true,
"exposable": true,
"port": 8096, "port": 8096,
"id": "filebrowser", "id": "filebrowser",
"tipi_version": 1, "tipi_version": 2,
"version": "s6", "version": "s6",
"categories": ["utilities"], "categories": ["utilities"],
"description": "Reliable and Performant File Management Desktop Sync and File Sharing\n Default credentials: admin / admin", "description": "Reliable and Performant File Management Desktop Sync and File Sharing\n Default credentials: admin / admin",

View File

@ -15,3 +15,10 @@ services:
- ${APP_DATA_DIR}/data/config:/config - ${APP_DATA_DIR}/data/config:/config
networks: networks:
- tipi_main_network - 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

View File

@ -2,8 +2,9 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Firefly III", "name": "Firefly III",
"available": true, "available": true,
"exposable": true,
"port": 8115, "port": 8115,
"tipi_version": 2, "tipi_version": 3,
"version": "version-5.7.11", "version": "version-5.7.11",
"id": "firefly-iii", "id": "firefly-iii",
"categories": ["finance"], "categories": ["finance"],

View File

@ -42,6 +42,13 @@ services:
- APP_URL=http://localhost:${APP_PORT} - APP_URL=http://localhost:${APP_PORT}
networks: networks:
- tipi_main_network - 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: firefly-iii-db:
container_name: firefly-iii-db container_name: firefly-iii-db

View File

@ -7,9 +7,7 @@
"id": "freshrss", "id": "freshrss",
"tipi_version": 3, "tipi_version": 3,
"version": "1.20.0", "version": "1.20.0",
"categories": [ "categories": ["utilities"],
"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.", "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… ", "short_desc": "A free, self-hostable aggregator… ",
"author": "https://freshrss.org/", "author": "https://freshrss.org/",

View File

@ -22,11 +22,3 @@ services:
traefik.http.routers.freshrss.service: freshrss traefik.http.routers.freshrss.service: freshrss
traefik.http.routers.freshrss.tls.certresolver: myresolver traefik.http.routers.freshrss.tls.certresolver: myresolver
traefik.http.services.freshrss.loadbalancer.server.port: 80 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

View File

@ -3,12 +3,11 @@
"name": "Gitea", "name": "Gitea",
"port": 8108, "port": 8108,
"available": true, "available": true,
"exposable": true,
"id": "gitea", "id": "gitea",
"tipi_version": 2, "tipi_version": 3,
"version": "1.17.2", "version": "1.17.3",
"categories": [ "categories": ["development"],
"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.", "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.", "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", "author": "go-gitea",

View File

@ -2,7 +2,7 @@ version: "3.7"
services: services:
gitea: gitea:
image: gitea/gitea:1.17.2 image: gitea/gitea:1.17.3
container_name: gitea container_name: gitea
environment: environment:
- USER_UID=1000 - USER_UID=1000
@ -13,8 +13,6 @@ services:
- GITEA__database__USER=gitea - GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea - GITEA__database__PASSWD=gitea
restart: unless-stopped restart: unless-stopped
networks:
- tipi_main_network
volumes: volumes:
- ${APP_DATA_DIR}/data/gitea:/data - ${APP_DATA_DIR}/data/gitea:/data
ports: ports:
@ -22,6 +20,15 @@ services:
- "222:22" - "222:22"
depends_on: depends_on:
- gitea-db - 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: gitea-db:
container_name: gitea-db container_name: gitea-db

View File

@ -2,9 +2,9 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Haven", "name": "Haven",
"available": true, "available": true,
"exposable": true,
"port": 8130, "port": 8130,
"id": "haven", "id": "haven",
"exposable": true,
"tipi_version": 1, "tipi_version": 1,
"version": "a0280ce", "version": "a0280ce",
"categories": ["social"], "categories": ["social"],

View File

@ -2,13 +2,12 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Homarr", "name": "Homarr",
"available": true, "available": true,
"exposable": true,
"port": 8102, "port": 8102,
"id": "homarr", "id": "homarr",
"tipi_version": 3, "tipi_version": 4,
"version": "0.10.2", "version": "0.10.3",
"categories": [ "categories": ["utilities"],
"utilities"
],
"description": "A homepage for your server.", "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.", "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", "author": "ajnart",

View File

@ -2,7 +2,7 @@ version: "3.7"
services: services:
homarr: homarr:
container_name: homarr container_name: homarr
image: ghcr.io/ajnart/homarr:0.10.2 image: ghcr.io/ajnart/homarr:0.10.3
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- ${APP_DATA_DIR}/data/config:/app/data/configs - ${APP_DATA_DIR}/data/config:/app/data/configs
@ -11,3 +11,10 @@ services:
- ${APP_PORT}:7575 - ${APP_PORT}:7575
networks: networks:
- tipi_main_network - 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

View File

@ -2,16 +2,14 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Jackett", "name": "Jackett",
"available": true, "available": true,
"exposable": true,
"port": 8097, "port": 8097,
"id": "jackett", "id": "jackett",
"tipi_version": 3, "tipi_version": 4,
"version": "0.20.2101", "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.", "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 ", "short_desc": "API Support for your favorite torrent trackers ",
"categories": [ "categories": ["media", "utilities"],
"media",
"utilities"
],
"author": "", "author": "",
"source": "https://github.com/Jackett/Jackett", "source": "https://github.com/Jackett/Jackett",
"form_fields": [] "form_fields": []

View File

@ -1,7 +1,7 @@
version: "3.7" version: "3.7"
services: services:
jackett: jackett:
image: lscr.io/linuxserver/jackett:0.20.2101 image: lscr.io/linuxserver/jackett:0.20.2236
container_name: jackett container_name: jackett
environment: environment:
- PUID=1000 - PUID=1000
@ -18,3 +18,10 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- tipi_main_network - 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

View File

@ -5,11 +5,9 @@
"exposable": true, "exposable": true,
"port": 8091, "port": 8091,
"id": "jellyfin", "id": "jellyfin",
"tipi_version": 3, "tipi_version": 4,
"version": "10.8.5", "version": "10.8.7",
"categories": [ "categories": ["media"],
"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!", "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", "short_desc": "A media server for your home collection",
"author": "jellyfin.org", "author": "jellyfin.org",

View File

@ -1,7 +1,7 @@
version: "3.7" version: "3.7"
services: services:
jellyfin: jellyfin:
image: lscr.io/linuxserver/jellyfin:10.8.5 image: lscr.io/linuxserver/jellyfin:10.8.7
container_name: jellyfin container_name: jellyfin
volumes: volumes:
- ${APP_DATA_DIR}/data/config:/config - ${APP_DATA_DIR}/data/config:/config

View File

@ -5,11 +5,9 @@
"exposable": true, "exposable": true,
"port": 8099, "port": 8099,
"id": "joplin", "id": "joplin",
"tipi_version": 3, "tipi_version": 4,
"version": "2.9.5", "version": "2.9.7",
"categories": [ "categories": ["utilities"],
"utilities"
],
"description": "Default credentials: admin@localhost / admin", "description": "Default credentials: admin@localhost / admin",
"short_desc": "Note taking and to-do application with synchronisation", "short_desc": "Note taking and to-do application with synchronisation",
"author": "https://github.com/laurent22", "author": "https://github.com/laurent22",

View File

@ -3,7 +3,7 @@ version: "3.7"
services: services:
joplin: joplin:
container_name: joplin container_name: joplin
image: florider89/joplin-server:2.9.5 image: florider89/joplin-server:2.9.7
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
- db-joplin - db-joplin
@ -33,6 +33,7 @@ services:
traefik.http.services.joplin.loadbalancer.passhostheader: true traefik.http.services.joplin.loadbalancer.passhostheader: true
traefik.http.middlewares.joplin-sslheader.headers.customrequestheaders.X-Forwarded-Proto: http traefik.http.middlewares.joplin-sslheader.headers.customrequestheaders.X-Forwarded-Proto: http
traefik.http.routers.joplin-sslheader.middlewares: joplin-sslheader@docker traefik.http.routers.joplin-sslheader.middlewares: joplin-sslheader@docker
db-joplin: db-joplin:
container_name: db-joplin container_name: db-joplin
image: postgres:14.2 image: postgres:14.2

View File

@ -5,15 +5,10 @@
"available": true, "available": true,
"exposable": true, "exposable": true,
"id": "librephotos", "id": "librephotos",
"tipi_version": 3, "tipi_version": 4,
"version": "2022w41", "version": "2022w41",
"supported_architectures": [ "supported_architectures": ["amd64", "arm64"],
"amd64", "categories": ["photography"],
"arm64"
],
"categories": [
"photography"
],
"description": "", "description": "",
"short_desc": "", "short_desc": "",
"author": "Niaz Faridani-Rad", "author": "Niaz Faridani-Rad",

View File

@ -15,6 +15,13 @@ services:
- librephotos-frontend - librephotos-frontend
networks: networks:
- tipi_main_network - 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: librephotos-db:
image: postgres:14 image: postgres:14

View File

@ -6,10 +6,8 @@
"port": 8121, "port": 8121,
"id": "libretranslate", "id": "libretranslate",
"tipi_version": 2, "tipi_version": 2,
"version": "1.3.0", "version": "1.3.1",
"categories": [ "categories": ["utilities"],
"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.", "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.", "short_desc": "Free and Open Source Machine Translation API. 100% self-hosted, offline capable and easy to setup.",
"author": "LibreTranslate", "author": "LibreTranslate",

View File

@ -2,7 +2,7 @@ version: "3.7"
services: services:
libretranslate: libretranslate:
container_name: libretranslate container_name: libretranslate
image: libretranslate/libretranslate:v1.3.0 image: libretranslate/libretranslate:v1.3.1
dns: dns:
- ${DNS_IP} - ${DNS_IP}
ports: ports:

View File

@ -3,8 +3,9 @@
"name": "Mealie", "name": "Mealie",
"port": 8114, "port": 8114,
"available": true, "available": true,
"exposable": true,
"id": "mealie", "id": "mealie",
"tipi_version": 1, "tipi_version": 2,
"version": "v0.5.6", "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", "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.", "short_desc": "Mealie is a self-hosted recipe manager and meal planner.",

View File

@ -13,3 +13,10 @@ services:
- ${APP_DATA_DIR}/data:/app/data - ${APP_DATA_DIR}/data:/app/data
networks: networks:
- tipi_main_network - 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

View File

@ -2,13 +2,12 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "n8n", "name": "n8n",
"available": true, "available": true,
"exposable": true,
"port": 8094, "port": 8094,
"id": "n8n", "id": "n8n",
"tipi_version": 7, "tipi_version": 8,
"version": "0.201.0", "version": "0.201.0",
"categories": [ "categories": ["automation"],
"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.", "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", "short_desc": "Workflow Automation Tool. Alternative to Zapier",
"author": "n8n.io", "author": "n8n.io",

View File

@ -21,6 +21,13 @@ services:
- db-n8n - db-n8n
networks: networks:
- tipi_main_network - 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: db-n8n:
container_name: db-n8n container_name: db-n8n

View File

@ -3,12 +3,11 @@
"name": "Node-RED", "name": "Node-RED",
"port": 8111, "port": 8111,
"available": true, "available": true,
"exposable": true,
"id": "nodered", "id": "nodered",
"tipi_version": 2, "tipi_version": 3,
"version": "3.0.2", "version": "3.0.2",
"categories": [ "categories": ["automation"],
"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.", "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", "short_desc": "Low-code programming for event-driven applications",
"author": "node-red", "author": "node-red",

View File

@ -11,3 +11,10 @@ services:
- ${APP_DATA_DIR}/data:/data - ${APP_DATA_DIR}/data:/data
networks: networks:
- tipi_main_network - 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

View File

@ -2,14 +2,12 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Overseerr", "name": "Overseerr",
"available": true, "available": true,
"exposable": true,
"port": 8116, "port": 8116,
"id": "overseerr", "id": "overseerr",
"tipi_version": 2, "tipi_version": 3,
"version": "1.30.1", "version": "1.30.1",
"categories": [ "categories": ["media", "utilities"],
"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!", "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", "short_desc": "Request management and media discovery tool for the Plex ecosystem",
"author": "sct", "author": "sct",

View File

@ -14,3 +14,10 @@ services:
- ${DNS_IP} - ${DNS_IP}
networks: networks:
- tipi_main_network - 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

View File

@ -2,12 +2,13 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Pi-hole", "name": "Pi-hole",
"available": true, "available": true,
"exposable": true,
"port": 8081, "port": 8081,
"requirements": { "requirements": {
"ports": [53] "ports": [53]
}, },
"id": "pihole", "id": "pihole",
"tipi_version": 2, "tipi_version": 3,
"version": "2022.09.4", "version": "2022.09.4",
"categories": ["network", "security"], "categories": ["network", "security"],
"description": "The Pi-hole® is a DNS sinkhole that protects your devices from unwanted content without installing any client-side software.", "description": "The Pi-hole® is a DNS sinkhole that protects your devices from unwanted content without installing any client-side software.",

View File

@ -1,25 +1,13 @@
version: "3.7" version: "3.7"
services: 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: pihole:
# depends_on: [unbound]
container_name: pihole container_name: pihole
image: pihole/pihole:2022.09.4 image: pihole/pihole:2022.09.4
restart: unless-stopped restart: unless-stopped
hostname: pihole hostname: pihole
dns: dns:
- 127.0.0.1 - 127.0.0.1
# - 10.21.21.200 # Points to unbound
ports: ports:
- ${NETWORK_INTERFACE:-0.0.0.0}:53:53/tcp - ${NETWORK_INTERFACE:-0.0.0.0}:53:53/tcp
- ${NETWORK_INTERFACE:-0.0.0.0}:53:53/udp - ${NETWORK_INTERFACE:-0.0.0.0}:53:53/udp
@ -30,10 +18,16 @@ services:
environment: environment:
TZ: ${TZ} TZ: ${TZ}
WEBPASSWORD: ${APP_PASSWORD} WEBPASSWORD: ${APP_PASSWORD}
# PIHOLE_DNS_: 10.21.21.200 # Points to unbound
FTLCONF_REPLY_ADDR4: 10.21.21.201 FTLCONF_REPLY_ADDR4: 10.21.21.201
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
networks: networks:
tipi_main_network: tipi_main_network:
ipv4_address: 10.21.21.201 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

View File

@ -3,13 +3,12 @@
"name": "Portainer", "name": "Portainer",
"port": 9443, "port": 9443,
"available": true, "available": true,
"exposable": true,
"https": true, "https": true,
"id": "portainer", "id": "portainer",
"tipi_version": 5, "tipi_version": 6,
"version": "2.16.0-alpine", "version": "2.16.0-alpine",
"categories": [ "categories": ["utilities"],
"utilities"
],
"description": "", "description": "",
"short_desc": "Making Docker and Kubernetes management easy.", "short_desc": "Making Docker and Kubernetes management easy.",
"author": "portainer.io", "author": "portainer.io",

View File

@ -6,9 +6,16 @@ services:
container_name: portainer container_name: portainer
restart: unless-stopped restart: unless-stopped
ports: ports:
- "${APP_PORT}:9443" - ${APP_PORT}:9443
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- "${APP_DATA_DIR}/data:/data" - "${APP_DATA_DIR}/data:/data"
networks: networks:
- tipi_main_network - 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

View File

@ -2,9 +2,10 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Prowlarr", "name": "Prowlarr",
"available": true, "available": true,
"exposable": true,
"port": 8109, "port": 8109,
"id": "prowlarr", "id": "prowlarr",
"tipi_version": 1, "tipi_version": 2,
"version": "develop", "version": "develop",
"categories": ["media", "utilities"], "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).", "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).",

View File

@ -14,3 +14,10 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- tipi_main_network - 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

View File

@ -2,11 +2,12 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "ProxiTok", "name": "ProxiTok",
"available": true, "available": true,
"exposable": true,
"port": 8118, "port": 8118,
"id": "proxitok", "id": "proxitok",
"categories": ["social"], "categories": ["social"],
"description": "", "description": "",
"tipi_version": 1, "tipi_version": 2,
"version": "1.0.0", "version": "1.0.0",
"short_desc": "Open source alternative frontend for TikTok made using PHP ", "short_desc": "Open source alternative frontend for TikTok made using PHP ",
"author": "pablouser1", "author": "pablouser1",

View File

@ -6,7 +6,7 @@ services:
image: ghcr.io/pablouser1/proxitok:master image: ghcr.io/pablouser1/proxitok:master
restart: unless-stopped restart: unless-stopped
ports: ports:
- "${APP_PORT}:80" - ${APP_PORT}:80
environment: environment:
- "LATTE_CACHE=/cache" - "LATTE_CACHE=/cache"
- "API_CACHE=redis" - "API_CACHE=redis"
@ -20,6 +20,13 @@ services:
- proxitok-signer - proxitok-signer
networks: networks:
- tipi_main_network - 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: proxitok-redis:
container_name: proxitok-redis container_name: proxitok-redis

View File

@ -2,14 +2,12 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Radarr", "name": "Radarr",
"available": true, "available": true,
"exposable": true,
"port": 8088, "port": 8088,
"id": "radarr", "id": "radarr",
"tipi_version": 2, "tipi_version": 3,
"version": "4.2.4", "version": "4.2.4",
"categories": [ "categories": ["media", "utilities"],
"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.", "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.", "short_desc": "Movie collection manager for Usenet and BitTorrent users.",
"author": "radarr.video", "author": "radarr.video",

View File

@ -18,3 +18,10 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- tipi_main_network - 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

View File

@ -2,9 +2,10 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Readarr", "name": "Readarr",
"available": true, "available": true,
"exposable": true,
"port": 8112, "port": 8112,
"id": "readarr", "id": "readarr",
"tipi_version": 2, "tipi_version": 3,
"version": "develop", "version": "develop",
"categories": ["books", "media"], "categories": ["books", "media"],
"description": "", "description": "",

View File

@ -18,3 +18,10 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- tipi_main_network - 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

View File

@ -16,3 +16,10 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- tipi_main_network - 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

View File

@ -5,8 +5,8 @@
"exposable": true, "exposable": true,
"port": 8127, "port": 8127,
"id": "searxng", "id": "searxng",
"tipi_version": 2, "tipi_version": 3,
"version": "2022.10.11-a7337612", "version": "2022.11.11-3a765113",
"categories": ["social"], "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.", "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", "short_desc": "Privacy-respecting, hackable metasearch engine",

View File

@ -3,7 +3,7 @@ version: "3.7"
services: services:
searxng: searxng:
container_name: searxng container_name: searxng
image: searxng/searxng:2022.10.11-a7337612 image: searxng/searxng:2022.11.11-3a765113
restart: unless-stopped restart: unless-stopped
networks: networks:
- tipi_main_network - tipi_main_network

View File

@ -2,14 +2,12 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Sonarr", "name": "Sonarr",
"available": true, "available": true,
"exposable": true,
"port": 8098, "port": 8098,
"id": "sonarr", "id": "sonarr",
"tipi_version": 2, "tipi_version": 3,
"version": "3.0.9", "version": "3.0.9",
"categories": [ "categories": ["media", "utilities"],
"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.", "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", "short_desc": "TV show manager for Usenet and BitTorrent",
"author": "sonarr.tv", "author": "sonarr.tv",

View File

@ -18,3 +18,10 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- tipi_main_network - 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

View File

@ -2,14 +2,12 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Syncthing", "name": "Syncthing",
"available": true, "available": true,
"exposable": true,
"port": 8090, "port": 8090,
"id": "syncthing", "id": "syncthing",
"tipi_version": 2, "tipi_version": 3,
"version": "1.22", "version": "1.22",
"categories": [ "categories": ["data", "utilities"],
"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.", "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", "short_desc": "Peer-to-peer file synchronization between your devices",
"author": "The Syncthing Foundation", "author": "The Syncthing Foundation",

View File

@ -19,3 +19,10 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- tipi_main_network - 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

View File

@ -2,14 +2,12 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Tautulli", "name": "Tautulli",
"available": true, "available": true,
"exposable": true,
"port": 8181, "port": 8181,
"id": "tautulli", "id": "tautulli",
"tipi_version": 2, "tipi_version": 3,
"version": "2.10.4", "version": "2.10.4",
"categories": [ "categories": ["media", "utilities"],
"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.", "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.", "short_desc": "Monitoring and tracking tool for Plex Media Server.",
"author": "JonnyWong16", "author": "JonnyWong16",

View File

@ -14,3 +14,10 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- tipi_main_network - 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

View File

@ -2,12 +2,13 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Transmission", "name": "Transmission",
"available": true, "available": true,
"exposable": true,
"port": 8089, "port": 8089,
"requirements": { "requirements": {
"ports": [51413] "ports": [51413]
}, },
"id": "transmission", "id": "transmission",
"tipi_version": 1, "tipi_version": 2,
"version": "latest", "version": "latest",
"categories": ["utilities"], "categories": ["utilities"],
"description": "Transmission is a fast, easy, and free BitTorrent client.", "description": "Transmission is a fast, easy, and free BitTorrent client.",

View File

@ -25,3 +25,10 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- tipi_main_network - 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

View File

@ -2,12 +2,13 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Wireguard", "name": "Wireguard",
"available": true, "available": true,
"exposable": true,
"port": 8082, "port": 8082,
"requirements": { "requirements": {
"ports": [51820] "ports": [51820]
}, },
"id": "wg-easy", "id": "wg-easy",
"tipi_version": 3, "tipi_version": 4,
"version": "7", "version": "7",
"categories": ["network"], "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.", "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.",

View File

@ -22,3 +22,10 @@ services:
- net.ipv4.ip_forward=1 - net.ipv4.ip_forward=1
networks: networks:
- tipi_main_network - 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

View File

@ -2,9 +2,10 @@
"$schema": "../schema.json", "$schema": "../schema.json",
"name": "Your Spotify", "name": "Your Spotify",
"available": true, "available": true,
"exposable": true,
"port": 8103, "port": 8103,
"id": "your-spotify", "id": "your-spotify",
"tipi_version": 1, "tipi_version": 2,
"version": "latest", "version": "latest",
"categories": ["music", "utilities"], "categories": ["music", "utilities"],
"description": "Self hosted Spotify tracking dashboard.", "description": "Self hosted Spotify tracking dashboard.",

View File

@ -1,6 +1,26 @@
version: "3" version: "3"
services: 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: your-spotify-server:
container_name: your-spotify-server container_name: your-spotify-server
image: yooooomi/your_spotify_server image: yooooomi/your_spotify_server
@ -32,15 +52,3 @@ services:
networks: networks:
- tipi_main_network - 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