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/
package-lock.json
github.secrets

View File

@ -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": [
{

View File

@ -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

View File

@ -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": []

View File

@ -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

View File

@ -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"],

View File

@ -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

View File

@ -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": [

View File

@ -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

View File

@ -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/",

View File

@ -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

View File

@ -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",

View File

@ -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

View File

@ -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",

View File

@ -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

View File

@ -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"],

View File

@ -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

View File

@ -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/",

View File

@ -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

View File

@ -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",

View File

@ -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

View File

@ -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"],

View File

@ -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",

View File

@ -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

View File

@ -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": []

View File

@ -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

View File

@ -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",

View File

@ -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

View File

@ -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",

View File

@ -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

View File

@ -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",

View File

@ -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

View File

@ -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",

View File

@ -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:

View File

@ -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.",

View File

@ -12,4 +12,11 @@ services:
volumes:
- ${APP_DATA_DIR}/data:/app/data
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",
"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",

View File

@ -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

View File

@ -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",

View File

@ -10,4 +10,11 @@ services:
volumes:
- ${APP_DATA_DIR}/data:/data
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",
"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",

View File

@ -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

View File

@ -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)",

View File

@ -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

View File

@ -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",

View File

@ -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
- 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",
"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).",

View File

@ -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

View File

@ -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",

View File

@ -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

View File

@ -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",

View File

@ -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

View File

@ -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": "",

View File

@ -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

View File

@ -15,4 +15,11 @@ services:
- 55555:55555
restart: unless-stopped
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,
"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",

View File

@ -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

View File

@ -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",

View File

@ -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

View File

@ -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",

View File

@ -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

View File

@ -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",

View File

@ -13,4 +13,11 @@ services:
- ${APP_PORT}:8181
restart: unless-stopped
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",
"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.",

View File

@ -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

View File

@ -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.",

View File

@ -21,4 +21,11 @@ services:
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv4.ip_forward=1
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",
"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.",

View File

@ -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