local domain configs H-L (#678)
* feat(halo): change config to support local domain * feat(hammond): change config to support local domain * feat(haven): change config to support local domain * feat(hedgedoc): change config to support local domain * feat(hello-world): change config to support local domain * feat(homarr): change config to support local domain * feat(homebox): change config to support local domain * feat(immich): change config to support local domain * feat(invidious): change config to support local domain * feat(it-tools): change config to support local domain * feat(jackett): change config to support local domain * feat(jellyseerr): change config to support local domain * feat(joplin): change config to support local domain * feat(kandboard): change config to support local domain * feat(kapowarr): change config to support local domain * feat(kavita): change config to support local domain * feat(libreddit): change config to support local domain * feat(librephotos): change config to support local domain * feat(libretranslate): change config to support local domain * feat(lidarr): change config to support local domain * feat(lidarr-deemix): change config to support local domain * feat(linkstack): change config to support local domain * feat(lodestone-core): change config to support local domain
This commit is contained in:
parent
d713238b5c
commit
01c6836796
|
@ -5,14 +5,11 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8092,
|
"port": 8092,
|
||||||
"id": "halo",
|
"id": "halo",
|
||||||
"tipi_version": 2,
|
"tipi_version": 3,
|
||||||
"version": "2.6.0",
|
"version": "2.6.0",
|
||||||
"description": "Halo is a powerful and easy-to-use open source website building tool.",
|
"description": "Halo is a powerful and easy-to-use open source website building tool.",
|
||||||
"short_desc": "Halo - Open source website building tool.",
|
"short_desc": "Halo - Open source website building tool.",
|
||||||
"categories": [
|
"categories": ["social", "media"],
|
||||||
"social",
|
|
||||||
"media"
|
|
||||||
],
|
|
||||||
"author": "halo-dev",
|
"author": "halo-dev",
|
||||||
"source": "https://github.com/halo-dev/halo",
|
"source": "https://github.com/halo-dev/halo",
|
||||||
"website": "https://halo.run",
|
"website": "https://halo.run",
|
||||||
|
|
|
@ -15,7 +15,8 @@ services:
|
||||||
ports:
|
ports:
|
||||||
- ${APP_PORT}:8090
|
- ${APP_PORT}:8090
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
|
test:
|
||||||
|
["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
@ -29,12 +30,30 @@ services:
|
||||||
- --halo.security.initializer.superadminusername=${HALO_ADMIN_USERNAME}
|
- --halo.security.initializer.superadminusername=${HALO_ADMIN_USERNAME}
|
||||||
- --halo.security.initializer.superadminpassword=${HALO_ADMIN_PASSWORD}
|
- --halo.security.initializer.superadminpassword=${HALO_ADMIN_PASSWORD}
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.halo-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.halo.loadbalancer.server.port: 8090
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.halo-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.halo-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.halo-insecure.service: halo
|
||||||
|
traefik.http.routers.halo-insecure.middlewares: halo-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.halo.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.halo.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.halo.entrypoints: websecure
|
traefik.http.routers.halo.entrypoints: websecure
|
||||||
traefik.http.routers.halo.service: halo
|
traefik.http.routers.halo.service: halo
|
||||||
traefik.http.routers.halo.tls.certresolver: myresolver
|
traefik.http.routers.halo.tls.certresolver: myresolver
|
||||||
traefik.http.services.halo.loadbalancer.server.port: 8090
|
# Local domain
|
||||||
|
traefik.http.routers.halo-local-insecure.rule: Host(`halo.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.halo-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.halo-local-insecure.service: halo
|
||||||
|
traefik.http.routers.halo-local-insecure.middlewares: halo-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.halo-local.rule: Host(`halo.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.halo-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.halo-local.service: halo
|
||||||
|
traefik.http.routers.halo-local.tls: true
|
||||||
|
|
||||||
halodb:
|
halodb:
|
||||||
image: postgres:latest
|
image: postgres:latest
|
||||||
|
@ -45,7 +64,7 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- ${APP_DATA_DIR}/db:/var/lib/postgresql/data
|
- ${APP_DATA_DIR}/db:/var/lib/postgresql/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: [ "CMD", "pg_isready" ]
|
test: ["CMD", "pg_isready"]
|
||||||
interval: 10s
|
interval: 10s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "hammond",
|
"id": "hammond",
|
||||||
"tipi_version": 1,
|
"tipi_version": 2,
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"categories": ["utilities"],
|
"categories": ["utilities"],
|
||||||
"description": "Self hosted vehicle and expense management system. Like Clarkson, but better",
|
"description": "Self hosted vehicle and expense management system. Like Clarkson, but better",
|
||||||
|
|
|
@ -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.hammond-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.hammond.loadbalancer.server.port: 3000
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.hammond-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.hammond-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.hammond-insecure.service: hammond
|
||||||
|
traefik.http.routers.hammond-insecure.middlewares: hammond-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.hammond.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.hammond.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.hammond.entrypoints: websecure
|
traefik.http.routers.hammond.entrypoints: websecure
|
||||||
traefik.http.routers.hammond.service: hammond
|
traefik.http.routers.hammond.service: hammond
|
||||||
traefik.http.routers.hammond.tls.certresolver: myresolver
|
traefik.http.routers.hammond.tls.certresolver: myresolver
|
||||||
traefik.http.services.hammond.loadbalancer.server.port: 3000
|
# Local domain
|
||||||
|
traefik.http.routers.hammond-local-insecure.rule: Host(`hammond.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.hammond-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.hammond-local-insecure.service: hammond
|
||||||
|
traefik.http.routers.hammond-local-insecure.middlewares: hammond-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.hammond-local.rule: Host(`hammond.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.hammond-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.hammond-local.service: hammond
|
||||||
|
traefik.http.routers.hammond-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8130,
|
"port": 8130,
|
||||||
"id": "haven",
|
"id": "haven",
|
||||||
"tipi_version": 1,
|
"tipi_version": 2,
|
||||||
"version": "a0280ce",
|
"version": "a0280ce",
|
||||||
"categories": ["social"],
|
"categories": ["social"],
|
||||||
"description": "Self-hostable private blogging",
|
"description": "Self-hostable private blogging",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.7'
|
version: "3.7"
|
||||||
services:
|
services:
|
||||||
haven:
|
haven:
|
||||||
image: ghcr.io/havenweb/haven:a0280ce
|
image: ghcr.io/havenweb/haven:a0280ce
|
||||||
|
@ -20,26 +20,52 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.haven-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.haven.loadbalancer.server.port: 3000
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.haven-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.haven-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.haven-insecure.service: haven
|
||||||
|
traefik.http.routers.haven-insecure.middlewares: haven-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.haven.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.haven.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.haven.entrypoints: websecure
|
traefik.http.routers.haven.entrypoints: websecure
|
||||||
traefik.http.routers.haven.service: haven
|
traefik.http.routers.haven.service: haven
|
||||||
traefik.http.routers.haven.tls.certresolver: myresolver
|
traefik.http.routers.haven.tls.certresolver: myresolver
|
||||||
traefik.http.services.haven.loadbalancer.server.port: 3000
|
# Local domain
|
||||||
|
traefik.http.routers.haven-local-insecure.rule: Host(`haven.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.haven-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.haven-local-insecure.service: haven
|
||||||
|
traefik.http.routers.haven-local-insecure.middlewares: haven-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.haven-local.rule: Host(`haven.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.haven-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.haven-local.service: haven
|
||||||
|
traefik.http.routers.haven-local.tls: true
|
||||||
|
|
||||||
haven-db:
|
haven-db:
|
||||||
image: postgres:13.2-alpine
|
image: postgres:13.2-alpine
|
||||||
container_name: haven-db
|
container_name: haven-db
|
||||||
command: [
|
command:
|
||||||
"postgres",
|
[
|
||||||
"-c", "max_connections=1000",
|
"postgres",
|
||||||
"-c", "synchronous_commit=off",
|
"-c",
|
||||||
"-c", "fsync=off",
|
"max_connections=1000",
|
||||||
"-c", "full_page_writes=off",
|
"-c",
|
||||||
"-c", "max_wal_size=4GB",
|
"synchronous_commit=off",
|
||||||
"-c", "checkpoint_timeout=30min",
|
"-c",
|
||||||
"-c", "wal_level=logical"
|
"fsync=off",
|
||||||
]
|
"-c",
|
||||||
|
"full_page_writes=off",
|
||||||
|
"-c",
|
||||||
|
"max_wal_size=4GB",
|
||||||
|
"-c",
|
||||||
|
"checkpoint_timeout=30min",
|
||||||
|
"-c",
|
||||||
|
"wal_level=logical",
|
||||||
|
]
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_HOST_AUTH_METHOD: trust
|
POSTGRES_HOST_AUTH_METHOD: trust
|
||||||
POSTGRES_USER: haven
|
POSTGRES_USER: haven
|
||||||
|
|
|
@ -5,19 +5,15 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "hedgedoc",
|
"id": "hedgedoc",
|
||||||
"tipi_version": 2,
|
"tipi_version": 3,
|
||||||
"version": "1.9.8",
|
"version": "1.9.8",
|
||||||
"categories": [
|
"categories": ["media"],
|
||||||
"media"
|
|
||||||
],
|
|
||||||
"description": "HedgeDoc (formerly known as CodiMD) is an open-source, web-based, self-hosted, collaborative markdown editor. You can use it to easily collaborate on notes, graphs and even presentations in real-time. All you need to do is to share your note-link to your co-workers and they’re ready to go.",
|
"description": "HedgeDoc (formerly known as CodiMD) is an open-source, web-based, self-hosted, collaborative markdown editor. You can use it to easily collaborate on notes, graphs and even presentations in real-time. All you need to do is to share your note-link to your co-workers and they’re ready to go.",
|
||||||
"short_desc": "A Collaborative Markdown and Note Taking App",
|
"short_desc": "A Collaborative Markdown and Note Taking App",
|
||||||
"website": "https://hedgedoc.org/",
|
"website": "https://hedgedoc.org/",
|
||||||
"author": "https://github.com/hedgedoc",
|
"author": "https://github.com/hedgedoc",
|
||||||
"source": "https://github.com/hedgedoc/hedgedoc",
|
"source": "https://github.com/hedgedoc/hedgedoc",
|
||||||
"supported_architectures": [
|
"supported_architectures": ["amd64"],
|
||||||
"amd64"
|
|
||||||
],
|
|
||||||
"form_fields": [
|
"form_fields": [
|
||||||
{
|
{
|
||||||
"type": "random",
|
"type": "random",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.7'
|
version: "3.7"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
hedgedoc:
|
hedgedoc:
|
||||||
|
@ -18,12 +18,30 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.hedgedoc-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.hedgedoc.loadbalancer.server.port: 3000
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.hedgedoc-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.hedgedoc-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.hedgedoc-insecure.service: hedgedoc
|
||||||
|
traefik.http.routers.hedgedoc-insecure.middlewares: hedgedoc-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.hedgedoc.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.hedgedoc.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.hedgedoc.entrypoints: websecure
|
traefik.http.routers.hedgedoc.entrypoints: websecure
|
||||||
traefik.http.routers.hedgedoc.service: hedgedoc
|
traefik.http.routers.hedgedoc.service: hedgedoc
|
||||||
traefik.http.routers.hedgedoc.tls.certresolver: myresolver
|
traefik.http.routers.hedgedoc.tls.certresolver: myresolver
|
||||||
traefik.http.services.hedgedoc.loadbalancer.server.port: 3000
|
# Local domain
|
||||||
|
traefik.http.routers.hedgedoc-local-insecure.rule: Host(`hedgedoc.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.hedgedoc-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.hedgedoc-local-insecure.service: hedgedoc
|
||||||
|
traefik.http.routers.hedgedoc-local-insecure.middlewares: hedgedoc-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.hedgedoc-local.rule: Host(`hedgedoc.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.hedgedoc-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.hedgedoc-local.service: hedgedoc
|
||||||
|
traefik.http.routers.hedgedoc-local.tls: true
|
||||||
|
|
||||||
hedgedoc-db:
|
hedgedoc-db:
|
||||||
container_name: hedgedoc-db
|
container_name: hedgedoc-db
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8000,
|
"port": 8000,
|
||||||
"id": "hello-world",
|
"id": "hello-world",
|
||||||
"tipi_version": 1,
|
"tipi_version": 2,
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"categories": [
|
"categories": ["utilities"],
|
||||||
"utilities"
|
|
||||||
],
|
|
||||||
"description": "Hello World web server in under 2 MB",
|
"description": "Hello World web server in under 2 MB",
|
||||||
"short_desc": "Hello World web server in under 2 MB",
|
"short_desc": "Hello World web server in under 2 MB",
|
||||||
"author": "crccheck",
|
"author": "crccheck",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.7'
|
version: "3.7"
|
||||||
services:
|
services:
|
||||||
hello-world:
|
hello-world:
|
||||||
container_name: hello-world
|
container_name: hello-world
|
||||||
|
@ -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.hello-world-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.hello-world.loadbalancer.server.port: 8000
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.hello-world-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.hello-world-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.hello-world-insecure.service: hello-world
|
||||||
|
traefik.http.routers.hello-world-insecure.middlewares: hello-world-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.hello-world.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.hello-world.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.hello-world.entrypoints: websecure
|
traefik.http.routers.hello-world.entrypoints: websecure
|
||||||
traefik.http.routers.hello-world.service: hello-world
|
traefik.http.routers.hello-world.service: hello-world
|
||||||
traefik.http.routers.hello-world.tls.certresolver: myresolver
|
traefik.http.routers.hello-world.tls.certresolver: myresolver
|
||||||
traefik.http.services.hello-world.loadbalancer.server.port: 7575
|
# Local domain
|
||||||
|
traefik.http.routers.hello-world-local-insecure.rule: Host(`hello-world.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.hello-world-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.hello-world-local-insecure.service: hello-world
|
||||||
|
traefik.http.routers.hello-world-local-insecure.middlewares: hello-world-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.hello-world-local.rule: Host(`hello-world.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.hello-world-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.hello-world-local.service: hello-world
|
||||||
|
traefik.http.routers.hello-world-local.tls: true
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8102,
|
"port": 8102,
|
||||||
"id": "homarr",
|
"id": "homarr",
|
||||||
"tipi_version": 11,
|
"tipi_version": 12,
|
||||||
"version": "0.12.2",
|
"version": "0.12.2",
|
||||||
"categories": [
|
"categories": ["utilities"],
|
||||||
"utilities"
|
|
||||||
],
|
|
||||||
"description": "A homepage for your server.",
|
"description": "A homepage for your server.",
|
||||||
"short_desc": "Homarr is a simple and lightweight homepage for your server, that helps you easily access all of your services in one place.",
|
"short_desc": "Homarr is a simple and lightweight homepage for your server, that helps you easily access all of your services in one place.",
|
||||||
"author": "ajnart",
|
"author": "ajnart",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.7'
|
version: "3.7"
|
||||||
services:
|
services:
|
||||||
homarr:
|
homarr:
|
||||||
container_name: homarr
|
container_name: homarr
|
||||||
|
@ -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.homarr-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.homarr.loadbalancer.server.port: 7575
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.homarr-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.homarr-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.homarr-insecure.service: homarr
|
||||||
|
traefik.http.routers.homarr-insecure.middlewares: homarr-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.homarr.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.homarr.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.homarr.entrypoints: websecure
|
traefik.http.routers.homarr.entrypoints: websecure
|
||||||
traefik.http.routers.homarr.service: homarr
|
traefik.http.routers.homarr.service: homarr
|
||||||
traefik.http.routers.homarr.tls.certresolver: myresolver
|
traefik.http.routers.homarr.tls.certresolver: myresolver
|
||||||
traefik.http.services.homarr.loadbalancer.server.port: 7575
|
# Local domain
|
||||||
|
traefik.http.routers.homarr-local-insecure.rule: Host(`homarr.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.homarr-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.homarr-local-insecure.service: homarr
|
||||||
|
traefik.http.routers.homarr-local-insecure.middlewares: homarr-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.homarr-local.rule: Host(`homarr.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.homarr-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.homarr-local.service: homarr
|
||||||
|
traefik.http.routers.homarr-local.tls: true
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "homebox",
|
"id": "homebox",
|
||||||
"tipi_version": 4,
|
"tipi_version": 5,
|
||||||
"version": "0.9.2",
|
"version": "0.9.2",
|
||||||
"categories": [
|
"categories": ["utilities"],
|
||||||
"utilities"
|
|
||||||
],
|
|
||||||
"description": "Homebox is the inventory and organization system built for the Home User",
|
"description": "Homebox is the inventory and organization system built for the Home User",
|
||||||
"short_desc": "Homebox is the inventory and organization system built for the Home User",
|
"short_desc": "Homebox is the inventory and organization system built for the Home User",
|
||||||
"author": "hay-kot",
|
"author": "hay-kot",
|
||||||
|
|
|
@ -6,10 +6,10 @@ services:
|
||||||
container_name: homebox
|
container_name: homebox
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
- HBOX_LOG_LEVEL=info
|
- HBOX_LOG_LEVEL=info
|
||||||
- HBOX_LOG_FORMAT=text
|
- HBOX_LOG_FORMAT=text
|
||||||
- HBOX_WEB_MAX_UPLOAD_SIZE=10
|
- HBOX_WEB_MAX_UPLOAD_SIZE=10
|
||||||
- HBOX_OPTIONS_ALLOW_REGISTRATION=${HBOX_OPTIONS_ALLOW_REGISTRATION}
|
- HBOX_OPTIONS_ALLOW_REGISTRATION=${HBOX_OPTIONS_ALLOW_REGISTRATION}
|
||||||
volumes:
|
volumes:
|
||||||
- ${APP_DATA_DIR}/data/homebox-data:/data/
|
- ${APP_DATA_DIR}/data/homebox-data:/data/
|
||||||
ports:
|
ports:
|
||||||
|
@ -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.homebox-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.homebox.loadbalancer.server.port: 7745
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.homebox-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.homebox-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.homebox-insecure.service: homebox
|
||||||
|
traefik.http.routers.homebox-insecure.middlewares: homebox-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.homebox.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.homebox.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.homebox.entrypoints: websecure
|
traefik.http.routers.homebox.entrypoints: websecure
|
||||||
traefik.http.routers.homebox.service: homebox
|
traefik.http.routers.homebox.service: homebox
|
||||||
traefik.http.routers.homebox.tls.certresolver: myresolver
|
traefik.http.routers.homebox.tls.certresolver: myresolver
|
||||||
traefik.http.services.homebox.loadbalancer.server.port: 7745
|
# Local domain
|
||||||
|
traefik.http.routers.homebox-local-insecure.rule: Host(`homebox.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.homebox-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.homebox-local-insecure.service: homebox
|
||||||
|
traefik.http.routers.homebox-local-insecure.middlewares: homebox-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.homebox-local.rule: Host(`homebox.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.homebox-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.homebox-local.service: homebox
|
||||||
|
traefik.http.routers.homebox-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8128,
|
"port": 8128,
|
||||||
"id": "immich",
|
"id": "immich",
|
||||||
"tipi_version": 16,
|
"tipi_version": 17,
|
||||||
"version": "v1.60.0",
|
"version": "v1.60.0",
|
||||||
"categories": ["data", "photography"],
|
"categories": ["data", "photography"],
|
||||||
"description": "Photo and video backup solution directly from your mobile phone.",
|
"description": "Photo and video backup solution directly from your mobile phone.",
|
||||||
|
|
|
@ -12,16 +12,34 @@ services:
|
||||||
environment:
|
environment:
|
||||||
- IMMICH_WEB_URL=http://immich-web:3000
|
- IMMICH_WEB_URL=http://immich-web:3000
|
||||||
- IMMICH_SERVER_URL=http://immich-server:3001
|
- IMMICH_SERVER_URL=http://immich-server:3001
|
||||||
# - IMMICH_MACHINE_LEARNING_URL="http://immich-machine-learning:3003"
|
# - IMMICH_MACHINE_LEARNING_URL="http://immich-machine-learning:3003"
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.immich-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.immich.loadbalancer.server.port: 8080
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.immich-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.immich-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.immich-insecure.service: immich
|
||||||
|
traefik.http.routers.immich-insecure.middlewares: immich-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.immich.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.immich.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.immich.entrypoints: websecure
|
traefik.http.routers.immich.entrypoints: websecure
|
||||||
traefik.http.routers.immich.service: immich
|
traefik.http.routers.immich.service: immich
|
||||||
traefik.http.routers.immich.tls.certresolver: myresolver
|
traefik.http.routers.immich.tls.certresolver: myresolver
|
||||||
traefik.http.services.immich.loadbalancer.server.port: 8080
|
# Local domain
|
||||||
|
traefik.http.routers.immich-local-insecure.rule: Host(`immich.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.immich-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.immich-local-insecure.service: immich
|
||||||
|
traefik.http.routers.immich-local-insecure.middlewares: immich-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.immich-local.rule: Host(`immich.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.immich-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.immich-local.service: immich
|
||||||
|
traefik.http.routers.immich-local.tls: true
|
||||||
|
|
||||||
immich-server:
|
immich-server:
|
||||||
container_name: immich-server
|
container_name: immich-server
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
"port": 8095,
|
"port": 8095,
|
||||||
"id": "invidious",
|
"id": "invidious",
|
||||||
"version": "latest",
|
"version": "latest",
|
||||||
"tipi_version": 4,
|
"tipi_version": 5,
|
||||||
"supported_architectures": ["arm64", "amd64"],
|
"supported_architectures": ["arm64", "amd64"],
|
||||||
"categories": ["media", "social"],
|
"categories": ["media", "social"],
|
||||||
"description": "Invidious is an open source alternative front-end to YouTube.",
|
"description": "Invidious is an open source alternative front-end to YouTube.",
|
||||||
|
|
|
@ -28,12 +28,29 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.invidious-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.invidious.loadbalancer.server.port: 3000
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.invidious-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.invidious-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.invidious-insecure.service: invidious
|
||||||
|
traefik.http.routers.invidious-insecure.middlewares: invidious-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.invidious.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.invidious.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.invidious.entrypoints: websecure
|
traefik.http.routers.invidious.entrypoints: websecure
|
||||||
traefik.http.routers.invidious.service: invidious
|
traefik.http.routers.invidious.service: invidious
|
||||||
traefik.http.routers.invidious.tls.certresolver: myresolver
|
traefik.http.routers.invidious.tls.certresolver: myresolver
|
||||||
traefik.http.services.invidious.loadbalancer.server.port: 3000
|
# Local domain
|
||||||
|
traefik.http.routers.invidious-local-insecure.rule: Host(`invidious.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.invidious-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.invidious-local-insecure.service: invidious
|
||||||
|
traefik.http.routers.invidious-local-insecure.middlewares: invidious-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.invidious-local.rule: Host(`invidious.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.invidious-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.invidious-local.service: invidious
|
||||||
|
|
||||||
invidious-db:
|
invidious-db:
|
||||||
container_name: invidious-db
|
container_name: invidious-db
|
||||||
|
|
|
@ -29,12 +29,30 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.invidious-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.invidious.loadbalancer.server.port: 3000
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.invidious-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.invidious-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.invidious-insecure.service: invidious
|
||||||
|
traefik.http.routers.invidious-insecure.middlewares: invidious-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.invidious.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.invidious.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.invidious.entrypoints: websecure
|
traefik.http.routers.invidious.entrypoints: websecure
|
||||||
traefik.http.routers.invidious.service: invidious
|
traefik.http.routers.invidious.service: invidious
|
||||||
traefik.http.routers.invidious.tls.certresolver: myresolver
|
traefik.http.routers.invidious.tls.certresolver: myresolver
|
||||||
traefik.http.services.invidious.loadbalancer.server.port: 3000
|
# Local domain
|
||||||
|
traefik.http.routers.invidious-local-insecure.rule: Host(`invidious.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.invidious-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.invidious-local-insecure.service: invidious
|
||||||
|
traefik.http.routers.invidious-local-insecure.middlewares: invidious-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.invidious-local.rule: Host(`invidious.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.invidious-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.invidious-local.service: invidious
|
||||||
|
traefik.http.routers.invidious-local.tls: true
|
||||||
|
|
||||||
invidious-db:
|
invidious-db:
|
||||||
container_name: invidious-db
|
container_name: invidious-db
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "it-tools",
|
"id": "it-tools",
|
||||||
"tipi_version": 1,
|
"tipi_version": 2,
|
||||||
"version": "latest",
|
"version": "latest",
|
||||||
"categories": ["development"],
|
"categories": ["development"],
|
||||||
"description": "Useful tools for developer and people working in IT. ",
|
"description": "Useful tools for developer and people working in IT. ",
|
||||||
|
|
|
@ -10,10 +10,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.it-tools-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.it-tools.loadbalancer.server.port: 80
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.it-tools-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.it-tools-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.it-tools-insecure.service: it-tools
|
||||||
|
traefik.http.routers.it-tools-insecure.middlewares: it-tools-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.it-tools.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.it-tools.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.it-tools.entrypoints: websecure
|
traefik.http.routers.it-tools.entrypoints: websecure
|
||||||
traefik.http.routers.it-tools.service: it-tools
|
traefik.http.routers.it-tools.service: it-tools
|
||||||
traefik.http.routers.it-tools.tls.certresolver: myresolver
|
traefik.http.routers.it-tools.tls.certresolver: myresolver
|
||||||
traefik.http.services.it-tools.loadbalancer.server.port: 80
|
# Local domain
|
||||||
|
traefik.http.routers.it-tools-local-insecure.rule: Host(`it-tools.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.it-tools-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.it-tools-local-insecure.service: it-tools
|
||||||
|
traefik.http.routers.it-tools-local-insecure.middlewares: it-tools-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.it-tools-local.rule: Host(`it-tools.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.it-tools-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.it-tools-local.service: it-tools
|
||||||
|
traefik.http.routers.it-tools-local.tls: true
|
||||||
|
|
|
@ -5,14 +5,11 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8097,
|
"port": 8097,
|
||||||
"id": "jackett",
|
"id": "jackett",
|
||||||
"tipi_version": 44,
|
"tipi_version": 45,
|
||||||
"version": "0.21.186",
|
"version": "0.21.186",
|
||||||
"description": "Jackett works as a proxy server: it translates queries from apps (Sonarr, Radarr, SickRage, CouchPotato, Mylar3, Lidarr, DuckieTV, qBittorrent, Nefarious etc.) into tracker-site-specific http queries, parses the html or json response, and then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches.",
|
"description": "Jackett works as a proxy server: it translates queries from apps (Sonarr, Radarr, SickRage, CouchPotato, Mylar3, Lidarr, DuckieTV, qBittorrent, Nefarious etc.) into tracker-site-specific http queries, parses the html or json response, and then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches.",
|
||||||
"short_desc": "API Support for your favorite torrent trackers ",
|
"short_desc": "API Support for your favorite torrent trackers ",
|
||||||
"categories": [
|
"categories": ["media", "utilities"],
|
||||||
"media",
|
|
||||||
"utilities"
|
|
||||||
],
|
|
||||||
"author": "",
|
"author": "",
|
||||||
"source": "https://github.com/Jackett/Jackett",
|
"source": "https://github.com/Jackett/Jackett",
|
||||||
"form_fields": []
|
"form_fields": []
|
||||||
|
|
|
@ -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.jackett-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.jackett.loadbalancer.server.port: 9117
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.jackett-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.jackett-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.jackett-insecure.service: jackett
|
||||||
|
traefik.http.routers.jackett-insecure.middlewares: jackett-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.jackett.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.jackett.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.jackett.entrypoints: websecure
|
traefik.http.routers.jackett.entrypoints: websecure
|
||||||
traefik.http.routers.jackett.service: jackett
|
traefik.http.routers.jackett.service: jackett
|
||||||
traefik.http.routers.jackett.tls.certresolver: myresolver
|
traefik.http.routers.jackett.tls.certresolver: myresolver
|
||||||
traefik.http.services.jackett.loadbalancer.server.port: 9117
|
# Local domain
|
||||||
|
traefik.http.routers.jackett-local-insecure.rule: Host(`jackett.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.jackett-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.jackett-local-insecure.service: jackett
|
||||||
|
traefik.http.routers.jackett-local-insecure.middlewares: jackett-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.jackett-local.rule: Host(`jackett.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.jackett-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.jackett-local.service: jackett
|
||||||
|
traefik.http.routers.jackett-local.tls: true
|
||||||
|
|
|
@ -5,12 +5,9 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8163,
|
"port": 8163,
|
||||||
"id": "jellyseerr",
|
"id": "jellyseerr",
|
||||||
"tipi_version": 2,
|
"tipi_version": 3,
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
"categories": [
|
"categories": ["media", "utilities"],
|
||||||
"media",
|
|
||||||
"utilities"
|
|
||||||
],
|
|
||||||
"description": "Jellyseerr is a free and open source software application for managing requests for your media library. It is a a fork of Overseerr built to bring support for Jellyfin & Emby media servers!",
|
"description": "Jellyseerr is a free and open source software application for managing requests for your media library. It is a a fork of Overseerr built to bring support for Jellyfin & Emby media servers!",
|
||||||
"short_desc": "Fork of overseerr for Jellyfin support",
|
"short_desc": "Fork of overseerr for Jellyfin support",
|
||||||
"author": "Fallenbagel",
|
"author": "Fallenbagel",
|
||||||
|
|
|
@ -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.jellyseerr-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.jellyseerr.loadbalancer.server.port: 5055
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.jellyseerr-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.jellyseerr-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.jellyseerr-insecure.service: jellyseerr
|
||||||
|
traefik.http.routers.jellyseerr-insecure.middlewares: jellyseerr-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.jellyseerr.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.jellyseerr.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.jellyseerr.entrypoints: websecure
|
traefik.http.routers.jellyseerr.entrypoints: websecure
|
||||||
traefik.http.routers.jellyseerr.service: jellyseerr
|
traefik.http.routers.jellyseerr.service: jellyseerr
|
||||||
traefik.http.routers.jellyseerr.tls.certresolver: myresolver
|
traefik.http.routers.jellyseerr.tls.certresolver: myresolver
|
||||||
traefik.http.services.jellyseerr.loadbalancer.server.port: 5055
|
# Local domain
|
||||||
|
traefik.http.routers.jellyseerr-local-insecure.rule: Host(`jellyseerr.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.jellyseerr-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.jellyseerr-local-insecure.service: jellyseerr
|
||||||
|
traefik.http.routers.jellyseerr-local-insecure.middlewares: jellyseerr-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.jellyseerr-local.rule: Host(`jellyseerr.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.jellyseerr-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.jellyseerr-local.service: jellyseerr
|
||||||
|
traefik.http.routers.jellyseerr-local.tls: true
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
Joplin is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. The notes are searchable, can be copied, tagged and modified either from the applications directly or from your own text editor. The notes are in Markdown format.
|
|
||||||
Notes exported from Evernote can be imported into Joplin, including the formatted content (which is converted to Markdown), resources (images, attachments, etc.) and complete metadata (geolocation, updated time, created time, etc.). Plain Markdown files can also be imported.
|
|
||||||
|
|
||||||
The notes can be securely synchronised using end-to-end encryption with various cloud services including Nextcloud, Dropbox, OneDrive and Joplin Cloud.
|
|
||||||
|
|
||||||
Full text search is available on all platforms to quickly find the information you need. The app can be customised using plugins and themes, and you can also easily create your own.
|
|
||||||
|
|
||||||
The application is available for Windows, Linux, macOS, Android and iOS. A Web Clipper, to save web pages and screenshots from your browser, is also available for Firefox and Chrome.
|
|
||||||
|
|
||||||
## Credentials
|
|
||||||
|
|
||||||
Username: admin@localhost
|
|
||||||
Password: admin
|
|
|
@ -5,11 +5,9 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8099,
|
"port": 8099,
|
||||||
"id": "joplin",
|
"id": "joplin",
|
||||||
"tipi_version": 5,
|
"tipi_version": 6,
|
||||||
"version": "2.10.11",
|
"version": "2.10.11",
|
||||||
"categories": [
|
"categories": ["utilities"],
|
||||||
"utilities"
|
|
||||||
],
|
|
||||||
"description": "Default credentials: admin@localhost / admin",
|
"description": "Default credentials: admin@localhost / admin",
|
||||||
"short_desc": "Note taking and to-do application with synchronisation",
|
"short_desc": "Note taking and to-do application with synchronisation",
|
||||||
"author": "https://github.com/laurent22",
|
"author": "https://github.com/laurent22",
|
||||||
|
|
|
@ -24,15 +24,31 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.joplin-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.joplin.loadbalancer.passhostheader: true
|
||||||
|
traefik.http.services.joplin.loadbalancer.server.port: 22300
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.joplin-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.joplin-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.joplin-insecure.service: joplin
|
||||||
|
traefik.http.routers.joplin-insecure.middlewares: joplin-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.joplin.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.joplin.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.joplin.entrypoints: websecure
|
traefik.http.routers.joplin.entrypoints: websecure
|
||||||
traefik.http.routers.joplin.service: joplin
|
traefik.http.routers.joplin.service: joplin
|
||||||
traefik.http.routers.joplin.tls.certresolver: myresolver
|
traefik.http.routers.joplin.tls.certresolver: myresolver
|
||||||
traefik.http.services.joplin.loadbalancer.server.port: 22300
|
# Local domain
|
||||||
traefik.http.services.joplin.loadbalancer.passhostheader: true
|
traefik.http.routers.joplin-local-insecure.rule: Host(`joplin.${LOCAL_DOMAIN}`)
|
||||||
traefik.http.middlewares.joplin-sslheader.headers.customrequestheaders.X-Forwarded-Proto: http
|
traefik.http.routers.joplin-local-insecure.entrypoints: web
|
||||||
traefik.http.routers.joplin-sslheader.middlewares: joplin-sslheader@docker
|
traefik.http.routers.joplin-local-insecure.service: joplin
|
||||||
|
traefik.http.routers.joplin-local-insecure.middlewares: joplin-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.joplin-local.rule: Host(`joplin.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.joplin-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.joplin-local.service: joplin
|
||||||
|
traefik.http.routers.joplin-local.tls: true
|
||||||
|
|
||||||
db-joplin:
|
db-joplin:
|
||||||
container_name: db-joplin
|
container_name: db-joplin
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"port": 8010,
|
"port": 8010,
|
||||||
"id": "kanboard",
|
"id": "kanboard",
|
||||||
"description": "Kanboard is a free and open source Kanban project management software.",
|
"description": "Kanboard is a free and open source Kanban project management software.",
|
||||||
"tipi_version": 3,
|
"tipi_version": 4,
|
||||||
"version": "1.2.30",
|
"version": "1.2.30",
|
||||||
"categories": [
|
"categories": ["development"],
|
||||||
"development"
|
|
||||||
],
|
|
||||||
"short_desc": "Open Source Kanban Board",
|
"short_desc": "Open Source Kanban Board",
|
||||||
"author": "Frédéric Guillot",
|
"author": "Frédéric Guillot",
|
||||||
"source": "https://github.com/kanboard/kanboard",
|
"source": "https://github.com/kanboard/kanboard",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.9'
|
version: "3.9"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
kanboard:
|
kanboard:
|
||||||
|
@ -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.kanboard-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.kanboard.loadbalancer.server.port: 80
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.kanboard-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.kanboard-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.kanboard-insecure.service: kanboard
|
||||||
|
traefik.http.routers.kanboard-insecure.middlewares: kanboard-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.kanboard.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.kanboard.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.kanboard.entrypoints: websecure
|
traefik.http.routers.kanboard.entrypoints: websecure
|
||||||
traefik.http.routers.kanboard.service: kanboard
|
traefik.http.routers.kanboard.service: kanboard
|
||||||
traefik.http.routers.kanboard.tls.certresolver: myresolver
|
traefik.http.routers.kanboard.tls.certresolver: myresolver
|
||||||
traefik.http.services.kanboard.loadbalancer.server.port: 80
|
# Local domain
|
||||||
|
traefik.http.routers.kanboard-local-insecure.rule: Host(`kanboard.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.kanboard-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.kanboard-local-insecure.service: kanboard
|
||||||
|
traefik.http.routers.kanboard-local-insecure.middlewares: kanboard-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.kanboard-local.rule: Host(`kanboard.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.kanboard-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.kanboard-local.service: kanboard
|
||||||
|
traefik.http.routers.kanboard-local.tls: true
|
||||||
|
|
|
@ -5,12 +5,9 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8194,
|
"port": 8194,
|
||||||
"id": "kapowarr",
|
"id": "kapowarr",
|
||||||
"tipi_version": 1,
|
"tipi_version": 2,
|
||||||
"version": "v1.0.0-beta-1",
|
"version": "v1.0.0-beta-1",
|
||||||
"categories": [
|
"categories": ["media", "utilities"],
|
||||||
"media",
|
|
||||||
"utilities"
|
|
||||||
],
|
|
||||||
"description": "Kapowarr is a software to build and manage a comic book library, fitting in the *arr suite of software.",
|
"description": "Kapowarr is a software to build and manage a comic book library, fitting in the *arr suite of software.",
|
||||||
"short_desc": "Kapowarr is a software to build and manage a comic book library, fitting in the *arr suite of software.",
|
"short_desc": "Kapowarr is a software to build and manage a comic book library, fitting in the *arr suite of software.",
|
||||||
"author": "Casvt",
|
"author": "Casvt",
|
||||||
|
|
|
@ -14,9 +14,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.kapowarr-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.kapowarr.loadbalancer.server.port: 5656
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.kapowarr-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.kapowarr-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.kapowarr-insecure.service: kapowarr
|
||||||
|
traefik.http.routers.kapowarr-insecure.middlewares: kapowarr-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.kapowarr.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.kapowarr.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.kapowarr.entrypoints: websecure
|
traefik.http.routers.kapowarr.entrypoints: websecure
|
||||||
traefik.http.routers.kapowarr.service: kapowarr
|
traefik.http.routers.kapowarr.service: kapowarr
|
||||||
traefik.http.routers.kapowarr.tls.certresolver: myresolver
|
traefik.http.routers.kapowarr.tls.certresolver: myresolver
|
||||||
traefik.http.services.kapowarr.loadbalancer.server.port: 5656
|
# Local domain
|
||||||
|
traefik.http.routers.kapowarr-local-insecure.rule: Host(`kapowarr.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.kapowarr-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.kapowarr-local-insecure.service: kapowarr
|
||||||
|
traefik.http.routers.kapowarr-local-insecure.middlewares: kapowarr-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.kapowarr-local.rule: Host(`kapowarr.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.kapowarr-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.kapowarr-local.service: kapowarr
|
||||||
|
traefik.http.routers.kapowarr-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "kavita",
|
"id": "kavita",
|
||||||
"tipi_version": 1,
|
"tipi_version": 2,
|
||||||
"version": "nightly-0.7.1.4",
|
"version": "nightly-0.7.1.4",
|
||||||
"categories": ["media"],
|
"categories": ["media"],
|
||||||
"description": "Kavita is a fast, feature rich, cross platform reading server",
|
"description": "Kavita is a fast, feature rich, cross platform reading server",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.9'
|
version: "3.9"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
kavita:
|
kavita:
|
||||||
|
@ -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.kavita-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.kavita.loadbalancer.server.port: 5000
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.kavita-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.kavita-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.kavita-insecure.service: kavita
|
||||||
|
traefik.http.routers.kavita-insecure.middlewares: kavita-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.kavita.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.kavita.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.kavita.entrypoints: websecure
|
traefik.http.routers.kavita.entrypoints: websecure
|
||||||
traefik.http.routers.kavita.service: kavita
|
traefik.http.routers.kavita.service: kavita
|
||||||
traefik.http.routers.kavita.tls.certresolver: myresolver
|
traefik.http.routers.kavita.tls.certresolver: myresolver
|
||||||
traefik.http.services.kavita.loadbalancer.server.port: 5000
|
# Local domain
|
||||||
|
traefik.http.routers.kavita-local-insecure.rule: Host(`kavita.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.kavita-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.kavita-local-insecure.service: kavita
|
||||||
|
traefik.http.routers.kavita-local-insecure.middlewares: kavita-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.kavita-local.rule: Host(`kavita.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.kavita-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.kavita-local.service: kavita
|
||||||
|
traefik.http.routers.kavita-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8105,
|
"port": 8105,
|
||||||
"id": "libreddit",
|
"id": "libreddit",
|
||||||
"tipi_version": 2,
|
"tipi_version": 3,
|
||||||
"version": "latest",
|
"version": "latest",
|
||||||
"categories": ["social"],
|
"categories": ["social"],
|
||||||
"description": "LibReddit is a bloat free reddit frontend written in Rust, no ads, no tracking and strong Content Security Policy prevents any request from going to reddit, everything is proxied.",
|
"description": "LibReddit is a bloat free reddit frontend written in Rust, no ads, no tracking and strong Content Security Policy prevents any request from going to reddit, everything is proxied.",
|
||||||
|
|
|
@ -11,9 +11,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.libreddit-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.libreddit.loadbalancer.server.port: 8080
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.libreddit-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.libreddit-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.libreddit-insecure.service: libreddit
|
||||||
|
traefik.http.routers.libreddit-insecure.middlewares: libreddit-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.libreddit.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.libreddit.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.libreddit.entrypoints: websecure
|
traefik.http.routers.libreddit.entrypoints: websecure
|
||||||
traefik.http.routers.libreddit.service: libreddit
|
traefik.http.routers.libreddit.service: libreddit
|
||||||
traefik.http.routers.libreddit.tls.certresolver: myresolver
|
traefik.http.routers.libreddit.tls.certresolver: myresolver
|
||||||
traefik.http.services.libreddit.loadbalancer.server.port: 8080
|
# Local domain
|
||||||
|
traefik.http.routers.libreddit-local-insecure.rule: Host(`libreddit.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.libreddit-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.libreddit-local-insecure.service: libreddit
|
||||||
|
traefik.http.routers.libreddit-local-insecure.middlewares: libreddit-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.libreddit-local.rule: Host(`libreddit.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.libreddit-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.libreddit-local.service: libreddit
|
||||||
|
traefik.http.routers.libreddit-local.tls: true
|
||||||
|
|
|
@ -11,9 +11,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.libreddit-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.libreddit.loadbalancer.server.port: 8080
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.libreddit-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.libreddit-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.libreddit-insecure.service: libreddit
|
||||||
|
traefik.http.routers.libreddit-insecure.middlewares: libreddit-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.libreddit.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.libreddit.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.libreddit.entrypoints: websecure
|
traefik.http.routers.libreddit.entrypoints: websecure
|
||||||
traefik.http.routers.libreddit.service: libreddit
|
traefik.http.routers.libreddit.service: libreddit
|
||||||
traefik.http.routers.libreddit.tls.certresolver: myresolver
|
traefik.http.routers.libreddit.tls.certresolver: myresolver
|
||||||
traefik.http.services.libreddit.loadbalancer.server.port: 8080
|
# Local domain
|
||||||
|
traefik.http.routers.libreddit-local-insecure.rule: Host(`libreddit.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.libreddit-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.libreddit-local-insecure.service: libreddit
|
||||||
|
traefik.http.routers.libreddit-local-insecure.middlewares: libreddit-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.libreddit-local.rule: Host(`libreddit.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.libreddit-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.libreddit-local.service: libreddit
|
||||||
|
traefik.http.routers.libreddit-local.tls: true
|
||||||
|
|
|
@ -11,10 +11,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.libreddit-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.libreddit.loadbalancer.server.port: 8080
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.libreddit-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.libreddit-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.libreddit-insecure.service: libreddit
|
||||||
|
traefik.http.routers.libreddit-insecure.middlewares: libreddit-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.libreddit.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.libreddit.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.libreddit.entrypoints: websecure
|
traefik.http.routers.libreddit.entrypoints: websecure
|
||||||
traefik.http.routers.libreddit.service: libreddit
|
traefik.http.routers.libreddit.service: libreddit
|
||||||
traefik.http.routers.libreddit.tls.certresolver: myresolver
|
traefik.http.routers.libreddit.tls.certresolver: myresolver
|
||||||
traefik.http.services.libreddit.loadbalancer.server.port: 8080
|
# Local domain
|
||||||
|
traefik.http.routers.libreddit-local-insecure.rule: Host(`libreddit.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.libreddit-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.libreddit-local-insecure.service: libreddit
|
||||||
|
traefik.http.routers.libreddit-local-insecure.middlewares: libreddit-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.libreddit-local.rule: Host(`libreddit.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.libreddit-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.libreddit-local.service: libreddit
|
||||||
|
traefik.http.routers.libreddit-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "librephotos",
|
"id": "librephotos",
|
||||||
"tipi_version": 7,
|
"tipi_version": 8,
|
||||||
"version": "2023w20",
|
"version": "2023w20",
|
||||||
"supported_architectures": ["amd64", "arm64"],
|
"supported_architectures": ["amd64", "arm64"],
|
||||||
"categories": ["photography"],
|
"categories": ["photography"],
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.7'
|
version: "3.7"
|
||||||
services:
|
services:
|
||||||
librephotos:
|
librephotos:
|
||||||
image: reallibrephotos/librephotos-proxy:2023w20
|
image: reallibrephotos/librephotos-proxy:2023w20
|
||||||
|
@ -16,12 +16,30 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.librephotos-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.librephotos.loadbalancer.server.port: 80
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.librephotos-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.librephotos-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.librephotos-insecure.service: librephotos
|
||||||
|
traefik.http.routers.librephotos-insecure.middlewares: librephotos-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.librephotos.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.librephotos.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.librephotos.entrypoints: websecure
|
traefik.http.routers.librephotos.entrypoints: websecure
|
||||||
traefik.http.routers.librephotos.service: librephotos
|
traefik.http.routers.librephotos.service: librephotos
|
||||||
traefik.http.routers.librephotos.tls.certresolver: myresolver
|
traefik.http.routers.librephotos.tls.certresolver: myresolver
|
||||||
traefik.http.services.librephotos.loadbalancer.server.port: 80
|
# Local domain
|
||||||
|
traefik.http.routers.librephotos-local-insecure.rule: Host(`librephotos.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.librephotos-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.librephotos-local-insecure.service: librephotos
|
||||||
|
traefik.http.routers.librephotos-local-insecure.middlewares: librephotos-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.librephotos-local.rule: Host(`librephotos.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.librephotos-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.librephotos-local.service: librephotos
|
||||||
|
traefik.http.routers.librephotos-local.tls: true
|
||||||
|
|
||||||
librephotos-db:
|
librephotos-db:
|
||||||
image: postgres:14
|
image: postgres:14
|
||||||
|
@ -35,7 +53,7 @@ services:
|
||||||
- ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
|
- ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
|
||||||
#Checking health of Postgres db
|
#Checking health of Postgres db
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ['CMD-SHELL', 'pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB']
|
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
|
||||||
interval: 5s
|
interval: 5s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8121,
|
"port": 8121,
|
||||||
"id": "libretranslate",
|
"id": "libretranslate",
|
||||||
"tipi_version": 5,
|
"tipi_version": 6,
|
||||||
"version": "1.3.11",
|
"version": "1.3.11",
|
||||||
"categories": [
|
"categories": ["utilities"],
|
||||||
"utilities"
|
|
||||||
],
|
|
||||||
"description": "Free and Open Source Machine Translation API, entirely self-hosted. Unlike other APIs, it doesn't rely on proprietary providers such as Google or Azure to perform translations. Instead, its translation engine is powered by the open source Argos Translate library.",
|
"description": "Free and Open Source Machine Translation API, entirely self-hosted. Unlike other APIs, it doesn't rely on proprietary providers such as Google or Azure to perform translations. Instead, its translation engine is powered by the open source Argos Translate library.",
|
||||||
"short_desc": "Free and Open Source Machine Translation API. 100% self-hosted, offline capable and easy to setup.",
|
"short_desc": "Free and Open Source Machine Translation API. 100% self-hosted, offline capable and easy to setup.",
|
||||||
"author": "LibreTranslate",
|
"author": "LibreTranslate",
|
||||||
|
|
|
@ -11,10 +11,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.libretranslate-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.libretranslate.loadbalancer.server.port: 5000
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.libretranslate-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.libretranslate-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.libretranslate-insecure.service: libretranslate
|
||||||
|
traefik.http.routers.libretranslate-insecure.middlewares: libretranslate-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.libretranslate.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.libretranslate.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.libretranslate.entrypoints: websecure
|
traefik.http.routers.libretranslate.entrypoints: websecure
|
||||||
traefik.http.routers.libretranslate.service: libretranslate
|
traefik.http.routers.libretranslate.service: libretranslate
|
||||||
traefik.http.routers.libretranslate.tls.certresolver: myresolver
|
traefik.http.routers.libretranslate.tls.certresolver: myresolver
|
||||||
traefik.http.services.libretranslate.loadbalancer.server.port: 5000
|
# Local domain
|
||||||
|
traefik.http.routers.libretranslate-local-insecure.rule: Host(`libretranslate.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.libretranslate-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.libretranslate-local-insecure.service: libretranslate
|
||||||
|
traefik.http.routers.libretranslate-local-insecure.middlewares: libretranslate-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.libretranslate-local.rule: Host(`libretranslate.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.libretranslate-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.libretranslate-local.service: libretranslate
|
||||||
|
traefik.http.routers.libretranslate-local.tls: true
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "lidarr-deemix",
|
"id": "lidarr-deemix",
|
||||||
"tipi_version": 2,
|
"tipi_version": 3,
|
||||||
"version": "1.2.8",
|
"version": "1.2.8",
|
||||||
"categories": [
|
"categories": ["media"],
|
||||||
"media"
|
|
||||||
],
|
|
||||||
"description": "Lidarr with some muscles thanks to deemix",
|
"description": "Lidarr with some muscles thanks to deemix",
|
||||||
"short_desc": "Lidarr with some muscles thanks to deemix",
|
"short_desc": "Lidarr with some muscles thanks to deemix",
|
||||||
"author": "Youegraillot",
|
"author": "Youegraillot",
|
||||||
|
|
|
@ -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.lidarr-deemix-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.lidarr-deemix.loadbalancer.server.port: 8686
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.lidarr-deemix-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.lidarr-deemix-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.lidarr-deemix-insecure.service: lidarr-deemix
|
||||||
|
traefik.http.routers.lidarr-deemix-insecure.middlewares: lidarr-deemix-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.lidarr-deemix.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.lidarr-deemix.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.lidarr-deemix.entrypoints: websecure
|
traefik.http.routers.lidarr-deemix.entrypoints: websecure
|
||||||
traefik.http.routers.lidarr-deemix.service: lidarr-deemix
|
traefik.http.routers.lidarr-deemix.service: lidarr-deemix
|
||||||
traefik.http.routers.lidarr-deemix.tls.certresolver: myresolver
|
traefik.http.routers.lidarr-deemix.tls.certresolver: myresolver
|
||||||
traefik.http.services.lidarr-deemix.loadbalancer.server.port: 8686
|
# Local domain
|
||||||
|
traefik.http.routers.lidarr-deemix-local-insecure.rule: Host(`lidarr-deemix.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.lidarr-deemix-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.lidarr-deemix-local-insecure.service: lidarr-deemix
|
||||||
|
traefik.http.routers.lidarr-deemix-local-insecure.middlewares: lidarr-deemix-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.lidarr-deemix-local.rule: Host(`lidarr-deemix.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.lidarr-deemix-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.lidarr-deemix-local.service: lidarr-deemix
|
||||||
|
traefik.http.routers.lidarr-deemix-local.tls: true
|
||||||
|
|
|
@ -5,12 +5,9 @@
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"port": 8131,
|
"port": 8131,
|
||||||
"id": "lidarr",
|
"id": "lidarr",
|
||||||
"tipi_version": 2,
|
"tipi_version": 3,
|
||||||
"version": "1.1.4",
|
"version": "1.1.4",
|
||||||
"categories": [
|
"categories": ["media", "music"],
|
||||||
"media",
|
|
||||||
"music"
|
|
||||||
],
|
|
||||||
"description": "Lidarr is a music collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new tracks from your favorite artists and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.",
|
"description": "Lidarr is a music collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new tracks from your favorite artists and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.",
|
||||||
"short_desc": " Looks and smells like Sonarr but made for music.",
|
"short_desc": " Looks and smells like Sonarr but made for music.",
|
||||||
"author": "lidarr.audio",
|
"author": "lidarr.audio",
|
||||||
|
|
|
@ -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.lidarr-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.lidarr.loadbalancer.server.port: 8686
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.lidarr-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.lidarr-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.lidarr-insecure.service: lidarr
|
||||||
|
traefik.http.routers.lidarr-insecure.middlewares: lidarr-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.lidarr.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.lidarr.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.lidarr.entrypoints: websecure
|
traefik.http.routers.lidarr.entrypoints: websecure
|
||||||
traefik.http.routers.lidarr.service: lidarr
|
traefik.http.routers.lidarr.service: lidarr
|
||||||
traefik.http.routers.lidarr.tls.certresolver: myresolver
|
traefik.http.routers.lidarr.tls.certresolver: myresolver
|
||||||
traefik.http.services.lidarr.loadbalancer.server.port: 8686
|
# Local domain
|
||||||
|
traefik.http.routers.lidarr-local-insecure.rule: Host(`lidarr.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.lidarr-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.lidarr-local-insecure.service: lidarr
|
||||||
|
traefik.http.routers.lidarr-local-insecure.middlewares: lidarr-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.lidarr-local.rule: Host(`lidarr.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.lidarr-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.lidarr-local.service: lidarr
|
||||||
|
traefik.http.routers.lidarr-local.tls: true
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"available": true,
|
"available": true,
|
||||||
"exposable": true,
|
"exposable": true,
|
||||||
"id": "linkstack",
|
"id": "linkstack",
|
||||||
"tipi_version": 1,
|
"tipi_version": 2,
|
||||||
"version": "latest",
|
"version": "latest",
|
||||||
"categories": ["media"],
|
"categories": ["media"],
|
||||||
"description": "LinkStack is a highly customizable link sharing platform with an intuitive, easy to use user interface",
|
"description": "LinkStack is a highly customizable link sharing platform with an intuitive, easy to use user interface",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: '3.7'
|
version: "3.7"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
linkstack:
|
linkstack:
|
||||||
|
@ -46,22 +46,18 @@ services:
|
||||||
- DB_CONNECTION=sqlite
|
- DB_CONNECTION=sqlite
|
||||||
- FORCE_HTTPS=true
|
- FORCE_HTTPS=true
|
||||||
volumes:
|
volumes:
|
||||||
- '${APP_DATA_DIR}/data/linkstack:/data'
|
- "${APP_DATA_DIR}/data/linkstack:/data"
|
||||||
ports:
|
ports:
|
||||||
- 8184:80
|
- 8184:80
|
||||||
- '${APP_PORT}:443'
|
- "${APP_PORT}:443"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- tipi_main_network
|
- tipi_main_network
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: ${APP_EXPOSED}
|
# Main
|
||||||
traefik.http.routers.linkstack.rule: Host(`${APP_DOMAIN}`)
|
traefik.enable: true
|
||||||
traefik.http.routers.linkstack.entrypoints: websecure
|
|
||||||
traefik.http.routers.linkstack.service: linkstack
|
|
||||||
traefik.http.routers.linkstack.tls.certresolver: myresolver
|
|
||||||
traefik.http.routers.linkstack.tls: "true"
|
|
||||||
traefik.http.services.linkstack.loadbalancer.server.port: 80
|
traefik.http.services.linkstack.loadbalancer.server.port: 80
|
||||||
traefik.http.routers.linkstack.middlewares: "linkstack-security-headers,linkstack-forwarded-headers"
|
traefik.http.middlewares.linkstack-web-redirect.redirectscheme.scheme: https
|
||||||
traefik.http.middlewares.linkstack-security-headers.headers.contentSecurityPolicy: "upgrade-insecure-requests"
|
traefik.http.middlewares.linkstack-security-headers.headers.contentSecurityPolicy: "upgrade-insecure-requests"
|
||||||
traefik.http.middlewares.linkstack-forwarded-headers.headers.customrequestheaders.X-Real-IP: "$remote_addr"
|
traefik.http.middlewares.linkstack-forwarded-headers.headers.customrequestheaders.X-Real-IP: "$remote_addr"
|
||||||
traefik.http.middlewares.linkstack-forwarded-headers.headers.customrequestheaders.X-Forwarded-For: "$proxy_add_x_forwarded_for"
|
traefik.http.middlewares.linkstack-forwarded-headers.headers.customrequestheaders.X-Forwarded-For: "$proxy_add_x_forwarded_for"
|
||||||
|
@ -70,3 +66,25 @@ services:
|
||||||
traefik.http.middlewares.linkstack-forwarded-headers.headers.customrequestheaders.Upgrade: "$http_upgrade"
|
traefik.http.middlewares.linkstack-forwarded-headers.headers.customrequestheaders.Upgrade: "$http_upgrade"
|
||||||
traefik.http.middlewares.linkstack-forwarded-headers.headers.customrequestheaders.Connection: "upgrade"
|
traefik.http.middlewares.linkstack-forwarded-headers.headers.customrequestheaders.Connection: "upgrade"
|
||||||
|
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.linkstack-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.linkstack-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.linkstack-insecure.service: linkstack
|
||||||
|
traefik.http.routers.linkstack-insecure.middlewares: linkstack-web-redirect
|
||||||
|
# Websecure
|
||||||
|
traefik.http.routers.linkstack.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.linkstack.entrypoints: websecure
|
||||||
|
traefik.http.routers.linkstack.service: linkstack
|
||||||
|
traefik.http.routers.linkstack.middlewares: linkstack-security-headers,linkstack-forwarded-headers
|
||||||
|
traefik.http.routers.linkstack.tls.certresolver: myresolver
|
||||||
|
# Local domain
|
||||||
|
traefik.http.routers.linkstack-local-insecure.rule: Host(`linkstack.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.linkstack-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.linkstack-local-insecure.service: linkstack
|
||||||
|
traefik.http.routers.linkstack-local-insecure.middlewares: linkstack-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.linkstack-local.rule: Host(`linkstack.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.linkstack-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.linkstack-local.service: linkstack
|
||||||
|
traefik.http.routers.linkstack-local.middlewares: linkstack-security-headers,linkstack-forwarded-headers
|
||||||
|
traefik.http.routers.linkstack-local.tls: true
|
||||||
|
|
|
@ -6,11 +6,9 @@
|
||||||
"no_gui": true,
|
"no_gui": true,
|
||||||
"port": 16662,
|
"port": 16662,
|
||||||
"id": "lodestone-core",
|
"id": "lodestone-core",
|
||||||
"tipi_version": 2,
|
"tipi_version": 3,
|
||||||
"version": "0.4.4",
|
"version": "0.4.4",
|
||||||
"categories": [
|
"categories": ["gaming"],
|
||||||
"gaming"
|
|
||||||
],
|
|
||||||
"description": "A free, open source server hosting tool for Minecraft and other multiplayers",
|
"description": "A free, open source server hosting tool for Minecraft and other multiplayers",
|
||||||
"short_desc": "Server hosting tool for Minecraft and other multiplayers",
|
"short_desc": "Server hosting tool for Minecraft and other multiplayers",
|
||||||
"author": "Lodestone-Team",
|
"author": "Lodestone-Team",
|
||||||
|
|
|
@ -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.lodestone-core-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.lodestone-core.loadbalancer.server.port: 16662
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.lodestone-core-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.lodestone-core-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.lodestone-core-insecure.service: lodestone-core
|
||||||
|
traefik.http.routers.lodestone-core-insecure.middlewares: lodestone-core-web-redirect
|
||||||
|
# Websecure
|
||||||
traefik.http.routers.lodestone-core.rule: Host(`${APP_DOMAIN}`)
|
traefik.http.routers.lodestone-core.rule: Host(`${APP_DOMAIN}`)
|
||||||
traefik.http.routers.lodestone-core.entrypoints: websecure
|
traefik.http.routers.lodestone-core.entrypoints: websecure
|
||||||
traefik.http.routers.lodestone-core.service: lodestone-core
|
traefik.http.routers.lodestone-core.service: lodestone-core
|
||||||
traefik.http.routers.lodestone-core.tls.certresolver: myresolver
|
traefik.http.routers.lodestone-core.tls.certresolver: myresolver
|
||||||
traefik.http.services.lodestone-core.loadbalancer.server.port: 16662
|
# Local domain
|
||||||
|
traefik.http.routers.lodestone-core-local-insecure.rule: Host(`lodestone-core.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.lodestone-core-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.lodestone-core-local-insecure.service: lodestone-core
|
||||||
|
traefik.http.routers.lodestone-core-local-insecure.middlewares: lodestone-core-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.lodestone-core-local.rule: Host(`lodestone-core.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.lodestone-core-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.lodestone-core-local.service: lodestone-core
|
||||||
|
traefik.http.routers.lodestone-core-local.tls: true
|
||||||
|
|
Loading…
Reference in New Issue
Block a user