local domain configs A-G (#676)
* feat(actual-budget): change config to support local domain * feat(adguard): change config to support local domain * feat(autobrr): change config to support local domain * feat(barrage): change config to support local domain * feat(bazarr): change config to support local domain * feat(booksonic): change config to support local domain * feat(bookstack): change config to support local domain * feat(calibre-web): change config to support local domain * feat(chatgpt-ui): change config to support local domain * feat(chatpad): change config to support local domain * feat(code-server): change config to support local domain * feat(codex-docs): change config to support local domain * feat(dailytxt): change config to support local domain * feat(dashdot): change config to support local domain * feat(deemix): change config to support local domain * feat(deluge): change config to support local domain * feat(dokuwiki): change config to support local domain * feat(dozzle): change config to support local domain * feat(duplicati): change config to support local domain * feat(emulatorjs): change config to support local domain * feat(excalidraw): change config to support local domain * feat(filebrowser): change config to support local domain * feat(filestash): change config to support local domain * feat(firefly-iii): change config to support local domain * feat(fireshare): change config to support local domain * feat(flatnotes): change config to support local domain * feat(freshrss): change config to support local domain * feat(ghost): change config to support local domain * feat(gitea): change config to support local domain * feat(gotify): change config to support local domain * feat(gotosocial): change config to support local domain * feat(grafana): change config to support local domain * feat(grav): change config to support local domain * feat(grocy): change config to support local domain
This commit is contained in:
parent
b12c554e0d
commit
d713238b5c
|
@ -5,11 +5,9 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8011,
|
"port": 8011,
|
||||||
"id": "actual-budget",
|
"id": "actual-budget",
|
||||||
"tipi_version": 3,
|
"tipi_version": 4,
|
||||||
"version": "23.6.0",
|
"version": "23.6.0",
|
||||||
"categories": [
|
"categories": ["finance"],
|
||||||
"finance"
|
|
||||||
],
|
|
||||||
"description": "Actual is a local-first personal finance tool. It is 100% free and open-source, written in NodeJS, it has a synchronization element so that all your changes can move between devices without any heavy lifting.",
|
"description": "Actual is a local-first personal finance tool. It is 100% free and open-source, written in NodeJS, it has a synchronization element so that all your changes can move between devices without any heavy lifting.",
|
||||||
"short_desc": "Local-first OpenSource Budget tool",
|
"short_desc": "Local-first OpenSource Budget tool",
|
||||||
"author": "Shift Reset LLC",
|
"author": "Shift Reset LLC",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.9'
|
version: "3.9"
|
||||||
services:
|
services:
|
||||||
actual-budget:
|
actual-budget:
|
||||||
container_name: actual-budget
|
container_name: actual-budget
|
||||||
|
@ -11,9 +11,27 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- ${APP_DATA_DIR}/data:/data
|
- ${APP_DATA_DIR}/data:/data
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.actual-budget-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.actual-budget.loadbalancer.server.port: 5006
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.actual-budget-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.actual-budget-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.actual-budget-insecure.service: actual-budget
|
||||||
|
traefik.http.routers.actual-budget-insecure.middlewares: actual-budget-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.actual-budget.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.actual-budget.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.actual-budget.entrypoints: websecure
|
traefik.http.routers.actual-budget.entrypoints: websecure
|
||||||
traefik.http.routers.actual-budget.service: actual-budget
|
traefik.http.routers.actual-budget.service: actual-budget
|
||||||
traefik.http.routers.actual-budget.tls.certresolver: myresolver
|
traefik.http.routers.actual-budget.tls.certresolver: myresolver
|
||||||
traefik.http.services.actual-budget.loadbalancer.server.port: 5006
|
# Local domain
|
||||||
|
traefik.http.routers.actual-budget-local-insecure.rule: Host(`actual-budget.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.actual-budget-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.actual-budget-local-insecure.service: actual-budget
|
||||||
|
traefik.http.routers.actual-budget-local-insecure.middlewares: actual-budget-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.actual-budget-local.rule: Host(`actual-budget.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.actual-budget-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.actual-budget-local.service: actual-budget
|
||||||
|
traefik.http.routers.actual-budget-local.tls: true
|
||||||
|
|
|
@ -3,22 +3,17 @@
|
||||||
"name": "Adguard",
|
"name": "Adguard",
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"tipi_version": 9,
|
"tipi_version": 10,
|
||||||
"version": "0.107.31",
|
"version": "0.107.31",
|
||||||
"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": [
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
version: "3.7"
|
version: "3.7"
|
||||||
services:
|
services:
|
||||||
adguard:
|
adguard:
|
||||||
|
@ -15,9 +14,27 @@ services:
|
||||||
- ${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:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.adguard-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.adguard.loadbalancer.server.port: 80
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.adguard-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.adguard-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.adguard-insecure.service: adguard
|
||||||
|
traefik.http.routers.adguard-insecure.middlewares: adguard-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.adguard.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.adguard.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.adguard.entrypoints: websecure
|
traefik.http.routers.adguard.entrypoints: websecure
|
||||||
traefik.http.routers.adguard.service: adguard
|
traefik.http.routers.adguard.service: adguard
|
||||||
traefik.http.routers.adguard.tls.certresolver: myresolver
|
traefik.http.routers.adguard.tls.certresolver: myresolver
|
||||||
traefik.http.services.adguard.loadbalancer.server.port: 80
|
# Local domain
|
||||||
|
traefik.http.routers.adguard-local-insecure.rule: Host(`adguard.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.adguard-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.adguard-local-insecure.service: adguard
|
||||||
|
traefik.http.routers.adguard-local-insecure.middlewares: adguard-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.adguard-local.rule: Host(`adguard.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.adguard-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.adguard-local.service: adguard
|
||||||
|
traefik.http.routers.adguard-local.tls: true
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "autobrr",
|
"id": "autobrr",
|
||||||
"tipi_version": 5,
|
"tipi_version": 6,
|
||||||
"version": "1.26.1",
|
"version": "1.26.1",
|
||||||
"categories": [
|
"categories": ["media"],
|
||||||
"media"
|
|
||||||
],
|
|
||||||
"description": "autobrr is the modern download automation tool for torrents. With inspiration and ideas from tools like trackarr, autodl-irssi and flexget we built one tool that can do it all, and then some.",
|
"description": "autobrr is the modern download automation tool for torrents. With inspiration and ideas from tools like trackarr, autodl-irssi and flexget we built one tool that can do it all, and then some.",
|
||||||
"short_desc": "Automation for downloads.",
|
"short_desc": "Automation for downloads.",
|
||||||
"author": "autobrr",
|
"author": "autobrr",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3'
|
version: "3"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
autobrr:
|
autobrr:
|
||||||
|
@ -9,15 +9,33 @@ services:
|
||||||
- ${APP_PORT}:7474
|
- ${APP_PORT}:7474
|
||||||
volumes:
|
volumes:
|
||||||
- ${APP_DATA_DIR}/data/autobrr:/config
|
- ${APP_DATA_DIR}/data/autobrr:/config
|
||||||
user: '1000:1000'
|
user: "1000:1000"
|
||||||
environment:
|
environment:
|
||||||
- TZ=${TZ}
|
- TZ=${TZ}
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.autobrr-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.autobrr.loadbalancer.server.port: 7474
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.autobrr-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.autobrr-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.autobrr-insecure.service: autobrr
|
||||||
|
traefik.http.routers.autobrr-insecure.middlewares: autobrr-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.autobrr.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.autobrr.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.autobrr.entrypoints: websecure
|
traefik.http.routers.autobrr.entrypoints: websecure
|
||||||
traefik.http.routers.autobrr.service: autobrr
|
traefik.http.routers.autobrr.service: autobrr
|
||||||
traefik.http.routers.autobrr.tls.certresolver: myresolver
|
traefik.http.routers.autobrr.tls.certresolver: myresolver
|
||||||
traefik.http.services.autobrr.loadbalancer.server.port: 7474
|
# Local domain
|
||||||
|
traefik.http.routers.autobrr-local-insecure.rule: Host(`autobrr.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.autobrr-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.autobrr-local-insecure.service: autobrr
|
||||||
|
traefik.http.routers.autobrr-local-insecure.middlewares: autobrr-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.autobrr-local.rule: Host(`autobrr.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.autobrr-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.autobrr-local.service: autobrr
|
||||||
|
traefik.http.routers.autobrr-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "barrage",
|
"id": "barrage",
|
||||||
"tipi_version": 2,
|
"tipi_version": 3,
|
||||||
"version": "0.3.0",
|
"version": "0.3.0",
|
||||||
"categories": ["utilities"],
|
"categories": ["utilities"],
|
||||||
"description": "Minimal Deluge WebUI with full mobile support",
|
"description": "Minimal Deluge WebUI with full mobile support",
|
||||||
|
|
|
@ -15,9 +15,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.barrage-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.barrage.loadbalancer.server.port: 3000
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.barrage-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.barrage-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.barrage-insecure.service: barrage
|
||||||
|
traefik.http.routers.barrage-insecure.middlewares: barrage-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.barrage.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.barrage.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.barrage.entrypoints: websecure
|
traefik.http.routers.barrage.entrypoints: websecure
|
||||||
traefik.http.routers.barrage.service: barrage
|
traefik.http.routers.barrage.service: barrage
|
||||||
traefik.http.routers.barrage.tls.certresolver: myresolver
|
traefik.http.routers.barrage.tls.certresolver: myresolver
|
||||||
traefik.http.services.barrage.loadbalancer.server.port: 3000
|
# Local domain
|
||||||
|
traefik.http.routers.barrage-local-insecure.rule: Host(`barrage.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.barrage-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.barrage-local-insecure.service: barrage
|
||||||
|
traefik.http.routers.barrage-local-insecure.middlewares: barrage-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.barrage-local.rule: Host(`barrage.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.barrage-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.barrage-local.service: barrage
|
||||||
|
traefik.http.routers.barrage-local.tls: true
|
||||||
|
|
|
@ -5,12 +5,9 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 6767,
|
"port": 6767,
|
||||||
"id": "bazarr",
|
"id": "bazarr",
|
||||||
"tipi_version": 5,
|
"tipi_version": 6,
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"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",
|
||||||
|
|
|
@ -19,9 +19,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.bazarr-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.bazarr.loadbalancer.server.port: 6767
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.bazarr-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.bazarr-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.bazarr-insecure.service: bazarr
|
||||||
|
traefik.http.routers.bazarr-insecure.middlewares: bazarr-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.bazarr.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.bazarr.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.bazarr.entrypoints: websecure
|
traefik.http.routers.bazarr.entrypoints: websecure
|
||||||
traefik.http.routers.bazarr.service: bazarr
|
traefik.http.routers.bazarr.service: bazarr
|
||||||
traefik.http.routers.bazarr.tls.certresolver: myresolver
|
traefik.http.routers.bazarr.tls.certresolver: myresolver
|
||||||
traefik.http.services.bazarr.loadbalancer.server.port: 6767
|
# Local domain
|
||||||
|
traefik.http.routers.bazarr-local-insecure.rule: Host(`bazarr.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.bazarr-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.bazarr-local-insecure.service: bazarr
|
||||||
|
traefik.http.routers.bazarr-local-insecure.middlewares: bazarr-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.bazarr-local.rule: Host(`bazarr.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.bazarr-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.bazarr-local.service: bazarr
|
||||||
|
traefik.http.routers.bazarr-local.tls: true
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8040,
|
"port": 8040,
|
||||||
"tipi_version": 4,
|
"tipi_version": 5,
|
||||||
"version": "2201.1.0",
|
"version": "2201.1.0",
|
||||||
"id": "booksonic",
|
"id": "booksonic",
|
||||||
"categories": ["books", "media"],
|
"categories": ["books", "media"],
|
||||||
|
|
|
@ -18,10 +18,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.booksonic-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.booksonic.loadbalancer.server.port: 4040
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.booksonic-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.booksonic-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.booksonic-insecure.service: booksonic
|
||||||
|
traefik.http.routers.booksonic-insecure.middlewares: booksonic-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.booksonic.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.booksonic.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.booksonic.entrypoints: websecure
|
traefik.http.routers.booksonic.entrypoints: websecure
|
||||||
traefik.http.routers.booksonic.service: booksonic
|
traefik.http.routers.booksonic.service: booksonic
|
||||||
traefik.http.routers.booksonic.tls.certresolver: myresolver
|
traefik.http.routers.booksonic.tls.certresolver: myresolver
|
||||||
traefik.http.services.booksonic.loadbalancer.server.port: 4040
|
# Local domain
|
||||||
|
traefik.http.routers.booksonic-local-insecure.rule: Host(`booksonic.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.booksonic-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.booksonic-local-insecure.service: booksonic
|
||||||
|
traefik.http.routers.booksonic-local-insecure.middlewares: booksonic-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.booksonic-local.rule: Host(`booksonic.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.booksonic-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.booksonic-local.service: booksonic
|
||||||
|
traefik.http.routers.booksonic-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8119,
|
"port": 8119,
|
||||||
"id": "bookstack",
|
"id": "bookstack",
|
||||||
"tipi_version": 8,
|
"tipi_version": 9,
|
||||||
"version": "23.05.20230503",
|
"version": "23.05.20230503",
|
||||||
"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.",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.7'
|
version: "3.7"
|
||||||
services:
|
services:
|
||||||
bookstack:
|
bookstack:
|
||||||
image: lscr.io/linuxserver/bookstack:23.05.20230503
|
image: lscr.io/linuxserver/bookstack:23.05.20230503
|
||||||
|
@ -21,12 +21,30 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.bookstack-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.bookstack.loadbalancer.server.port: 80
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.bookstack-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.bookstack-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.bookstack-insecure.service: bookstack
|
||||||
|
traefik.http.routers.bookstack-insecure.middlewares: bookstack-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.bookstack.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.bookstack.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.bookstack.entrypoints: websecure
|
traefik.http.routers.bookstack.entrypoints: websecure
|
||||||
traefik.http.routers.bookstack.service: bookstack
|
traefik.http.routers.bookstack.service: bookstack
|
||||||
traefik.http.routers.bookstack.tls.certresolver: myresolver
|
traefik.http.routers.bookstack.tls.certresolver: myresolver
|
||||||
traefik.http.services.bookstack.loadbalancer.server.port: 80
|
# Local domain
|
||||||
|
traefik.http.routers.bookstack-local-insecure.rule: Host(`bookstack.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.bookstack-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.bookstack-local-insecure.service: bookstack
|
||||||
|
traefik.http.routers.bookstack-local-insecure.middlewares: bookstack-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.bookstack-local.rule: Host(`bookstack.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.bookstack-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.bookstack-local.service: bookstack
|
||||||
|
traefik.http.routers.bookstack-local.tls: true
|
||||||
|
|
||||||
bookstack-db:
|
bookstack-db:
|
||||||
image: lscr.io/linuxserver/mariadb
|
image: lscr.io/linuxserver/mariadb
|
||||||
|
|
|
@ -4,12 +4,10 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8100,
|
"port": 8100,
|
||||||
"tipi_version": 5,
|
"tipi_version": 6,
|
||||||
"version": "0.6.20",
|
"version": "0.6.20",
|
||||||
"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/",
|
||||||
|
|
|
@ -16,9 +16,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.calibre-web-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.calibre-web.loadbalancer.server.port: 8083
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.calibre-web-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.calibre-web-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.calibre-web-insecure.service: calibre-web
|
||||||
|
traefik.http.routers.calibre-web-insecure.middlewares: calibre-web-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.calibre-web.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.calibre-web.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.calibre-web.entrypoints: websecure
|
traefik.http.routers.calibre-web.entrypoints: websecure
|
||||||
traefik.http.routers.calibre-web.service: calibre-web
|
traefik.http.routers.calibre-web.service: calibre-web
|
||||||
traefik.http.routers.calibre-web.tls.certresolver: myresolver
|
traefik.http.routers.calibre-web.tls.certresolver: myresolver
|
||||||
traefik.http.services.calibre-web.loadbalancer.server.port: 8083
|
# Local domain
|
||||||
|
traefik.http.routers.calibre-web-local-insecure.rule: Host(`calibre-web.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.calibre-web-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.calibre-web-local-insecure.service: calibre-web
|
||||||
|
traefik.http.routers.calibre-web-local-insecure.middlewares: calibre-web-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.calibre-web-local.rule: Host(`calibre-web.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.calibre-web-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.calibre-web-local.service: calibre-web
|
||||||
|
traefik.http.routers.calibre-web-local.tls: true
|
||||||
|
|
|
@ -5,18 +5,14 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "chatgpt-ui",
|
"id": "chatgpt-ui",
|
||||||
"tipi_version": 8,
|
"tipi_version": 9,
|
||||||
"version": "2.5.5",
|
"version": "2.5.5",
|
||||||
"categories": [
|
"categories": ["ai"],
|
||||||
"ai"
|
|
||||||
],
|
|
||||||
"description": "A ChatGPT web client that supports multiple users, multiple languages, and multiple database connections for persistent data storage",
|
"description": "A ChatGPT web client that supports multiple users, multiple languages, and multiple database connections for persistent data storage",
|
||||||
"short_desc": "A ChatGPT web client that supports multiple users, multiple languages, and multiple database connections for persistent data storage",
|
"short_desc": "A ChatGPT web client that supports multiple users, multiple languages, and multiple database connections for persistent data storage",
|
||||||
"author": "https://github.com/WongSaang",
|
"author": "https://github.com/WongSaang",
|
||||||
"source": "https://github.com/WongSaang/chatgpt-ui",
|
"source": "https://github.com/WongSaang/chatgpt-ui",
|
||||||
"supported_architectures": [
|
"supported_architectures": ["amd64"],
|
||||||
"amd64"
|
|
||||||
],
|
|
||||||
"form_fields": [
|
"form_fields": [
|
||||||
{
|
{
|
||||||
"type": "random",
|
"type": "random",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3'
|
version: "3"
|
||||||
services:
|
services:
|
||||||
chatgpt-ui:
|
chatgpt-ui:
|
||||||
image: wongsaang/chatgpt-ui-client:v2.5.5
|
image: wongsaang/chatgpt-ui-client:v2.5.5
|
||||||
|
@ -12,24 +12,42 @@ services:
|
||||||
depends_on:
|
depends_on:
|
||||||
- chatgpt-ui-web-server
|
- chatgpt-ui-web-server
|
||||||
ports:
|
ports:
|
||||||
- '8200:80'
|
- "8200:80"
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.chatgpt-ui-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.chatgpt-ui.loadbalancer.server.port: 80
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.chatgpt-ui-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.chatgpt-ui-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.chatgpt-ui-insecure.service: chatgpt-ui
|
||||||
|
traefik.http.routers.chatgpt-ui-insecure.middlewares: chatgpt-ui-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.chatgpt-ui.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.chatgpt-ui.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.chatgpt-ui.entrypoints: websecure
|
traefik.http.routers.chatgpt-ui.entrypoints: websecure
|
||||||
traefik.http.routers.chatgpt-ui.service: chatgpt-ui
|
traefik.http.routers.chatgpt-ui.service: chatgpt-ui
|
||||||
traefik.http.routers.chatgpt-ui.tls.certresolver: myresolver
|
traefik.http.routers.chatgpt-ui.tls.certresolver: myresolver
|
||||||
traefik.http.services.chatgpt-ui.loadbalancer.server.port: 80
|
# Local domain
|
||||||
|
traefik.http.routers.chatgpt-ui-local-insecure.rule: Host(`chatgpt-ui.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.chatgpt-ui-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.chatgpt-ui-local-insecure.service: chatgpt-ui
|
||||||
|
traefik.http.routers.chatgpt-ui-local-insecure.middlewares: chatgpt-ui-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.chatgpt-ui-local.rule: Host(`chatgpt-ui.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.chatgpt-ui-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.chatgpt-ui-local.service: chatgpt-ui
|
||||||
|
traefik.http.routers.chatgpt-ui-local.tls: true
|
||||||
|
|
||||||
chatgpt-ui-wsgi-server:
|
chatgpt-ui-wsgi-server:
|
||||||
image: wongsaang/chatgpt-ui-wsgi-server:v2.5.1
|
image: wongsaang/chatgpt-ui-wsgi-server:v2.5.1
|
||||||
container_name: chatgpt-ui-wsgi-server
|
container_name: chatgpt-ui-wsgi-server
|
||||||
environment:
|
environment:
|
||||||
- APP_DOMAIN=${INTERNAL_IP}:8201
|
- APP_DOMAIN=${INTERNAL_IP}:8201
|
||||||
- SERVER_WORKERS=3
|
- SERVER_WORKERS=3
|
||||||
- WORKER_TIMEOUT=180
|
- WORKER_TIMEOUT=180
|
||||||
- DB_URL=mysql://tipi:${CHATGPT_UI_DB_PASSWORD}@chatgpt-ui-db:3306/chatgptdb
|
- DB_URL=mysql://tipi:${CHATGPT_UI_DB_PASSWORD}@chatgpt-ui-db:3306/chatgptdb
|
||||||
- DJANGO_SUPERUSER_USERNAME=${CHATGPT_UI_SUPERUSER_USERNAME} # default superuser name
|
- DJANGO_SUPERUSER_USERNAME=${CHATGPT_UI_SUPERUSER_USERNAME} # default superuser name
|
||||||
|
@ -47,14 +65,14 @@ services:
|
||||||
depends_on:
|
depends_on:
|
||||||
- chatgpt-ui-db
|
- chatgpt-ui-db
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
chatgpt-ui-web-server:
|
chatgpt-ui-web-server:
|
||||||
image: wongsaang/chatgpt-ui-web-server:v2.5.1
|
image: wongsaang/chatgpt-ui-web-server:v2.5.1
|
||||||
container_name: chatgpt-ui-web-server
|
container_name: chatgpt-ui-web-server
|
||||||
environment:
|
environment:
|
||||||
- BACKEND_URL=http://chatgpt-ui-wsgi-server:8000
|
- BACKEND_URL=http://chatgpt-ui-wsgi-server:8000
|
||||||
ports:
|
ports:
|
||||||
- '8201:80'
|
- "8201:80"
|
||||||
depends_on:
|
depends_on:
|
||||||
- chatgpt-ui-wsgi-server
|
- chatgpt-ui-wsgi-server
|
||||||
- chatgpt-ui-db
|
- chatgpt-ui-db
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8179,
|
"port": 8179,
|
||||||
"id": "chatpad",
|
"id": "chatpad",
|
||||||
"tipi_version": 2,
|
"tipi_version": 3,
|
||||||
"version": "latest",
|
"version": "latest",
|
||||||
"categories": [
|
"categories": ["ai"],
|
||||||
"ai"
|
|
||||||
],
|
|
||||||
"description": "Not just another ChatGPT user-interface!",
|
"description": "Not just another ChatGPT user-interface!",
|
||||||
"short_desc": "Not just another ChatGPT user-interface!",
|
"short_desc": "Not just another ChatGPT user-interface!",
|
||||||
"author": "Andrei Canta",
|
"author": "Andrei Canta",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.7'
|
version: "3.7"
|
||||||
services:
|
services:
|
||||||
chatpad:
|
chatpad:
|
||||||
image: ghcr.io/deiucanta/chatpad:latest
|
image: ghcr.io/deiucanta/chatpad:latest
|
||||||
|
@ -9,9 +9,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.chatpad-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.chatpad.loadbalancer.server.port: 80
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.chatpad-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.chatpad-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.chatpad-insecure.service: chatpad
|
||||||
|
traefik.http.routers.chatpad-insecure.middlewares: chatpad-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.chatpad.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.chatpad.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.chatpad.entrypoints: websecure
|
traefik.http.routers.chatpad.entrypoints: websecure
|
||||||
traefik.http.routers.chatpad.service: chatpad
|
traefik.http.routers.chatpad.service: chatpad
|
||||||
traefik.http.routers.chatpad.tls.certresolver: myresolver
|
traefik.http.routers.chatpad.tls.certresolver: myresolver
|
||||||
traefik.http.services.chatpad.loadbalancer.server.port: 80
|
# Local domain
|
||||||
|
traefik.http.routers.chatpad-local-insecure.rule: Host(`chatpad.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.chatpad-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.chatpad-local-insecure.service: chatpad
|
||||||
|
traefik.http.routers.chatpad-local-insecure.middlewares: chatpad-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.chatpad-local.rule: Host(`chatpad.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.chatpad-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.chatpad-local.service: chatpad
|
||||||
|
traefik.http.routers.chatpad-local.tls: true
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8138,
|
"port": 8138,
|
||||||
"id": "code-server",
|
"id": "code-server",
|
||||||
"tipi_version": 8,
|
"tipi_version": 9,
|
||||||
"version": "4.13.0",
|
"version": "4.13.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",
|
||||||
|
|
|
@ -18,9 +18,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.code-server-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.code-server.loadbalancer.server.port: 8443
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.code-server-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.code-server-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.code-server-insecure.service: code-server
|
||||||
|
traefik.http.routers.code-server-insecure.middlewares: code-server-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.code-server.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.code-server.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.code-server.entrypoints: websecure
|
traefik.http.routers.code-server.entrypoints: websecure
|
||||||
traefik.http.routers.code-server.service: code-server
|
traefik.http.routers.code-server.service: code-server
|
||||||
traefik.http.routers.code-server.tls.certresolver: myresolver
|
traefik.http.routers.code-server.tls.certresolver: myresolver
|
||||||
traefik.http.services.code-server.loadbalancer.server.port: 8443
|
# Local domain
|
||||||
|
traefik.http.routers.code-server-local-insecure.rule: Host(`code-server.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.code-server-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.code-server-local-insecure.service: code-server
|
||||||
|
traefik.http.routers.code-server-local-insecure.middlewares: code-server-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.code-server-local.rule: Host(`code-server.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.code-server-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.code-server-local.service: code-server
|
||||||
|
traefik.http.routers.code-server-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8101,
|
"port": 8101,
|
||||||
"id": "codex-docs",
|
"id": "codex-docs",
|
||||||
"tipi_version": 1,
|
"tipi_version": 2,
|
||||||
"version": "v2.1",
|
"version": "v2.1",
|
||||||
"categories": ["media"],
|
"categories": ["media"],
|
||||||
"description": "CodeX Docs is a free docs application. It's based on Editor.js ecosystem which gives all modern opportunities for working with content. You can use it for product documentation, for internal team docs, for personal notes or any other need. ",
|
"description": "CodeX Docs is a free docs application. It's based on Editor.js ecosystem which gives all modern opportunities for working with content. You can use it for product documentation, for internal team docs, for personal notes or any other need. ",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.2'
|
version: "3.2"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
codex-docs:
|
codex-docs:
|
||||||
|
@ -19,12 +19,30 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.codex-docs-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.codex-docs.loadbalancer.server.port: 3000
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.codex-docs-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.codex-docs-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.codex-docs-insecure.service: codex-docs
|
||||||
|
traefik.http.routers.codex-docs-insecure.middlewares: codex-docs-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.codex-docs.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.codex-docs.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.codex-docs.entrypoints: websecure
|
traefik.http.routers.codex-docs.entrypoints: websecure
|
||||||
traefik.http.routers.codex-docs.service: codex-docs
|
traefik.http.routers.codex-docs.service: codex-docs
|
||||||
traefik.http.routers.codex-docs.tls.certresolver: myresolver
|
traefik.http.routers.codex-docs.tls.certresolver: myresolver
|
||||||
traefik.http.services.codex-docs.loadbalancer.server.port: 3000
|
# Local domain
|
||||||
|
traefik.http.routers.codex-docs-local-insecure.rule: Host(`codex-docs.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.codex-docs-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.codex-docs-local-insecure.service: codex-docs
|
||||||
|
traefik.http.routers.codex-docs-local-insecure.middlewares: codex-docs-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.codex-docs-local.rule: Host(`codex-docs.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.codex-docs-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.codex-docs-local.service: codex-docs
|
||||||
|
traefik.http.routers.codex-docs-local.tls: true
|
||||||
|
|
||||||
codex-db:
|
codex-db:
|
||||||
container_name: codex-db
|
container_name: codex-db
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "dailytxt",
|
"id": "dailytxt",
|
||||||
"tipi_version": 3,
|
"tipi_version": 4,
|
||||||
"version": "1.0.12",
|
"version": "1.0.12",
|
||||||
"categories": [
|
"categories": ["utilities"],
|
||||||
"utilities"
|
|
||||||
],
|
|
||||||
"description": "DailyTxT is an encrypted Diary Web-App to write down your stories of the day and to find them again easily.",
|
"description": "DailyTxT is an encrypted Diary Web-App to write down your stories of the day and to find them again easily.",
|
||||||
"short_desc": "Encrypted Diary Web-App",
|
"short_desc": "Encrypted Diary Web-App",
|
||||||
"author": "PhiTux",
|
"author": "PhiTux",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.7'
|
version: "3.7"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
dailytxt:
|
dailytxt:
|
||||||
|
@ -15,13 +15,31 @@ services:
|
||||||
ports:
|
ports:
|
||||||
- ${APP_PORT}:8765
|
- ${APP_PORT}:8765
|
||||||
volumes:
|
volumes:
|
||||||
- '${APP_DATA_DIR}/data/dailytxt:/app/data/'
|
- "${APP_DATA_DIR}/data/dailytxt:/app/data/"
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.dailytxt-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.dailytxt.loadbalancer.server.port: 8765
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.dailytxt-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.dailytxt-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.dailytxt-insecure.service: dailytxt
|
||||||
|
traefik.http.routers.dailytxt-insecure.middlewares: dailytxt-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.dailytxt.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.dailytxt.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.dailytxt.entrypoints: websecure
|
traefik.http.routers.dailytxt.entrypoints: websecure
|
||||||
traefik.http.routers.dailytxt.service: dailytxt
|
traefik.http.routers.dailytxt.service: dailytxt
|
||||||
traefik.http.routers.dailytxt.tls.certresolver: myresolver
|
traefik.http.routers.dailytxt.tls.certresolver: myresolver
|
||||||
traefik.http.services.dailytxt.loadbalancer.server.port: 8765
|
# Local domain
|
||||||
|
traefik.http.routers.dailytxt-local-insecure.rule: Host(`dailytxt.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.dailytxt-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.dailytxt-local-insecure.service: dailytxt
|
||||||
|
traefik.http.routers.dailytxt-local-insecure.middlewares: dailytxt-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.dailytxt-local.rule: Host(`dailytxt.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.dailytxt-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.dailytxt-local.service: dailytxt
|
||||||
|
traefik.http.routers.dailytxt-local.tls: true
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "dashdot",
|
"id": "dashdot",
|
||||||
"tipi_version": 3,
|
"tipi_version": 4,
|
||||||
"version": "5.2.1",
|
"version": "5.2.1",
|
||||||
"categories": [
|
"categories": ["utilities"],
|
||||||
"utilities"
|
|
||||||
],
|
|
||||||
"description": "dash. (or dashdot) is a modern server dashboard, running on the latest tech, designed with glassmorphism in mind. It is intended to be used for smaller VPS and private servers.",
|
"description": "dash. (or dashdot) is a modern server dashboard, running on the latest tech, designed with glassmorphism in mind. It is intended to be used for smaller VPS and private servers.",
|
||||||
"short_desc": "A simple, modern server dashboard, primarily used by smaller private server",
|
"short_desc": "A simple, modern server dashboard, primarily used by smaller private server",
|
||||||
"author": "MauriceNino",
|
"author": "MauriceNino",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.5'
|
version: "3.5"
|
||||||
services:
|
services:
|
||||||
dashdot:
|
dashdot:
|
||||||
image: mauricenino/dashdot:5.2.1
|
image: mauricenino/dashdot:5.2.1
|
||||||
|
@ -20,9 +20,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.dashdot-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.dashdot.loadbalancer.server.port: 3001
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.dashdot-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.dashdot-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.dashdot-insecure.service: dashdot
|
||||||
|
traefik.http.routers.dashdot-insecure.middlewares: dashdot-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.dashdot.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.dashdot.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.dashdot.entrypoints: websecure
|
traefik.http.routers.dashdot.entrypoints: websecure
|
||||||
traefik.http.routers.dashdot.service: dashdot
|
traefik.http.routers.dashdot.service: dashdot
|
||||||
traefik.http.routers.dashdot.tls.certresolver: myresolver
|
traefik.http.routers.dashdot.tls.certresolver: myresolver
|
||||||
traefik.http.services.dashdot.loadbalancer.server.port: 3001
|
# Local domain
|
||||||
|
traefik.http.routers.dashdot-local-insecure.rule: Host(`dashdot.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.dashdot-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.dashdot-local-insecure.service: dashdot
|
||||||
|
traefik.http.routers.dashdot-local-insecure.middlewares: dashdot-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.dashdot-local.rule: Host(`dashdot.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.dashdot-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.dashdot-local.service: dashdot
|
||||||
|
traefik.http.routers.dashdot-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "deemix",
|
"id": "deemix",
|
||||||
"tipi_version": 1,
|
"tipi_version": 2,
|
||||||
"version": "latest",
|
"version": "latest",
|
||||||
"categories": ["media", "music"],
|
"categories": ["media", "music"],
|
||||||
"description": "deemix is a barebone deezer downloader library built from the ashes of Deezloader Remix.",
|
"description": "deemix is a barebone deezer downloader library built from the ashes of Deezloader Remix.",
|
||||||
|
|
|
@ -19,9 +19,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.deemix-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.deemix.loadbalancer.server.port: 6595
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.deemix-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.deemix-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.deemix-insecure.service: deemix
|
||||||
|
traefik.http.routers.deemix-insecure.middlewares: deemix-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.deemix.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.deemix.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.deemix.entrypoints: websecure
|
traefik.http.routers.deemix.entrypoints: websecure
|
||||||
traefik.http.routers.deemix.service: deemix
|
traefik.http.routers.deemix.service: deemix
|
||||||
traefik.http.routers.deemix.tls.certresolver: myresolver
|
traefik.http.routers.deemix.tls.certresolver: myresolver
|
||||||
traefik.http.services.deemix.loadbalancer.server.port: 6595
|
# Local domain
|
||||||
|
traefik.http.routers.deemix-local-insecure.rule: Host(`deemix.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.deemix-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.deemix-local-insecure.service: deemix
|
||||||
|
traefik.http.routers.deemix-local-insecure.middlewares: deemix-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.deemix-local.rule: Host(`deemix.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.deemix-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.deemix-local.service: deemix
|
||||||
|
traefik.http.routers.deemix-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "deluge",
|
"id": "deluge",
|
||||||
"tipi_version": 2,
|
"tipi_version": 3,
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"categories": ["utilities"],
|
"categories": ["utilities"],
|
||||||
"description": "Deluge is a lightweight, Free Software, cross-platform BitTorrent client.",
|
"description": "Deluge is a lightweight, Free Software, cross-platform BitTorrent client.",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '2.1'
|
version: "2.1"
|
||||||
services:
|
services:
|
||||||
deluge:
|
deluge:
|
||||||
image: lscr.io/linuxserver/deluge:2.1.1
|
image: lscr.io/linuxserver/deluge:2.1.1
|
||||||
|
@ -19,9 +19,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.deluge-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.deluge.loadbalancer.server.port: 8112
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.deluge-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.deluge-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.deluge-insecure.service: deluge
|
||||||
|
traefik.http.routers.deluge-insecure.middlewares: deluge-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.deluge.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.deluge.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.deluge.entrypoints: websecure
|
traefik.http.routers.deluge.entrypoints: websecure
|
||||||
traefik.http.routers.deluge.service: deluge
|
traefik.http.routers.deluge.service: deluge
|
||||||
traefik.http.routers.deluge.tls.certresolver: myresolver
|
traefik.http.routers.deluge.tls.certresolver: myresolver
|
||||||
traefik.http.services.deluge.loadbalancer.server.port: 8112
|
# Local domain
|
||||||
|
traefik.http.routers.deluge-local-insecure.rule: Host(`deluge.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.deluge-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.deluge-local-insecure.service: deluge
|
||||||
|
traefik.http.routers.deluge-local-insecure.middlewares: deluge-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.deluge-local.rule: Host(`deluge.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.deluge-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.deluge-local.service: deluge
|
||||||
|
traefik.http.routers.deluge-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "dokuwiki",
|
"id": "dokuwiki",
|
||||||
"tipi_version": 1,
|
"tipi_version": 2,
|
||||||
"version": "2022-07-31a-ls158",
|
"version": "2022-07-31a-ls158",
|
||||||
"categories": ["media"],
|
"categories": ["media"],
|
||||||
"description": "DokuWiki is a simple to use and highly versatile Open Source wiki software that doesn't require a database. It is loved by users for its clean and readable syntax. The ease of maintenance, backup and integration makes it an administrator's favorite. Built in access controls and authentication connectors make DokuWiki especially useful in the enterprise context and the large number of plugins contributed by its vibrant community allow for a broad range of use cases beyond a traditional wiki.",
|
"description": "DokuWiki is a simple to use and highly versatile Open Source wiki software that doesn't require a database. It is loved by users for its clean and readable syntax. The ease of maintenance, backup and integration makes it an administrator's favorite. Built in access controls and authentication connectors make DokuWiki especially useful in the enterprise context and the large number of plugins contributed by its vibrant community allow for a broad range of use cases beyond a traditional wiki.",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3'
|
version: "3"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
dokuwiki:
|
dokuwiki:
|
||||||
|
@ -13,9 +13,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.dokuwiki-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.dokuwiki.loadbalancer.server.port: 80
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.dokuwiki-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.dokuwiki-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.dokuwiki-insecure.service: dokuwiki
|
||||||
|
traefik.http.routers.dokuwiki-insecure.middlewares: dokuwiki-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.dokuwiki.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.dokuwiki.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.dokuwiki.entrypoints: websecure
|
traefik.http.routers.dokuwiki.entrypoints: websecure
|
||||||
traefik.http.routers.dokuwiki.service: dokuwiki
|
traefik.http.routers.dokuwiki.service: dokuwiki
|
||||||
traefik.http.routers.dokuwiki.tls.certresolver: myresolver
|
traefik.http.routers.dokuwiki.tls.certresolver: myresolver
|
||||||
traefik.http.services.dokuwiki.loadbalancer.server.port: 80
|
# Local domain
|
||||||
|
traefik.http.routers.dokuwiki-local-insecure.rule: Host(`dokuwiki.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.dokuwiki-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.dokuwiki-local-insecure.service: dokuwiki
|
||||||
|
traefik.http.routers.dokuwiki-local-insecure.middlewares: dokuwiki-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.dokuwiki-local.rule: Host(`dokuwiki.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.dokuwiki-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.dokuwiki-local.service: dokuwiki
|
||||||
|
traefik.http.routers.dokuwiki-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8013,
|
"port": 8013,
|
||||||
"id": "dozzle",
|
"id": "dozzle",
|
||||||
"tipi_version": 1,
|
"tipi_version": 2,
|
||||||
"version": "latest",
|
"version": "latest",
|
||||||
"categories": ["development"],
|
"categories": ["development"],
|
||||||
"description": "Dozzle is a small web based app to monitor Docker logs.",
|
"description": "Dozzle is a small web based app to monitor Docker logs.",
|
||||||
|
|
|
@ -15,10 +15,27 @@ services:
|
||||||
- DOZZLE_USERNAME=${DOZZLE_USERNAME}
|
- DOZZLE_USERNAME=${DOZZLE_USERNAME}
|
||||||
- DOZZLE_PASSWORD=${DOZZLE_PASSWORD}
|
- DOZZLE_PASSWORD=${DOZZLE_PASSWORD}
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.dozzle-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.dozzle.loadbalancer.server.port: 8080
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.dozzle-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.dozzle-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.dozzle-insecure.service: dozzle
|
||||||
|
traefik.http.routers.dozzle-insecure.middlewares: dozzle-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.dozzle.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.dozzle.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.dozzle.entrypoints: websecure
|
traefik.http.routers.dozzle.entrypoints: websecure
|
||||||
traefik.http.routers.dozzle.service: dozzle
|
traefik.http.routers.dozzle.service: dozzle
|
||||||
traefik.http.routers.dozzle.tls.certresolver: myresolver
|
traefik.http.routers.dozzle.tls.certresolver: myresolver
|
||||||
traefik.http.services.dozzle.loadbalancer.server.port: 8080
|
# Local domain
|
||||||
|
traefik.http.routers.dozzle-local-insecure.rule: Host(`dozzle.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.dozzle-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.dozzle-local-insecure.service: dozzle
|
||||||
|
traefik.http.routers.dozzle-local-insecure.middlewares: dozzle-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.dozzle-local.rule: Host(`dozzle.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.dozzle-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.dozzle-local.service: dozzle
|
||||||
|
traefik.http.routers.dozzle-local.tls: true
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "duplicati",
|
"id": "duplicati",
|
||||||
"tipi_version": 2,
|
"tipi_version": 3,
|
||||||
"version": "2.0.7",
|
"version": "2.0.7",
|
||||||
"categories": [
|
"categories": ["data"],
|
||||||
"data"
|
|
||||||
],
|
|
||||||
"description": "Duplicati is a free, open source, backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers.",
|
"description": "Duplicati is a free, open source, backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers.",
|
||||||
"short_desc": "Store securely encrypted backups in the cloud!",
|
"short_desc": "Store securely encrypted backups in the cloud!",
|
||||||
"author": "https://github.com/duplicati",
|
"author": "https://github.com/duplicati",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.7'
|
version: "3.7"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
duplicati:
|
duplicati:
|
||||||
|
@ -17,9 +17,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.duplicati-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.duplicati.loadbalancer.server.port: 8200
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.duplicati-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.duplicati-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.duplicati-insecure.service: duplicati
|
||||||
|
traefik.http.routers.duplicati-insecure.middlewares: duplicati-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.duplicati.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.duplicati.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.duplicati.entrypoints: websecure
|
traefik.http.routers.duplicati.entrypoints: websecure
|
||||||
traefik.http.routers.duplicati.service: duplicati
|
traefik.http.routers.duplicati.service: duplicati
|
||||||
traefik.http.routers.duplicati.tls.certresolver: myresolver
|
traefik.http.routers.duplicati.tls.certresolver: myresolver
|
||||||
traefik.http.services.duplicati.loadbalancer.server.port: 8200
|
# Local domain
|
||||||
|
traefik.http.routers.duplicati-local-insecure.rule: Host(`duplicati.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.duplicati-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.duplicati-local-insecure.service: duplicati
|
||||||
|
traefik.http.routers.duplicati-local-insecure.middlewares: duplicati-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.duplicati-local.rule: Host(`duplicati.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.duplicati-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.duplicati-local.service: duplicati
|
||||||
|
traefik.http.routers.duplicati-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "emulatorjs",
|
"id": "emulatorjs",
|
||||||
"tipi_version": 1,
|
"tipi_version": 2,
|
||||||
"version": "1.7.2",
|
"version": "1.7.2",
|
||||||
"categories": ["gaming"],
|
"categories": ["gaming"],
|
||||||
"description": "Self-hosted Javascript emulation for various system.",
|
"description": "Self-hosted Javascript emulation for various system.",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.7'
|
version: "3.7"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
emulatorjs:
|
emulatorjs:
|
||||||
|
@ -16,9 +16,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.emulatorjs-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.emulatorjs.loadbalancer.server.port: 80
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.emulatorjs-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.emulatorjs-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.emulatorjs-insecure.service: emulatorjs
|
||||||
|
traefik.http.routers.emulatorjs-insecure.middlewares: emulatorjs-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.emulatorjs.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.emulatorjs.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.appname.entrypoints: websecure
|
traefik.http.routers.emulatorjs.entrypoints: websecure
|
||||||
traefik.http.routers.emulatorjs.service: emulatorjs
|
traefik.http.routers.emulatorjs.service: emulatorjs
|
||||||
traefik.http.routers.emulatorjs.tls.certresolver: myresolver
|
traefik.http.routers.emulatorjs.tls.certresolver: myresolver
|
||||||
traefik.http.services.emulatorjs.loadbalancer.server.port: 80
|
# Local domain
|
||||||
|
traefik.http.routers.emulatorjs-local-insecure.rule: Host(`emulatorjs.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.emulatorjs-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.emulatorjs-local-insecure.service: emulatorjs
|
||||||
|
traefik.http.routers.emulatorjs-local-insecure.middlewares: emulatorjs-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.emulatorjs-local.rule: Host(`emulatorjs.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.emulatorjs-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.emulatorjs-local.service: emulatorjs
|
||||||
|
traefik.http.routers.emulatorjs-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "excalidraw",
|
"id": "excalidraw",
|
||||||
"tipi_version": 1,
|
"tipi_version": 2,
|
||||||
"version": "latest",
|
"version": "latest",
|
||||||
"categories": ["utilities"],
|
"categories": ["utilities"],
|
||||||
"description": "Virtual whiteboard for sketching hand-drawn like diagrams",
|
"description": "Virtual whiteboard for sketching hand-drawn like diagrams",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.7'
|
version: "3.7"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
excalidraw:
|
excalidraw:
|
||||||
|
@ -10,9 +10,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.excalidraw-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.excalidraw.loadbalancer.server.port: 80
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.excalidraw-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.excalidraw-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.excalidraw-insecure.service: excalidraw
|
||||||
|
traefik.http.routers.excalidraw-insecure.middlewares: excalidraw-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.excalidraw.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.excalidraw.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.excalidraw.entrypoints: websecure
|
traefik.http.routers.excalidraw.entrypoints: websecure
|
||||||
traefik.http.routers.excalidraw.service: excalidraw
|
traefik.http.routers.excalidraw.service: excalidraw
|
||||||
traefik.http.routers.excalidraw.tls.certresolver: myresolver
|
traefik.http.routers.excalidraw.tls.certresolver: myresolver
|
||||||
traefik.http.services.excalidraw.loadbalancer.server.port: 80
|
# Local domain
|
||||||
|
traefik.http.routers.excalidraw-local-insecure.rule: Host(`excalidraw.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.excalidraw-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.excalidraw-local-insecure.service: excalidraw
|
||||||
|
traefik.http.routers.excalidraw-local-insecure.middlewares: excalidraw-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.excalidraw-local.rule: Host(`excalidraw.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.excalidraw-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.excalidraw-local.service: excalidraw
|
||||||
|
traefik.http.routers.excalidraw-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8096,
|
"port": 8096,
|
||||||
"id": "filebrowser",
|
"id": "filebrowser",
|
||||||
"tipi_version": 2,
|
"tipi_version": 3,
|
||||||
"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",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.7'
|
version: "3.7"
|
||||||
services:
|
services:
|
||||||
filebrowser:
|
filebrowser:
|
||||||
container_name: filebrowser
|
container_name: filebrowser
|
||||||
|
@ -16,9 +16,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.filebrowser-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.filebrowser.loadbalancer.server.port: 80
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.filebrowser-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.filebrowser-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.filebrowser-insecure.service: filebrowser
|
||||||
|
traefik.http.routers.filebrowser-insecure.middlewares: filebrowser-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.filebrowser.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.filebrowser.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.filebrowser.entrypoints: websecure
|
traefik.http.routers.filebrowser.entrypoints: websecure
|
||||||
traefik.http.routers.filebrowser.service: filebrowser
|
traefik.http.routers.filebrowser.service: filebrowser
|
||||||
traefik.http.routers.filebrowser.tls.certresolver: myresolver
|
traefik.http.routers.filebrowser.tls.certresolver: myresolver
|
||||||
traefik.http.services.filebrowser.loadbalancer.server.port: 80
|
# Local domain
|
||||||
|
traefik.http.routers.filebrowser-local-insecure.rule: Host(`filebrowser.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.filebrowser-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.filebrowser-local-insecure.service: filebrowser
|
||||||
|
traefik.http.routers.filebrowser-local-insecure.middlewares: filebrowser-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.filebrowser-local.rule: Host(`filebrowser.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.filebrowser-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.filebrowser-local.service: filebrowser
|
||||||
|
traefik.http.routers.filebrowser-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "filestash",
|
"id": "filestash",
|
||||||
"tipi_version": 1,
|
"tipi_version": 2,
|
||||||
"version": "397fd8b",
|
"version": "397fd8b",
|
||||||
"categories": ["utilities"],
|
"categories": ["utilities"],
|
||||||
"description": "A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze",
|
"description": "A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze",
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
"label": "(Optional) Google Drive Client ID",
|
"label": "(Optional) Google Drive Client ID",
|
||||||
"required": false,
|
"required": false,
|
||||||
"env_variable": "FILESTASH_GDRIVE_CLIENT_ID"
|
"env_variable": "FILESTASH_GDRIVE_CLIENT_ID"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"label": "(Optional) Google Drive Client Secret",
|
"label": "(Optional) Google Drive Client Secret",
|
||||||
|
|
|
@ -1,28 +1,46 @@
|
||||||
version: '2'
|
version: "2"
|
||||||
services:
|
services:
|
||||||
filestash:
|
filestash:
|
||||||
container_name: filestash
|
container_name: filestash
|
||||||
image: machines/filestash:397fd8b
|
image: machines/filestash:397fd8b
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- APPLICATION_URL=${APP_DOMAIN}
|
- APPLICATION_URL=${APP_DOMAIN}
|
||||||
- GDRIVE_CLIENT_ID=${FILESTASH_GDRIVE_CLIENT_ID}
|
- GDRIVE_CLIENT_ID=${FILESTASH_GDRIVE_CLIENT_ID}
|
||||||
- GDRIVE_CLIENT_SECRET=${FILESTASH_GDRIVE_CLIENT_SECRET}
|
- GDRIVE_CLIENT_SECRET=${FILESTASH_GDRIVE_CLIENT_SECRET}
|
||||||
- DROPBOX_CLIENT_ID=${FILESTASH_DROPBOX_CLIENT_ID}
|
- DROPBOX_CLIENT_ID=${FILESTASH_DROPBOX_CLIENT_ID}
|
||||||
- ONLYOFFICE_URL=http://filestash-onlyoffice
|
- ONLYOFFICE_URL=http://filestash-onlyoffice
|
||||||
ports:
|
ports:
|
||||||
- ${APP_PORT}:8334
|
- ${APP_PORT}:8334
|
||||||
depends_on:
|
depends_on:
|
||||||
- filestash-onlyoffice
|
- filestash-onlyoffice
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.filestash-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.filestash.loadbalancer.server.port: 8334
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.filestash-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.filestash-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.filestash-insecure.service: filestash
|
||||||
|
traefik.http.routers.filestash-insecure.middlewares: filestash-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.filestash.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.filestash.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.filestash.entrypoints: websecure
|
traefik.http.routers.filestash.entrypoints: websecure
|
||||||
traefik.http.routers.filestash.service: filestash
|
traefik.http.routers.filestash.service: filestash
|
||||||
traefik.http.routers.filestash.tls.certresolver: myresolver
|
traefik.http.routers.filestash.tls.certresolver: myresolver
|
||||||
traefik.http.services.filestash.loadbalancer.server.port: 8334
|
# Local domain
|
||||||
|
traefik.http.routers.filestash-local-insecure.rule: Host(`filestash.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.filestash-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.filestash-local-insecure.service: filestash
|
||||||
|
traefik.http.routers.filestash-local-insecure.middlewares: filestash-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.filestash-local.rule: Host(`filestash.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.filestash-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.filestash-local.service: filestash
|
||||||
|
traefik.http.routers.filestash-local.tls: true
|
||||||
|
|
||||||
filestash-onlyoffice:
|
filestash-onlyoffice:
|
||||||
container_name: filestash_oods
|
container_name: filestash_oods
|
||||||
|
@ -32,4 +50,3 @@ services:
|
||||||
- seccomp:unconfined
|
- seccomp:unconfined
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8115,
|
"port": 8115,
|
||||||
"tipi_version": 3,
|
"tipi_version": 4,
|
||||||
"version": "version-5.7.11",
|
"version": "version-5.7.11",
|
||||||
"id": "firefly-iii",
|
"id": "firefly-iii",
|
||||||
"categories": ["finance"],
|
"categories": ["finance"],
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.9'
|
version: "3.9"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
firefly-iii:
|
firefly-iii:
|
||||||
|
@ -43,16 +43,34 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.firefly-iii-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.firefly-iii.loadbalancer.server.port: 8080
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.firefly-iii-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.firefly-iii-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.firefly-iii-insecure.service: firefly-iii
|
||||||
|
traefik.http.routers.firefly-iii-insecure.middlewares: firefly-iii-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.firefly-iii.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.firefly-iii.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.firefly-iii.entrypoints: websecure
|
traefik.http.routers.firefly-iii.entrypoints: websecure
|
||||||
traefik.http.routers.firefly-iii.service: firefly-iii
|
traefik.http.routers.firefly-iii.service: firefly-iii
|
||||||
traefik.http.routers.firefly-iii.tls.certresolver: myresolver
|
traefik.http.routers.firefly-iii.tls.certresolver: myresolver
|
||||||
traefik.http.services.firefly-iii.loadbalancer.server.port: 8080
|
# Local domain
|
||||||
|
traefik.http.routers.firefly-iii-local-insecure.rule: Host(`firefly-iii.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.firefly-iii-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.firefly-iii-local-insecure.service: firefly-iii
|
||||||
|
traefik.http.routers.firefly-iii-local-insecure.middlewares: firefly-iii-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.firefly-iii-local.rule: Host(`firefly-iii.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.firefly-iii-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.firefly-iii-local.service: firefly-iii
|
||||||
|
traefik.http.routers.firefly-iii-local.tls: true
|
||||||
|
|
||||||
firefly-iii-db:
|
firefly-iii-db:
|
||||||
container_name: firefly-iii-db
|
container_name: firefly-iii-db
|
||||||
image: mariadb
|
image: mariadb
|
||||||
hostname: fireflyiii-db
|
hostname: fireflyiii-db
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "fireshare",
|
"id": "fireshare",
|
||||||
"tipi_version": 2,
|
"tipi_version": 3,
|
||||||
"version": "1.2.9",
|
"version": "1.2.9",
|
||||||
"categories": [
|
"categories": ["development"],
|
||||||
"development"
|
|
||||||
],
|
|
||||||
"description": "Self host your media and share with unique links. Share your game clips, videos, or other media via unique links.",
|
"description": "Self host your media and share with unique links. Share your game clips, videos, or other media via unique links.",
|
||||||
"short_desc": "Self host your media and share with unique links",
|
"short_desc": "Self host your media and share with unique links",
|
||||||
"author": "https://github.com/ShaneIsrael",
|
"author": "https://github.com/ShaneIsrael",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3'
|
version: "3"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
fireshare:
|
fireshare:
|
||||||
|
@ -20,9 +20,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.fireshare-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.fireshare.loadbalancer.server.port: 80
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.fireshare-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.fireshare-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.fireshare-insecure.service: fireshare
|
||||||
|
traefik.http.routers.fireshare-insecure.middlewares: fireshare-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.fireshare.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.fireshare.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.fireshare.entrypoints: websecure
|
traefik.http.routers.fireshare.entrypoints: websecure
|
||||||
traefik.http.routers.fireshare.service: fireshare
|
traefik.http.routers.fireshare.service: fireshare
|
||||||
traefik.http.routers.fireshare.tls.certresolver: myresolver
|
traefik.http.routers.fireshare.tls.certresolver: myresolver
|
||||||
traefik.http.services.fireshare.loadbalancer.server.port: 80
|
# Local domain
|
||||||
|
traefik.http.routers.fireshare-local-insecure.rule: Host(`fireshare.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.fireshare-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.fireshare-local-insecure.service: fireshare
|
||||||
|
traefik.http.routers.fireshare-local-insecure.middlewares: fireshare-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.fireshare-local.rule: Host(`fireshare.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.fireshare-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.fireshare-local.service: fireshare
|
||||||
|
traefik.http.routers.fireshare-local.tls: true
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "flatnotes",
|
"id": "flatnotes",
|
||||||
"port": 8137,
|
"port": 8137,
|
||||||
"tipi_version": 6,
|
"tipi_version": 7,
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"categories": [
|
"categories": ["utilities"],
|
||||||
"utilities"
|
|
||||||
],
|
|
||||||
"description": "A self-hosted, database-less note taking web app that utilises a flat folder of markdown files for storage.",
|
"description": "A self-hosted, database-less note taking web app that utilises a flat folder of markdown files for storage.",
|
||||||
"short_desc": "A self-hosted, database-less note taking web app",
|
"short_desc": "A self-hosted, database-less note taking web app",
|
||||||
"author": "Dullage",
|
"author": "Dullage",
|
||||||
|
|
|
@ -13,16 +13,34 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- "${APP_DATA_DIR}/data:/data"
|
- "${APP_DATA_DIR}/data:/data"
|
||||||
# - "./index:/app/data/.flatnotes"
|
# - "./index:/app/data/.flatnotes"
|
||||||
# Optional. Allows you to save the search index in a different location.
|
# Optional. Allows you to save the search index in a different location.
|
||||||
ports:
|
ports:
|
||||||
- ${APP_PORT}:8080
|
- ${APP_PORT}:8080
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.flatnotes-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.flatnotes.loadbalancer.server.port: 8080
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.flatnotes-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.flatnotes-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.flatnotes-insecure.service: flatnotes
|
||||||
|
traefik.http.routers.flatnotes-insecure.middlewares: flatnotes-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.flatnotes.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.flatnotes.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.flatnotes.entrypoints: websecure
|
traefik.http.routers.flatnotes.entrypoints: websecure
|
||||||
traefik.http.routers.flatnotes.service: flatnotes
|
traefik.http.routers.flatnotes.service: flatnotes
|
||||||
traefik.http.routers.flatnotes.tls.certresolver: myresolver
|
traefik.http.routers.flatnotes.tls.certresolver: myresolver
|
||||||
traefik.http.services.flatnotes.loadbalancer.server.port: 8080
|
# Local domain
|
||||||
|
traefik.http.routers.flatnotes-local-insecure.rule: Host(`flatnotes.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.flatnotes-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.flatnotes-local-insecure.service: flatnotes
|
||||||
|
traefik.http.routers.flatnotes-local-insecure.middlewares: flatnotes-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.flatnotes-local.rule: Host(`flatnotes.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.flatnotes-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.flatnotes-local.service: flatnotes
|
||||||
|
traefik.http.routers.flatnotes-local.tls: true
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8086,
|
"port": 8086,
|
||||||
"id": "freshrss",
|
"id": "freshrss",
|
||||||
"tipi_version": 4,
|
"tipi_version": 5,
|
||||||
"version": "1.21.0",
|
"version": "1.21.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/",
|
||||||
|
|
|
@ -16,9 +16,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.freshrss-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.freshrss.loadbalancer.server.port: 80
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.freshrss-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.freshrss-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.freshrss-insecure.service: freshrss
|
||||||
|
traefik.http.routers.freshrss-insecure.middlewares: freshrss-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.freshrss.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.freshrss.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.freshrss.entrypoints: websecure
|
traefik.http.routers.freshrss.entrypoints: websecure
|
||||||
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
|
# Local domain
|
||||||
|
traefik.http.routers.freshrss-local-insecure.rule: Host(`freshrss.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.freshrss-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.freshrss-local-insecure.service: freshrss
|
||||||
|
traefik.http.routers.freshrss-local-insecure.middlewares: freshrss-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.freshrss-local.rule: Host(`freshrss.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.freshrss-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.freshrss-local.service: freshrss
|
||||||
|
traefik.http.routers.freshrss-local.tls: true
|
||||||
|
|
|
@ -5,12 +5,9 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "ghost",
|
"id": "ghost",
|
||||||
"tipi_version": 21,
|
"tipi_version": 22,
|
||||||
"version": "5.49.3",
|
"version": "5.49.3",
|
||||||
"categories": [
|
"categories": ["social", "media"],
|
||||||
"social",
|
|
||||||
"media"
|
|
||||||
],
|
|
||||||
"description": "Ghost is a powerful app for new-media creators to publish, share, and grow a business around their content. It comes with modern tools to build a website, publish content, send newsletters & offer paid subscriptions to members.",
|
"description": "Ghost is a powerful app for new-media creators to publish, share, and grow a business around their content. It comes with modern tools to build a website, publish content, send newsletters & offer paid subscriptions to members.",
|
||||||
"short_desc": "Ghost - Turn your audience into a business.",
|
"short_desc": "Ghost - Turn your audience into a business.",
|
||||||
"author": "TryGhost",
|
"author": "TryGhost",
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
version: '3.9'
|
version: "3.9"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
ghost:
|
ghost:
|
||||||
image: ghost:5.49.3
|
image: ghost:5.49.3
|
||||||
container_name: ghost
|
container_name: ghost
|
||||||
depends_on:
|
depends_on:
|
||||||
- ghostdb
|
- ghostdb
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- ${APP_PORT}:2368
|
- ${APP_PORT}:2368
|
||||||
|
@ -23,12 +22,30 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.ghost-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.ghost.loadbalancer.server.port: 2368
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.ghost-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.ghost-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.ghost-insecure.service: ghost
|
||||||
|
traefik.http.routers.ghost-insecure.middlewares: ghost-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.ghost.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.ghost.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.ghost.entrypoints: websecure
|
traefik.http.routers.ghost.entrypoints: websecure
|
||||||
traefik.http.routers.ghost.service: ghost
|
traefik.http.routers.ghost.service: ghost
|
||||||
traefik.http.routers.ghost.tls.certresolver: myresolver
|
traefik.http.routers.ghost.tls.certresolver: myresolver
|
||||||
traefik.http.services.ghost.loadbalancer.server.port: 2368
|
# Local domain
|
||||||
|
traefik.http.routers.ghost-local-insecure.rule: Host(`ghost.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.ghost-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.ghost-local-insecure.service: ghost
|
||||||
|
traefik.http.routers.ghost-local-insecure.middlewares: ghost-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.ghost-local.rule: Host(`ghost.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.ghost-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.ghost-local.service: ghost
|
||||||
|
traefik.http.routers.ghost-local.tls: true
|
||||||
|
|
||||||
ghostdb:
|
ghostdb:
|
||||||
container_name: ghostdb
|
container_name: ghostdb
|
||||||
|
@ -41,4 +58,4 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- ${APP_DATA_DIR}/data/db:/var/lib/mysql
|
- ${APP_DATA_DIR}/data/db:/var/lib/mysql
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "gitea",
|
"id": "gitea",
|
||||||
"tipi_version": 7,
|
"tipi_version": 8,
|
||||||
"version": "1.19.3",
|
"version": "1.19.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",
|
||||||
|
|
|
@ -23,12 +23,30 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.gitea-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.gitea.loadbalancer.server.port: 3000
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.gitea-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.gitea-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.gitea-insecure.service: gitea
|
||||||
|
traefik.http.routers.gitea-insecure.middlewares: gitea-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.gitea.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.gitea.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.gitea.entrypoints: websecure
|
traefik.http.routers.gitea.entrypoints: websecure
|
||||||
traefik.http.routers.gitea.service: gitea
|
traefik.http.routers.gitea.service: gitea
|
||||||
traefik.http.routers.gitea.tls.certresolver: myresolver
|
traefik.http.routers.gitea.tls.certresolver: myresolver
|
||||||
traefik.http.services.gitea.loadbalancer.server.port: 3000
|
# Local domain
|
||||||
|
traefik.http.routers.gitea-local-insecure.rule: Host(`gitea.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.gitea-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.gitea-local-insecure.service: gitea
|
||||||
|
traefik.http.routers.gitea-local-insecure.middlewares: gitea-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.gitea-local.rule: Host(`gitea.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.gitea-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.gitea-local.service: gitea
|
||||||
|
traefik.http.routers.gitea-local.tls: true
|
||||||
|
|
||||||
gitea-db:
|
gitea-db:
|
||||||
container_name: gitea-db
|
container_name: gitea-db
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"port": 8129,
|
"port": 8129,
|
||||||
"id": "gotify",
|
"id": "gotify",
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"tipi_version": 2,
|
"tipi_version": 3,
|
||||||
"version": "2.2.4",
|
"version": "2.2.4",
|
||||||
"categories": ["utilities"],
|
"categories": ["utilities"],
|
||||||
"description": "Simple server for sending and receiving notification messages.",
|
"description": "Simple server for sending and receiving notification messages.",
|
||||||
|
|
|
@ -14,17 +14,31 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
# Traefik Redirect to HTTPS
|
traefik.enable: true
|
||||||
traefik.http.middlewares.redirect-https.redirectScheme.scheme: https
|
traefik.http.middlewares.gotify-web-redirect.redirectscheme.scheme: https
|
||||||
traefik.http.middlewares.redirect-https.redirectScheme.permanent: true
|
traefik.http.middlewares.gotify-web-redirect.redirectscheme.permanent: true
|
||||||
# Traefik Router + Service Configuration
|
traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-Proto: http
|
||||||
|
traefik.http.services.gotify.loadbalancer.server.port: 80
|
||||||
|
traefik.http.services.gotify.loadbalancer.passhostheader: true
|
||||||
|
traefik.http.services.gotify.loadbalancer.sticky: true
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.gotify-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.gotify-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.gotify-insecure.service: gotify
|
||||||
|
traefik.http.routers.gotify-insecure.middlewares: gotify-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.gotify.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.gotify.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.gotify.entrypoints: websecure
|
traefik.http.routers.gotify.entrypoints: websecure
|
||||||
traefik.http.routers.gotify.tls.certresolver: myresolver
|
|
||||||
traefik.http.routers.gotify.middlewares: redirect-https
|
|
||||||
traefik.http.routers.gotify.service: gotify
|
traefik.http.routers.gotify.service: gotify
|
||||||
traefik.http.services.gotify.loadbalancer.passhostheader: true
|
traefik.http.routers.gotify.tls.certresolver: myresolver
|
||||||
traefik.http.services.gotify.loadbalancer.server.port: 80
|
# Local domain
|
||||||
traefik.http.services.gotify.loadbalancer.sticky: true
|
traefik.http.routers.gotify-local-insecure.rule: Host(`gotify.${LOCAL_DOMAIN}`)
|
||||||
traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-Proto: http
|
traefik.http.routers.gotify-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.gotify-local-insecure.service: gotify
|
||||||
|
traefik.http.routers.gotify-local-insecure.middlewares: gotify-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.gotify-local.rule: Host(`gotify.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.gotify-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.gotify-local.service: gotify
|
||||||
|
traefik.http.routers.gotify-local.tls: true
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.7'
|
version: "3.7"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
gotify:
|
gotify:
|
||||||
|
@ -6,7 +6,7 @@ services:
|
||||||
container_name: gotify
|
container_name: gotify
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- '${APP_DATA_DIR}/data:/app/data'
|
- "${APP_DATA_DIR}/data:/app/data"
|
||||||
environment:
|
environment:
|
||||||
- GOTIFY_DEFAULTUSER_PASS=${GOTIFY_DEFAULTUSER_PASS}
|
- GOTIFY_DEFAULTUSER_PASS=${GOTIFY_DEFAULTUSER_PASS}
|
||||||
ports:
|
ports:
|
||||||
|
@ -14,17 +14,31 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
# Traefik Redirect to HTTPS
|
traefik.enable: true
|
||||||
traefik.http.middlewares.redirect-https.redirectScheme.scheme: https
|
traefik.http.middlewares.gotify-web-redirect.redirectscheme.scheme: https
|
||||||
traefik.http.middlewares.redirect-https.redirectScheme.permanent: true
|
traefik.http.middlewares.gotify-web-redirect.redirectscheme.permanent: true
|
||||||
# Traefik Router + Service Configuration
|
traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-Proto: http
|
||||||
|
traefik.http.services.gotify.loadbalancer.server.port: 80
|
||||||
|
traefik.http.services.gotify.loadbalancer.passhostheader: true
|
||||||
|
traefik.http.services.gotify.loadbalancer.sticky: true
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.gotify-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.gotify-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.gotify-insecure.service: gotify
|
||||||
|
traefik.http.routers.gotify-insecure.middlewares: gotify-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.gotify.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.gotify.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.gotify.entrypoints: websecure
|
traefik.http.routers.gotify.entrypoints: websecure
|
||||||
traefik.http.routers.gotify.tls.certresolver: myresolver
|
|
||||||
traefik.http.routers.gotify.middlewares: redirect-https
|
|
||||||
traefik.http.routers.gotify.service: gotify
|
traefik.http.routers.gotify.service: gotify
|
||||||
traefik.http.services.gotify.loadbalancer.passhostheader: true
|
traefik.http.routers.gotify.tls.certresolver: myresolver
|
||||||
traefik.http.services.gotify.loadbalancer.server.port: 80
|
# Local domain
|
||||||
traefik.http.services.gotify.loadbalancer.sticky: true
|
traefik.http.routers.gotify-local-insecure.rule: Host(`gotify.${LOCAL_DOMAIN}`)
|
||||||
traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-Proto: http
|
traefik.http.routers.gotify-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.gotify-local-insecure.service: gotify
|
||||||
|
traefik.http.routers.gotify-local-insecure.middlewares: gotify-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.gotify-local.rule: Host(`gotify.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.gotify-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.gotify-local.service: gotify
|
||||||
|
traefik.http.routers.gotify-local.tls: true
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.7'
|
version: "3.7"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
gotify:
|
gotify:
|
||||||
|
@ -6,7 +6,7 @@ services:
|
||||||
container_name: gotify
|
container_name: gotify
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- '${APP_DATA_DIR}/data:/app/data'
|
- "${APP_DATA_DIR}/data:/app/data"
|
||||||
environment:
|
environment:
|
||||||
- GOTIFY_DEFAULTUSER_NAME=${GOTIFY_DEFAULTUSER_NAME}
|
- GOTIFY_DEFAULTUSER_NAME=${GOTIFY_DEFAULTUSER_NAME}
|
||||||
- GOTIFY_DEFAULTUSER_PASS=${GOTIFY_DEFAULTUSER_PASS}
|
- GOTIFY_DEFAULTUSER_PASS=${GOTIFY_DEFAULTUSER_PASS}
|
||||||
|
@ -15,17 +15,31 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
# Traefik Redirect to HTTPS
|
traefik.enable: true
|
||||||
traefik.http.middlewares.redirect-https.redirectScheme.scheme: https
|
traefik.http.middlewares.gotify-web-redirect.redirectscheme.scheme: https
|
||||||
traefik.http.middlewares.redirect-https.redirectScheme.permanent: true
|
traefik.http.middlewares.gotify-web-redirect.redirectscheme.permanent: true
|
||||||
# Traefik Router + Service Configuration
|
traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-Proto: http
|
||||||
|
traefik.http.services.gotify.loadbalancer.server.port: 80
|
||||||
|
traefik.http.services.gotify.loadbalancer.passhostheader: true
|
||||||
|
traefik.http.services.gotify.loadbalancer.sticky: true
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.gotify-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.gotify-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.gotify-insecure.service: gotify
|
||||||
|
traefik.http.routers.gotify-insecure.middlewares: gotify-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.gotify.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.gotify.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.gotify.entrypoints: websecure
|
traefik.http.routers.gotify.entrypoints: websecure
|
||||||
traefik.http.routers.gotify.tls.certresolver: myresolver
|
|
||||||
traefik.http.routers.gotify.middlewares: redirect-https
|
|
||||||
traefik.http.routers.gotify.service: gotify
|
traefik.http.routers.gotify.service: gotify
|
||||||
traefik.http.services.gotify.loadbalancer.passhostheader: true
|
traefik.http.routers.gotify.tls.certresolver: myresolver
|
||||||
traefik.http.services.gotify.loadbalancer.server.port: 80
|
# Local domain
|
||||||
traefik.http.services.gotify.loadbalancer.sticky: true
|
traefik.http.routers.gotify-local-insecure.rule: Host(`gotify.${LOCAL_DOMAIN}`)
|
||||||
traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-Proto: http
|
traefik.http.routers.gotify-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.gotify-local-insecure.service: gotify
|
||||||
|
traefik.http.routers.gotify-local-insecure.middlewares: gotify-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.gotify-local.rule: Host(`gotify.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.gotify-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.gotify-local.service: gotify
|
||||||
|
traefik.http.routers.gotify-local.tls: true
|
||||||
|
|
|
@ -6,13 +6,11 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"force_expose": true,
|
"force_expose": true,
|
||||||
"id": "gotosocial",
|
"id": "gotosocial",
|
||||||
"tipi_version": 4,
|
"tipi_version": 5,
|
||||||
"uid": 1000,
|
"uid": 1000,
|
||||||
"gid": 1000,
|
"gid": 1000,
|
||||||
"version": "0.9.0",
|
"version": "0.9.0",
|
||||||
"categories": [
|
"categories": ["social"],
|
||||||
"social"
|
|
||||||
],
|
|
||||||
"description": "Fast, fun, ActivityPub server, powered by Go.",
|
"description": "Fast, fun, ActivityPub server, powered by Go.",
|
||||||
"short_desc": "Fast, fun, ActivityPub server, powered by Go.",
|
"short_desc": "Fast, fun, ActivityPub server, powered by Go.",
|
||||||
"author": "superseriousbusiness",
|
"author": "superseriousbusiness",
|
||||||
|
|
|
@ -30,13 +30,31 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.gotosocial-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.gotosocial.loadbalancer.server.port: 8080
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.gotosocial-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.gotosocial-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.gotosocial-insecure.service: gotosocial
|
||||||
|
traefik.http.routers.gotosocial-insecure.middlewares: gotosocial-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.gotosocial.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.gotosocial.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.gotosocial.entrypoints: websecure
|
traefik.http.routers.gotosocial.entrypoints: websecure
|
||||||
traefik.http.routers.gotosocial.service: gotosocial
|
traefik.http.routers.gotosocial.service: gotosocial
|
||||||
traefik.http.routers.gotosocial.tls.certresolver: myresolver
|
traefik.http.routers.gotosocial.tls.certresolver: myresolver
|
||||||
traefik.http.services.gotosocial.loadbalancer.server.port: 8080
|
# Local domain
|
||||||
|
traefik.http.routers.gotosocial-local-insecure.rule: Host(`gotosocial.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.gotosocial-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.gotosocial-local-insecure.service: gotosocial
|
||||||
|
traefik.http.routers.gotosocial-local-insecure.middlewares: gotosocial-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.gotosocial-local.rule: Host(`gotosocial.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.gotosocial-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.gotosocial-local.service: gotosocial
|
||||||
|
traefik.http.routers.gotosocial-local.tls: true
|
||||||
|
|
||||||
gotosocial-db:
|
gotosocial-db:
|
||||||
container_name: gotosocial-db
|
container_name: gotosocial-db
|
||||||
image: postgres:14
|
image: postgres:14
|
||||||
|
@ -49,4 +67,4 @@ services:
|
||||||
- ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
|
- ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "grafana",
|
"id": "grafana",
|
||||||
"tipi_version": 6,
|
"tipi_version": 7,
|
||||||
"version": "9.5.3",
|
"version": "9.5.3",
|
||||||
"categories": [
|
"categories": ["data"],
|
||||||
"data"
|
|
||||||
],
|
|
||||||
"description": "The open and composable observability and data visualization platform",
|
"description": "The open and composable observability and data visualization platform",
|
||||||
"short_desc": "The open and composable observability and data visualization platform",
|
"short_desc": "The open and composable observability and data visualization platform",
|
||||||
"author": "Grafana Labs",
|
"author": "Grafana Labs",
|
||||||
|
|
|
@ -6,15 +6,32 @@ services:
|
||||||
image: grafana/grafana-oss:9.5.3
|
image: grafana/grafana-oss:9.5.3
|
||||||
ports:
|
ports:
|
||||||
- ${APP_PORT}:3000
|
- ${APP_PORT}:3000
|
||||||
user: "1000"
|
|
||||||
volumes:
|
volumes:
|
||||||
- ${APP_DATA_DIR}/data/grafana:/var/lib/grafana
|
- ${APP_DATA_DIR}/data/grafana:/var/lib/grafana
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.grafana-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.grafana.loadbalancer.server.port: 3000
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.grafana-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.grafana-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.grafana-insecure.service: grafana
|
||||||
|
traefik.http.routers.grafana-insecure.middlewares: grafana-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.grafana.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.grafana.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.grafana.entrypoints: websecure
|
traefik.http.routers.grafana.entrypoints: websecure
|
||||||
traefik.http.routers.grafana.service: grafana
|
traefik.http.routers.grafana.service: grafana
|
||||||
traefik.http.routers.grafana.tls.certresolver: myresolver
|
traefik.http.routers.grafana.tls.certresolver: myresolver
|
||||||
traefik.http.services.grafana.loadbalancer.server.port: 3000
|
# Local domain
|
||||||
|
traefik.http.routers.grafana-local-insecure.rule: Host(`grafana.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.grafana-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.grafana-local-insecure.service: grafana
|
||||||
|
traefik.http.routers.grafana-local-insecure.middlewares: grafana-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.grafana-local.rule: Host(`grafana.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.grafana-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.grafana-local.service: grafana
|
||||||
|
traefik.http.routers.grafana-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "grav",
|
"id": "grav",
|
||||||
"tipi_version": 1,
|
"tipi_version": 2,
|
||||||
"version": "1.7.39.4-ls97",
|
"version": "1.7.39.4-ls97",
|
||||||
"categories": ["social", "media"],
|
"categories": ["social", "media"],
|
||||||
"description": "Grav is a Fast, Simple, and Flexible, file-based Web-platform. There is Zero installation required. It follows similar principles to other flat-file CMS platforms, but has a different design philosophy than most. Grav comes with a powerful Package Management System to allow for simple installation and upgrading of plugins and themes, as well as simple updating of Grav itself.",
|
"description": "Grav is a Fast, Simple, and Flexible, file-based Web-platform. There is Zero installation required. It follows similar principles to other flat-file CMS platforms, but has a different design philosophy than most. Grav comes with a powerful Package Management System to allow for simple installation and upgrading of plugins and themes, as well as simple updating of Grav itself.",
|
||||||
|
|
|
@ -15,9 +15,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.grav-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.grav.loadbalancer.server.port: 80
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.grav-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.grav-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.grav-insecure.service: grav
|
||||||
|
traefik.http.routers.grav-insecure.middlewares: grav-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.grav.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.grav.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.grav.entrypoints: websecure
|
traefik.http.routers.grav.entrypoints: websecure
|
||||||
traefik.http.routers.grav.service: grav
|
traefik.http.routers.grav.service: grav
|
||||||
traefik.http.routers.grav.tls.certresolver: myresolver
|
traefik.http.routers.grav.tls.certresolver: myresolver
|
||||||
traefik.http.services.grav.loadbalancer.server.port: 80
|
# Local domain
|
||||||
|
traefik.http.routers.grav-local-insecure.rule: Host(`grav.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.grav-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.grav-local-insecure.service: grav
|
||||||
|
traefik.http.routers.grav-local-insecure.middlewares: grav-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.grav-local.rule: Host(`grav.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.grav-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.grav-local.service: grav
|
||||||
|
traefik.http.routers.grav-local.tls: true
|
||||||
|
|
|
@ -3,14 +3,11 @@
|
||||||
"name": "Grocy",
|
"name": "Grocy",
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"tipi_version": 2,
|
"tipi_version": 3,
|
||||||
"version": "3.3.2",
|
"version": "3.3.2",
|
||||||
"port": 8136,
|
"port": 8136,
|
||||||
"id": "grocy",
|
"id": "grocy",
|
||||||
"categories": [
|
"categories": ["automation", "finance"],
|
||||||
"automation",
|
|
||||||
"finance"
|
|
||||||
],
|
|
||||||
"description": "grocy is a web-based self-hosted groceries & household management solution for your home",
|
"description": "grocy is a web-based self-hosted groceries & household management solution for your home",
|
||||||
"short_desc": "ERP beyond your fridge",
|
"short_desc": "ERP beyond your fridge",
|
||||||
"author": "berrnd",
|
"author": "berrnd",
|
||||||
|
|
|
@ -15,9 +15,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.grocy-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.grocy.loadbalancer.server.port: 80
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.grocy-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.grocy-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.grocy-insecure.service: grocy
|
||||||
|
traefik.http.routers.grocy-insecure.middlewares: grocy-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.grocy.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.grocy.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.grocy.entrypoints: websecure
|
traefik.http.routers.grocy.entrypoints: websecure
|
||||||
traefik.http.routers.grocy.service: grocy
|
traefik.http.routers.grocy.service: grocy
|
||||||
traefik.http.routers.grocy.tls.certresolver: myresolver
|
traefik.http.routers.grocy.tls.certresolver: myresolver
|
||||||
traefik.http.services.grocy.loadbalancer.server.port: 80
|
# Local domain
|
||||||
|
traefik.http.routers.grocy-local-insecure.rule: Host(`grocy.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.grocy-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.grocy-local-insecure.service: grocy
|
||||||
|
traefik.http.routers.grocy-local-insecure.middlewares: grocy-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.grocy-local.rule: Host(`grocy.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.grocy-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.grocy-local.service: grocy
|
||||||
|
traefik.http.routers.grocy-local.tls: true
|
||||||
|
|
Loading…
Reference in New Issue
Block a user