Merge branch 'runtipi:master' into app/octobot

This commit is contained in:
qcoudeyr 2023-11-23 07:45:40 +00:00 committed by GitHub
commit 42d7309fbc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 173 additions and 91 deletions

View File

@ -28,6 +28,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
- [Dashy](https://github.com/lissy93/dashy) - A self-hostable personal dashboard built for you. - [Dashy](https://github.com/lissy93/dashy) - A self-hostable personal dashboard built for you.
- [Databag](https://github.com/balzack/databag) - A tiny federated messenger web with clients for iOS, Android, and browser. - [Databag](https://github.com/balzack/databag) - A tiny federated messenger web with clients for iOS, Android, and browser.
- [Deluge](https://github.com/linuxserver/docker-deluge) - Deluge is a lightweight, Free Software, cross-platform BitTorrent client - [Deluge](https://github.com/linuxserver/docker-deluge) - Deluge is a lightweight, Free Software, cross-platform BitTorrent client
- [Dockge](https://github.com/louislam/dockge) - A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager.
- [Deemix](https://gitlab.com/Bockiii/deemix-docker) - deemix is a barebone deezer downloader library built from the ashes of Deezloader Remix. - [Deemix](https://gitlab.com/Bockiii/deemix-docker) - deemix is a barebone deezer downloader library built from the ashes of Deezloader Remix.
- [DokuWiki](https://github.com/dokuwiki/dokuwiki) - DokuWiki is a simple to use and highly versatile Open Source wiki software - [DokuWiki](https://github.com/dokuwiki/dokuwiki) - DokuWiki is a simple to use and highly versatile Open Source wiki software
- [Dozzle](https://github.com/amir20/dozzle) - Dozzle is a small web based app to monitor Docker logs - [Dozzle](https://github.com/amir20/dozzle) - Dozzle is a small web based app to monitor Docker logs

View File

@ -5,8 +5,8 @@
"available": true, "available": true,
"exposable": true, "exposable": true,
"id": "2fauth", "id": "2fauth",
"tipi_version": 6, "tipi_version": 7,
"version": "4.2.3", "version": "4.2.4",
"categories": [ "categories": [
"security" "security"
], ],
@ -16,5 +16,8 @@
"source": "https://github.com/Bubka/2FAuth", "source": "https://github.com/Bubka/2FAuth",
"website": "https://docs.2fauth.app/", "website": "https://docs.2fauth.app/",
"form_fields": [], "form_fields": [],
"supported_architectures": ["arm64", "amd64"] "supported_architectures": [
"arm64",
"amd64"
]
} }

View File

@ -1,7 +1,7 @@
version: "3.7" version: "3.7"
services: services:
2fauth: 2fauth:
image: 2fauth/2fauth:4.2.3 image: 2fauth/2fauth:4.2.4
container_name: 2fauth container_name: 2fauth
volumes: volumes:
- ${APP_DATA_DIR}/data:/2fauth - ${APP_DATA_DIR}/data:/2fauth

View File

@ -5,7 +5,7 @@
"exposable": true, "exposable": true,
"id": "activepieces", "id": "activepieces",
"description": "Your friendliest open source all-in-one automation tool.", "description": "Your friendliest open source all-in-one automation tool.",
"tipi_version": 2, "tipi_version": 3,
"version": "0.13.0", "version": "0.13.0",
"categories": [ "categories": [
"automation" "automation"

View File

@ -17,7 +17,7 @@ services:
- AP_ENCRYPTION_KEY=${AP_ENCRYPTION_KEY} - AP_ENCRYPTION_KEY=${AP_ENCRYPTION_KEY}
- AP_JWT_SECRET=${AP_JWT_SECRET} - AP_JWT_SECRET=${AP_JWT_SECRET}
- AP_ENVIRONMENT=prod - AP_ENVIRONMENT=prod
- AP_FRONTEND_URL=http://localhost:8080 - AP_FRONTEND_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN}
- AP_WEBHOOK_TIMEOUT_SECONDS=30 - AP_WEBHOOK_TIMEOUT_SECONDS=30
- AP_TRIGGER_DEFAULT_POLL_INTERVAL=5 - AP_TRIGGER_DEFAULT_POLL_INTERVAL=5
- AP_POSTGRES_DATABASE=activepieces - AP_POSTGRES_DATABASE=activepieces
@ -38,7 +38,7 @@ services:
# Main # Main
traefik.enable: true traefik.enable: true
traefik.http.middlewares.activepieces-web-redirect.redirectscheme.scheme: https traefik.http.middlewares.activepieces-web-redirect.redirectscheme.scheme: https
traefik.http.services.activepieces.loadbalancer.server.port: 8744 traefik.http.services.activepieces.loadbalancer.server.port: 80
# Web # Web
traefik.http.routers.activepieces-insecure.rule: Host(`${APP_DOMAIN}`) traefik.http.routers.activepieces-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.activepieces-insecure.entrypoints: web traefik.http.routers.activepieces-insecure.entrypoints: web
@ -65,7 +65,7 @@ services:
restart: unless-stopped restart: unless-stopped
container_name: activepieces-postgres container_name: activepieces-postgres
healthcheck: healthcheck:
test: pg_isready -U tipi test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
interval: 30s interval: 30s
timeout: 30s timeout: 30s
retries: 3 retries: 3

View File

@ -5,9 +5,11 @@
"available": true, "available": true,
"exposable": true, "exposable": true,
"id": "authentik", "id": "authentik",
"tipi_version": 1, "tipi_version": 3,
"version": "2023.10.3", "version": "2023.10.4",
"categories": ["development"], "categories": [
"development"
],
"description": "The authentication glue you need.", "description": "The authentication glue you need.",
"short_desc": "The authentication glue you need.", "short_desc": "The authentication glue you need.",
"author": "goauthentik", "author": "goauthentik",
@ -26,5 +28,8 @@
"env_variable": "AUTHENTIK_SECRET_KEY" "env_variable": "AUTHENTIK_SECRET_KEY"
} }
], ],
"supported_architectures": ["arm64", "amd64"] "supported_architectures": [
"arm64",
"amd64"
]
} }

View File

@ -2,7 +2,7 @@ version: "3.7"
services: services:
authentik: authentik:
image: ghcr.io/goauthentik/server:2023.10.3 image: ghcr.io/goauthentik/server:2023.10.4
restart: unless-stopped restart: unless-stopped
command: server command: server
container_name: authentik container_name: authentik
@ -50,7 +50,7 @@ services:
traefik.http.routers.authentik-local.service: authentik traefik.http.routers.authentik-local.service: authentik
traefik.http.routers.authentik-local.tls: true traefik.http.routers.authentik-local.tls: true
authentik-worker: authentik-worker:
image: ghcr.io/goauthentik/server:2023.10.3 image: ghcr.io/goauthentik/server:2023.10.4
restart: unless-stopped restart: unless-stopped
command: worker command: worker
container_name: authentik-worker container_name: authentik-worker
@ -81,7 +81,7 @@ services:
authentik-db: authentik-db:
container_name: authentik-db container_name: authentik-db
image: docker.io/library/postgres:16-alpine image: postgres:12-alpine
restart: unless-stopped restart: unless-stopped
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"] test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
@ -99,7 +99,7 @@ services:
- tipi_main_network - tipi_main_network
authentik-redis: authentik-redis:
image: docker.io/library/redis:alpine image: redis:alpine
command: --save 60 1 --loglevel warning command: --save 60 1 --loglevel warning
container_name: authentik-redis container_name: authentik-redis
restart: unless-stopped restart: unless-stopped

View File

@ -5,8 +5,8 @@
"available": true, "available": true,
"exposable": true, "exposable": true,
"id": "budibase", "id": "budibase",
"tipi_version": 35, "tipi_version": 37,
"version": "2.13.12", "version": "2.13.14",
"categories": [ "categories": [
"development" "development"
], ],

View File

@ -1,7 +1,7 @@
version: '3.7' version: '3.7'
services: services:
budibase: budibase:
image: budibase/budibase:2.13.12 image: budibase/budibase:2.13.14
restart: unless-stopped restart: unless-stopped
container_name: budibase container_name: budibase
ports: ports:

20
apps/dockge/config.json Normal file
View File

@ -0,0 +1,20 @@
{
"$schema": "../schema.json",
"name": "Dockge",
"port": 8768,
"available": true,
"exposable": true,
"id": "dockge",
"tipi_version": 1,
"version": "1.1.1",
"categories": [
"utilities"
],
"description": "A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager.",
"short_desc": "Docker compose.yaml stack-oriented manager.",
"author": "Louis Lam",
"source": "https://github.com/louislam/dockge",
"form_fields": [],
"supported_architectures": ["arm64", "amd64"]
}

View File

@ -0,0 +1,41 @@
version: "3.8"
services:
dockge:
image: louislam/dockge:1.1.1
container_name: dockge
restart: unless-stopped
ports:
- ${APP_PORT}:5001
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ${APP_DATA_DIR}/data/app-data:/app/data
- ${APP_DATA_DIR}/data/stacks:${APP_DATA_DIR}/data/stacks
environment:
- DOCKGE_STACKS_DIR=${APP_DATA_DIR}/data/stacks
networks:
- tipi_main_network
labels:
# Main
traefik.enable: true
traefik.http.middlewares.dockge-web-redirect.redirectscheme.scheme: https
traefik.http.services.dockge.loadbalancer.server.port: 5001
# Web
traefik.http.routers.dockge-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.dockge-insecure.entrypoints: web
traefik.http.routers.dockge-insecure.service: dockge
traefik.http.routers.dockge-insecure.middlewares: dockge-web-redirect
# Websecure
traefik.http.routers.dockge.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.dockge.entrypoints: websecure
traefik.http.routers.dockge.service: dockge
traefik.http.routers.dockge.tls.certresolver: myresolver
# Local domain
traefik.http.routers.dockge-local-insecure.rule: Host(`dockge.${LOCAL_DOMAIN}`)
traefik.http.routers.dockge-local-insecure.entrypoints: web
traefik.http.routers.dockge-local-insecure.service: dockge
traefik.http.routers.dockge-local-insecure.middlewares: dockge-web-redirect
# Local domain secure
traefik.http.routers.dockge-local.rule: Host(`dockge.${LOCAL_DOMAIN}`)
traefik.http.routers.dockge-local.entrypoints: websecure
traefik.http.routers.dockge-local.service: dockge
traefik.http.routers.dockge-local.tls: true

View File

@ -0,0 +1,22 @@
# Dockge
A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager.
<img src="https://github.com/louislam/dockge/assets/1336778/26a583e1-ecb1-4a8d-aedf-76157d714ad7" width="900" alt="" />
View Video: https://youtu.be/AWAlOQeNpgU?t=48
## ⭐ Features
- Manage `compose.yaml`
- Create/Edit/Start/Stop/Restart/Delete
- Update Docker Images
- Interactive Editor for `compose.yaml`
- Interactive Web Terminal
- Reactive
- Everything is just responsive. Progress (Pull/Up/Down) and terminal output are in real-time
- Easy-to-use & fancy UI
- If you love Uptime Kuma's UI/UX, you will love this one too
- Convert `docker run ...` commands into `compose.yaml`
- File based structure
- Dockge won't kidnap your compose files, they are stored on your drive as usual. You can interact with them using normal `docker compose` commands

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -5,8 +5,8 @@
"exposable": true, "exposable": true,
"port": 8128, "port": 8128,
"id": "immich", "id": "immich",
"tipi_version": 55, "tipi_version": 56,
"version": "1.87.0", "version": "1.88.2",
"categories": [ "categories": [
"data", "data",
"photography" "photography"

View File

@ -1,25 +1,38 @@
version: "3.7" version: "3.7"
services: services:
immich: immich:
container_name: immich container_name: immich
image: altran1502/immich-proxy:v1.87.0 image: altran1502/immich-server:v1.88.2
ports: command: ["start-server.sh"]
- ${APP_PORT}:8080 volumes:
depends_on: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload
- immich-server
restart: unless-stopped
environment: environment:
- IMMICH_WEB_URL=http://immich-web:3000 - NODE_ENV=production
- IMMICH_SERVER_URL=http://immich-server:3001 - DB_HOSTNAME=immich-db
# - IMMICH_MACHINE_LEARNING_URL="http://immich-machine-learning:3003" - DB_USERNAME=tipi
- DB_PASSWORD=${DB_PASSWORD}
- ENABLE_MAPBOX=false
- DB_DATABASE_NAME=immich
- REDIS_HOSTNAME=immich-redis
- JWT_SECRET=${JWT_SECRET}
- TYPESENSE_HOST=immich-typesense
- TYPESENSE_API_KEY=${IMMICH_TYPESENSE_API_KEY}
depends_on:
- immich-redis
- immich-db
- immich-typesense
ports:
- ${APP_PORT}:3001
restart: unless-stopped
networks: networks:
- tipi_main_network - tipi_main_network
labels: labels:
# Main # Main
traefik.enable: true traefik.enable: true
traefik.http.middlewares.immich-web-redirect.redirectscheme.scheme: https traefik.http.middlewares.immich-web-redirect.redirectscheme.scheme: https
traefik.http.services.immich.loadbalancer.server.port: 8080 traefik.http.services.immich.loadbalancer.server.port: 3001
# Web # Web
traefik.http.routers.immich-insecure.rule: Host(`${APP_DOMAIN}`) traefik.http.routers.immich-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.immich-insecure.entrypoints: web traefik.http.routers.immich-insecure.entrypoints: web
@ -41,34 +54,9 @@ services:
traefik.http.routers.immich-local.service: immich traefik.http.routers.immich-local.service: immich
traefik.http.routers.immich-local.tls: true traefik.http.routers.immich-local.tls: true
immich-server:
container_name: immich-server
image: altran1502/immich-server:v1.88.1
command: ["start-server.sh"]
volumes:
- ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload
environment:
- NODE_ENV=production
- DB_HOSTNAME=immich-db
- DB_USERNAME=tipi
- DB_PASSWORD=${DB_PASSWORD}
- ENABLE_MAPBOX=false
- DB_DATABASE_NAME=immich
- REDIS_HOSTNAME=immich-redis
- JWT_SECRET=${JWT_SECRET}
- TYPESENSE_HOST=immich-typesense
- TYPESENSE_API_KEY=${IMMICH_TYPESENSE_API_KEY}
depends_on:
- immich-redis
- immich-db
- immich-typesense
restart: unless-stopped
networks:
- tipi_main_network
immich-microservices: immich-microservices:
container_name: immich-microservices container_name: immich-microservices
image: altran1502/immich-server:v1.88.1 image: altran1502/immich-server:v1.88.2
command: ["start-microservices.sh"] command: ["start-microservices.sh"]
volumes: volumes:
- ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload
@ -93,7 +81,7 @@ services:
immich-machine-learning: immich-machine-learning:
container_name: immich-machine-learning container_name: immich-machine-learning
image: altran1502/immich-machine-learning:v1.88.1 image: altran1502/immich-machine-learning:v1.88.2
volumes: volumes:
- ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload
- ${APP_DATA_DIR}/data/immich-ml-cache:/cache - ${APP_DATA_DIR}/data/immich-ml-cache:/cache
@ -112,13 +100,6 @@ services:
networks: networks:
- tipi_main_network - tipi_main_network
immich-web:
container_name: immich-web
image: altran1502/immich-web:v1.87.0
restart: unless-stopped
networks:
- tipi_main_network
immich-redis: immich-redis:
container_name: immich-redis container_name: immich-redis
image: redis:6.2 image: redis:6.2

View File

@ -5,8 +5,8 @@
"exposable": true, "exposable": true,
"id": "navidrome", "id": "navidrome",
"description": "Modern Music Server and Streamer compatible with Subsonic/Airsonic", "description": "Modern Music Server and Streamer compatible with Subsonic/Airsonic",
"tipi_version": 6, "tipi_version": 7,
"version": "0.50.0", "version": "0.50.1",
"categories": [ "categories": [
"media", "media",
"music" "music"

View File

@ -2,7 +2,7 @@ version: "3"
services: services:
navidrome: navidrome:
container_name: navidrome container_name: navidrome
image: deluan/navidrome:0.50.0 image: deluan/navidrome:0.50.1
ports: ports:
- ${APP_PORT}:4533 - ${APP_PORT}:4533
restart: unless-stopped restart: unless-stopped

View File

@ -37,7 +37,7 @@ services:
traefik.http.routers.notemark-local.tls: true traefik.http.routers.notemark-local.tls: true
notemark-backend: notemark-backend:
image: ghcr.io/enchant97/note-mark-backend:0.8.0 image: ghcr.io/enchant97/note-mark-backend:0.9.0
container_name: notemark-backend container_name: notemark-backend
restart: unless-stopped restart: unless-stopped
networks: networks:

View File

@ -5,8 +5,8 @@
"available": true, "available": true,
"exposable": true, "exposable": true,
"id": "owncloud", "id": "owncloud",
"tipi_version": 8, "tipi_version": 9,
"version": "10.13.2", "version": "10.13.3",
"categories": [ "categories": [
"data" "data"
], ],
@ -39,5 +39,8 @@
"env_variable": "OWNCLOUD_PASSWORD" "env_variable": "OWNCLOUD_PASSWORD"
} }
], ],
"supported_architectures": ["arm64", "amd64"] "supported_architectures": [
"arm64",
"amd64"
]
} }

View File

@ -2,7 +2,7 @@ version: "3"
services: services:
owncloud: owncloud:
image: owncloud/server:10.13.2 image: owncloud/server:10.13.3
container_name: owncloud container_name: owncloud
restart: unless-stopped restart: unless-stopped
ports: ports:

View File

@ -75,7 +75,7 @@ services:
- tipi_main_network - tipi_main_network
gotenberg: gotenberg:
image: docker.io/gotenberg/gotenberg:7.9 image: docker.io/gotenberg/gotenberg:7.10
restart: unless-stopped restart: unless-stopped
# The gotenberg chromium route is used to convert .eml files. We do not # The gotenberg chromium route is used to convert .eml files. We do not
# want to allow external content like tracking pixels or even javascript. # want to allow external content like tracking pixels or even javascript.

View File

@ -10,8 +10,8 @@
] ]
}, },
"id": "pihole", "id": "pihole",
"tipi_version": 10, "tipi_version": 11,
"version": "2023.10.0", "version": "2023.11.0",
"url_suffix": "/admin", "url_suffix": "/admin",
"categories": [ "categories": [
"network", "network",
@ -37,5 +37,8 @@
"env_variable": "NETWORK_INTERFACE" "env_variable": "NETWORK_INTERFACE"
} }
], ],
"supported_architectures": ["arm64", "amd64"] "supported_architectures": [
"arm64",
"amd64"
]
} }

View File

@ -3,7 +3,7 @@ version: "3.7"
services: services:
pihole: pihole:
container_name: pihole container_name: pihole
image: pihole/pihole:2023.10.0 image: pihole/pihole:2023.11.0
restart: unless-stopped restart: unless-stopped
hostname: pihole hostname: pihole
dns: dns:

View File

@ -6,8 +6,8 @@
"exposable": true, "exposable": true,
"https": true, "https": true,
"id": "portainer", "id": "portainer",
"tipi_version": 15, "tipi_version": 16,
"version": "2.19.2-alpine", "version": "2.19.3-alpine",
"categories": [ "categories": [
"utilities" "utilities"
], ],

View File

@ -2,7 +2,7 @@ version: "3.7"
services: services:
portainer: portainer:
image: portainer/portainer-ce:2.19.2-alpine image: portainer/portainer-ce:2.19.3-alpine
container_name: portainer container_name: portainer
restart: unless-stopped restart: unless-stopped
ports: ports:

View File

@ -5,8 +5,8 @@
"exposable": true, "exposable": true,
"port": 8133, "port": 8133,
"id": "qbittorrent", "id": "qbittorrent",
"tipi_version": 9, "tipi_version": 10,
"version": "4.6.0", "version": "4.6.1",
"categories": [ "categories": [
"utilities" "utilities"
], ],
@ -15,5 +15,8 @@
"author": "qBittorrent project", "author": "qBittorrent project",
"source": "https://github.com/qbittorrent/qBittorrent", "source": "https://github.com/qbittorrent/qBittorrent",
"form_fields": [], "form_fields": [],
"supported_architectures": ["arm64", "amd64"] "supported_architectures": [
"arm64",
"amd64"
]
} }

View File

@ -1,7 +1,7 @@
version: "3.7" version: "3.7"
services: services:
qbittorrent: qbittorrent:
image: lscr.io/linuxserver/qbittorrent:4.6.0 image: lscr.io/linuxserver/qbittorrent:4.6.1
container_name: qbittorrent container_name: qbittorrent
dns: dns:
- ${DNS_IP} - ${DNS_IP}

View File

@ -5,8 +5,8 @@
"exposable": true, "exposable": true,
"port": 8103, "port": 8103,
"id": "your-spotify", "id": "your-spotify",
"tipi_version": 7, "tipi_version": 8,
"version": "1.7.2", "version": "1.7.3",
"categories": [ "categories": [
"music", "music",
"utilities" "utilities"

View File

@ -3,7 +3,7 @@ version: "3"
services: services:
your-spotify: your-spotify:
container_name: your-spotify container_name: your-spotify
image: yooooomi/your_spotify_client:1.7.2 image: yooooomi/your_spotify_client:1.7.3
depends_on: depends_on:
- your-spotify-server - your-spotify-server
restart: unless-stopped restart: unless-stopped

View File

@ -5,8 +5,8 @@
"available": true, "available": true,
"exposable": true, "exposable": true,
"id": "zipline", "id": "zipline",
"tipi_version": 7, "tipi_version": 8,
"version": "3.7.6", "version": "3.7.7",
"categories": [ "categories": [
"media" "media"
], ],

View File

@ -3,7 +3,7 @@ version: '3.7'
services: services:
zipline: zipline:
container_name: zipline container_name: zipline
image: ghcr.io/diced/zipline:3.7.6 image: ghcr.io/diced/zipline:3.7.7
ports: ports:
- '${APP_PORT}:3000' - '${APP_PORT}:3000'
restart: unless-stopped restart: unless-stopped