Merge branch 'runtipi:master' into app/pinchflat

This commit is contained in:
falkheiland 2024-04-25 09:46:37 +02:00 committed by GitHub
commit 00f053e14e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
71 changed files with 707 additions and 168 deletions

View File

@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.3
- name: Install Node.js
uses: actions/setup-node@v4

View File

@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.3
- name: Install Bun
uses: oven-sh/setup-bun@v1

View File

@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.3
- name: Get last commit message
id: get-last-commit-message
@ -21,7 +21,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.3
with:
fetch-depth: 0
token: ${{ secrets.PERSONAL_TOKEN }}
@ -58,7 +58,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.3
- name: Install Node.js
uses: actions/setup-node@v4

View File

@ -23,7 +23,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.3
- name: Self-hosted Renovate
uses: renovatebot/github-action@v40.1.9
with:

View File

@ -57,6 +57,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
- [Fireshare](https://github.com/ShaneIsrael/fireshare) - Self host your media and share with unique links
- [Flaresolverr](https://github.com/FlareSolverr/FlareSolverr) - Bypass Cloudflare and DDoS-GuARD.
- [flatnotes](https://github.com/Dullage/flatnotes) - A self-hosted, database-less note taking web app
- [Flightlog](https://github.com/perdian/flightlog/) - Flightlog, a web application that keeps track of your personal flight history
- [Flowise AI](https://github.com/FlowiseAI/Flowise) - Build LLM Apps Easily
- [Forgejo](https://codeberg.org/forgejo/forgejo/) - Beyond coding. We forge. · Lightweight and performant · Guaranteed 100% Free Software
- [FreshRSS](https://github.com/FreshRSS/FreshRSS) - A free, self-hostable aggregator…
@ -188,8 +189,10 @@ This is the official repository for the Tipi App Store. It contains all the apps
- [Shlink](https://github.com/shlinkio/shlink) - Shlink is a self-hosted URL shortener
- [Silverbullet](https://github.com/silverbulletmd/silverbullet) - SilverBullet is a creative space where you collect, create and expand your personal knowledge, while also letting you constantly evolve the tools you use to do so.
- [SimpleX SMP](https://github.com/simplex-chat/simplexmq) - A reference implementation of the SimpleX Messaging Protocol for simplex queues over public networks.
- [SLSKD](https://github.com/slskd/slskd) - P2P downloads
- [Sonarr](https://github.com/Sonarr/Sonarr) - TV show manager for Usenet and BitTorrent
- [Speedtest Tracker](https://github.com/alexjustesen/speedtest-tracker) - Internet performance tracking application.
- [Spoolman](https://github.com/Donkie/Spoolman) - Keep track of your inventory of 3D-printer filament spools
- [Sshwifty](https://github.com/nirui/sshwifty) - Web SSH & Telnet (WebSSH & WebTelnet client)
- [Stirling-PDF](https://github.com/Frooodle/Stirling-PDF/) - Powerful locally hosted web based PDF manipulation tool.
- [Syncthing](https://github.com/syncthing) - Peer-to-peer file synchronization between your devices

View File

@ -5,8 +5,8 @@
"exposable": true,
"id": "activepieces",
"description": "Your friendliest open source all-in-one automation tool.",
"tipi_version": 22,
"version": "0.24.1",
"tipi_version": 24,
"version": "0.25.1",
"categories": [
"automation"
],

View File

@ -1,7 +1,7 @@
version: '3.7'
services:
activepieces:
image: activepieces/activepieces:0.24.1
image: activepieces/activepieces:0.25.1
container_name: activepieces
restart: unless-stopped
ports:

53
apps/affine/config.json Normal file
View File

@ -0,0 +1,53 @@
{
"name": "AFFiNE",
"id": "affine",
"available": true,
"short_desc": "AFFiNE is a workspace with fully merged docs, whiteboards and databases.",
"author": "https://github.com/toeverything",
"port": 3010,
"categories": [
"utilities"
],
"description": "AFFiNE is a workspace with fully merged docs, whiteboards and databases. A privacy-focused, local-first, open-source, and ready-to-use alternative for Notion & Miro. Docs, canvas and tables are hyper-merged with AFFiNE - just like the word affine",
"tipi_version": 1,
"version": "stable",
"source": "https://github.com/toeverything/affine",
"website": "https://affine.pro",
"exposable": true,
"form_fields": [
{
"env_variable": "AFFINE_ADMIN_EMAIL",
"label": "Admin Email",
"pattern_error": "Invalid email",
"regex": "^[\\w\\-\\.]+@([\\w-]+\\.)+[\\w-]{2,}$",
"required": true,
"type": "text"
},
{
"env_variable": "AFFINE_ADMIN_PASSWORD",
"label": "Admin Password",
"pattern_error": "Invalid password: Must have 1 lowercase, 1 uppercase, 1 special character, 1 digit and no $.",
"regex": "^(?=.*\\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[^\\w\\d\\s:])([^\\s$]){8,128}$",
"required": true,
"type": "password",
"min": 8,
"max": 128
},
{
"env_variable": "AFFINE_TELEMETRY_ENABLE",
"label": "Enable affine telemetry?",
"required": false,
"type": "boolean"
},
{
"env_variable": "AFFINE_POSTGRES_PASSWORD",
"label": "Affine postgres password",
"type": "random",
"min": 32
}
],
"supported_architectures": [
"arm64",
"amd64"
]
}

View File

@ -0,0 +1,91 @@
version: "3.9"
services:
affine:
image: ghcr.io/toeverything/affine-graphql:stable
container_name: affine
command: ["sh", "-c", "node ./scripts/self-host-predeploy && node ./dist/index.js"]
ports:
- ${APP_PORT}:3010
depends_on:
affine-redis:
condition: service_healthy
affine-postgres:
condition: service_healthy
volumes:
# Custom configurations
- ${APP_DATA_DIR}/data/config:/root/.affine/config
# Blob storage
- ${APP_DATA_DIR}/data/storage:/root/.affine/storage
logging:
driver: "json-file"
options:
max-size: "1000m"
restart: unless-stopped
environment:
- NODE_OPTIONS="--import=./scripts/register.js"
- AFFINE_CONFIG_PATH=/root/.affine/config
- REDIS_SERVER_HOST=affine-redis
- DATABASE_URL=postgres://tipi:${AFFINE_POSTGRES_PASSWORD}@affine-postgres:5432/affine
- NODE_ENV=production
- AFFINE_ADMIN_EMAIL=${AFFINE_ADMIN_EMAIL}
- AFFINE_ADMIN_PASSWORD=${AFFINE_ADMIN_PASSWORD}
- TELEMETRY_ENABLE=${AFFINE_TELEMETRY_ENABLE}
networks:
- tipi_main_network
labels:
# Main
traefik.enable: true
traefik.http.middlewares.affine-web-redirect.redirectscheme.scheme: https
traefik.http.services.affine.loadbalancer.server.port: 3010
# Web
traefik.http.routers.affine-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.affine-insecure.entrypoints: web
traefik.http.routers.affine-insecure.service: affine
traefik.http.routers.affine-insecure.middlewares: affine-web-redirect
# Websecure
traefik.http.routers.affine.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.affine.entrypoints: websecure
traefik.http.routers.affine.service: affine
traefik.http.routers.affine.tls.certresolver: myresolver
# Local domain
traefik.http.routers.affine-local-insecure.rule: Host(`affine.${LOCAL_DOMAIN}`)
traefik.http.routers.affine-local-insecure.entrypoints: web
traefik.http.routers.affine-local-insecure.service: affine
traefik.http.routers.affine-local-insecure.middlewares: affine-web-redirect
# Local domain secure
traefik.http.routers.affine-local.rule: Host(`affine.${LOCAL_DOMAIN}`)
traefik.http.routers.affine-local.entrypoints: websecure
traefik.http.routers.affine-local.service: affine
traefik.http.routers.affine-local.tls: true
affine-redis:
image: redis
container_name: affine-redis
restart: unless-stopped
volumes:
- ${APP_DATA_DIR}/data/redis:/data
healthcheck:
test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
interval: 10s
timeout: 5s
retries: 5
networks:
- tipi_main_network
affine-postgres:
image: postgres
container_name: affinepostgres
restart: unless-stopped
volumes:
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U affine" ]
interval: 10s
timeout: 5s
retries: 5
environment:
POSTGRES_USER: tipi
POSTGRES_PASSWORD: ${AFFINE_POSTGRES_PASSWORD}
POSTGRES_DB: affine
networks:
- tipi_main_network

View File

@ -0,0 +1,23 @@
## AFFiNE
[AFFiNE](https://affine.pro) is an open-source, all-in-one workspace and an operating system for all the building blocks that assemble your knowledge base and much more -- wiki, knowledge management, presentation and digital assets. It's a better alternative to Notion and Miro.
![](https://cdn.affine.pro/Github_hero_image1.png)
### Features
**A true canvas for blocks in any form. Docs and whiteboard are now fully merged.**
- Many editor apps claim to be a canvas for productivity, but AFFiNE is one of the very few which allows you to put any building block on an edgeless canvas -- rich text, sticky notes, any embedded web pages, multi-view databases, linked pages, shapes and even slides. We have it all.
**Multimodal AI partner ready to kick in any work**
- Write up professional work report? Turn an outline into expressive and presentable slides? Summary an article into a well-structured mindmap? Sorting your job plan and backlog for tasks? Or... draw and code prototype apps and web pages directly all with one prompt? With you, AFFiNE AI pushes your creativity to the edge of your imagination.
**Local-first & Real-time collaborative**
- We love the idea of local-first that you always own your data on your disk, in spite of the cloud. Furthermore, AFFiNE supports real-time sync and collaborations on web and cross-platform clients.
**Self-host & Shape your own AFFiNE**
- You have the freedom to manage, self-host, fork and build your own AFFiNE. Plugin community and third-party blocks are coming soon. More tractions on [Blocksuite](https://blocksuite.io). Check there to learn how to [self-host AFFiNE](https://docs.affine.pro/docs/self-host-affine).

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@ -5,11 +5,9 @@
"exposable": true,
"port": 8015,
"id": "archivebox",
"tipi_version": 2,
"version": "0.7.4",
"categories": [
"media"
],
"tipi_version": 3,
"version": "0.7.2",
"categories": ["media"],
"description": "ArchiveBox is a powerful, self-hosted internet archiving solution to collect, save, and view websites offline.",
"short_desc": "Open source self-hosted web archiving.",
"author": "archivebox",
@ -33,8 +31,5 @@
"env_variable": "ARCHIVEBOX_PASSWORD"
}
],
"supported_architectures": [
"arm64",
"amd64"
]
"supported_architectures": ["arm64", "amd64"]
}

View File

@ -1,6 +1,6 @@
services:
archivebox:
image: archivebox/archivebox:0.7.4
image: archivebox/archivebox:0.7.2
restart: unless-stopped
container_name: archivebox
command: server --quick-init 0.0.0.0:8015

View File

@ -5,8 +5,8 @@
"exposable": true,
"port": 13378,
"id": "audiobookshelf",
"tipi_version": 13,
"version": "2.8.1",
"tipi_version": 14,
"version": "2.9.0",
"categories": [
"books",
"media"

View File

@ -2,7 +2,7 @@ version: '3.7'
services:
audiobookshelf:
container_name: audiobookshelf
image: ghcr.io/advplyr/audiobookshelf:2.8.1
image: ghcr.io/advplyr/audiobookshelf:2.9.0
restart: unless-stopped
ports:
- ${APP_PORT}:80

View File

@ -5,8 +5,8 @@
"available": true,
"exposable": true,
"id": "authentik",
"tipi_version": 11,
"version": "2024.2.3",
"tipi_version": 12,
"version": "2024.4.0",
"https": true,
"categories": [
"development"

View File

@ -2,7 +2,7 @@ version: "3.7"
services:
authentik:
image: ghcr.io/goauthentik/server:2024.2.3
image: ghcr.io/goauthentik/server:2024.4.0
restart: unless-stopped
command: server
container_name: authentik
@ -49,7 +49,7 @@ services:
traefik.http.routers.authentik-local.service: authentik
traefik.http.routers.authentik-local.tls: true
authentik-worker:
image: ghcr.io/goauthentik/server:2024.2.3
image: ghcr.io/goauthentik/server:2024.4.0
restart: unless-stopped
command: worker
container_name: authentik-worker

View File

@ -5,8 +5,8 @@
"available": true,
"exposable": true,
"id": "budibase",
"tipi_version": 126,
"version": "2.23.10",
"tipi_version": 128,
"version": "2.23.12",
"categories": [
"development"
],

View File

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

View File

@ -0,0 +1,23 @@
{
"name": "Cheshire Cat AI",
"available": true,
"port": 1865,
"exposable": true,
"id": "cheshire-cat-ai",
"description": "The Cheshire Cat is an open-source, hackable and production-ready framework that allows developing intelligent personal AI assistant agents on top of Large Language Models (LLM).",
"tipi_version": 1,
"version": "1.5.3",
"categories": [
"ai"
],
"short_desc": "A production-ready AI framework to develop AI agents.",
"author": "pieroit",
"source": "https://github.com/cheshire-cat-ai/core",
"website": "https://cheshirecat.ai",
"form_fields": [],
"url_suffix": "/admin",
"supported_architectures": [
"amd64",
"arm64"
]
}

View File

@ -0,0 +1,45 @@
version: '3.7'
services:
cheshire-cat-ai:
networks:
- tipi_main_network
image: ghcr.io/cheshire-cat-ai/core:1.5.3
container_name: cheshire-cat-ai
ports:
- ${APP_PORT}:80
environment:
- PYTHONUNBUFFERED=1
- WATCHFILES_FORCE_POLLING=true
volumes:
- ${APP_DATA_DIR}/data/static:/app/cat/static
- ${APP_DATA_DIR}/data/plugins:/app/cat/plugins
- ${APP_DATA_DIR}/data/data:/app/cat/data
labels:
# Main
traefik.enable: true
traefik.http.middlewares.cheshire-web-redirect.redirectscheme.scheme: https
traefik.http.services.cheshire.loadbalancer.server.port: 1865
# Web
traefik.http.routers.cheshire-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.cheshire-insecure.entrypoints: web
traefik.http.routers.cheshire-insecure.service: cheshire-cat-ai
traefik.http.routers.cheshire-insecure.middlewares: cheshire-cat-ai-web-redirect
# Websecure
traefik.http.routers.cheshire.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.cheshire.entrypoints: websecure
traefik.http.routers.cheshire.service: cheshire-cat-ai
traefik.http.routers.cheshire.tls.certresolver: myresolver
# Local domain
traefik.http.routers.cheshire-local-insecure.rule: Host(`cheshire-cat-ai.${LOCAL_DOMAIN}`)
traefik.http.routers.cheshire-local-insecure.entrypoints: web
traefik.http.routers.cheshire-local-insecure.service: cheshire-cat-ai
traefik.http.routers.cheshire-local-insecure.middlewares: cheshire-cat-ai-web-redirect
# Local domain secure
traefik.http.routers.cheshire-local.rule: Host(`cheshire-cat-ai.${LOCAL_DOMAIN}`)
traefik.http.routers.cheshire-local.entrypoints: websecure
traefik.http.routers.cheshire-local.service: cheshire-cat-ai
traefik.http.routers.cheshire-local.tls: true
networks:
tipi-main-network:
driver: bridge

View File

@ -0,0 +1,78 @@
<a name="readme-top"></a>
<br />
<div align="center">
<h2>Cheshire-Cat (Stregatto)</h2>
<br/>
<a href="https://github.com/cheshire-cat-ai/core">
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/cheshire-cat-ai/core?style=social">
</a>
<a href="https://discord.gg/bHX5sNFCYU">
<img src="https://img.shields.io/discord/1092359754917089350?logo=discord"
alt="chat on Discord"></a>
<a href="https://github.com/cheshire-cat-ai/core/issues">
<img alt="GitHub issues" src="https://img.shields.io/github/issues/cheshire-cat-ai/core">
</a>
<a href="https://github.com/cheshire-cat-ai/core/tags">
<img alt="GitHub tag (with filter)" src="https://img.shields.io/github/v/tag/cheshire-cat-ai/core">
</a>
<img alt="GitHub top language" src="https://img.shields.io/github/languages/top/cheshire-cat-ai/core">
<p align="center">
<img align="center" src=https://cheshire-cat-ai.github.io/docs/assets/img/quickstart/write-hook/marvin-sockseller.png alt="Wikipedia picture of the Cheshire Cat">
</p>
</div>
## Production-ready AI assistant framework
The Cheshire Cat is a framework to build custom AIs on top of any language model.
If you have ever used systems like WordPress or Django to build web apps, imagine the Cat as a similar tool, but specific for AI.
## Docs and Resources
- [Official Documentation](https://cheshire-cat-ai.github.io/docs/)
- [Discord Server](https://discord.gg/bHX5sNFCYU)
- [Website](https://cheshirecat.ai/)
- [YouTube tutorial - How to install](https://youtu.be/Rvx19TZBCrw)
- [Tutorial - Write your first plugin](https://cheshirecat.ai/write-your-first-plugin/)
## Why using the Cat
- ⚡️ API first, so you get a microservice to easily add a conversational layer to your app
- 🐘 Remembers conversations and documents and uses them in conversation
- 🚀 Extensible via plugins (public plugin registry + private plugins allowed)
- 🎚 Event callbacks, function calling (tools), conversational forms
- 🏛 Easy to use admin panel (chat, visualize memory and plugins, adjust settings)
- 🌍 Supports any language model (works with OpenAI, Google, Ollama, HuggingFace, custom services)
- 🐋 Production-ready - 100% [dockerized](https://docs.docker.com/get-docker/)
- 👩‍👧‍👦 Active [Discord community](https://discord.gg/bHX5sNFCYU) and easy to understand [docs](https://cheshire-cat-ai.github.io/docs/)
We are committed to openness, privacy and creativity, we want to bring AI to the long tail. To learn more about our vision and values, read the [Code of Ethics](https://cheshirecat.ai/code-of-ethics/).
## Roadmap & Contributing
The Detailed roadmap is [here](https://github.com/cheshire-cat-ai/core/blob/main/readme/ROADMAP.md).
Send your pull request to the `develop` branch. Here is a [full guide to contributing](https://github.com/cheshire-cat-ai/core/blob/main/readme/CONTRIBUTING.md).
Join our [community on Discord](https://discord.gg/bHX5sNFCYU) and give the project a star ⭐!
Thanks again!🙏
## Which way to go?
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<p align="center">
<img align="center" src=https://raw.githubusercontent.com/cheshire-cat-ai/core/main/readme/cheshire-cat.jpeg width=400px alt="Wikipedia picture of the Cheshire Cat">
</p>
```
"Would you tell me, please, which way I ought to go from here?"
"That depends a good deal on where you want to get to," said the Cat.
"I don't much care where--" said Alice.
"Then it doesn't matter which way you go," said the Cat.
(Alice's Adventures in Wonderland - Lewis Carroll)
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -5,8 +5,8 @@
"available": true,
"exposable": false,
"id": "cloudflared",
"tipi_version": 9,
"version": "2024.4.0",
"tipi_version": 10,
"version": "2024.4.1",
"categories": [
"utilities"
],

View File

@ -2,7 +2,7 @@ version: "3.9"
services:
cloudflared:
image: wisdomsky/cloudflared-web:2024.4.0
image: wisdomsky/cloudflared-web:2024.4.1
container_name: cloudflared
restart: unless-stopped
network_mode: host

View File

@ -6,8 +6,8 @@
"no_gui": true,
"port": 1999,
"id": "email-oauth2-proxy",
"tipi_version": 6,
"version": "2024.03.26",
"tipi_version": 7,
"version": "2024.04.24",
"categories": [
"utilities",
"security"

View File

@ -3,7 +3,7 @@ version: "3.9"
services:
email-oauth2-proxy:
container_name: email-oauth2-proxy
image: ghcr.io/blacktirion/email-oauth2-proxy-docker:2024.03.26
image: ghcr.io/blacktirion/email-oauth2-proxy-docker:2024.04.24
ports:
- ${APP_PORT}:80
restart: unless-stopped

View File

@ -5,14 +5,19 @@
"exposable": true,
"port": 8096,
"id": "filebrowser",
"tipi_version": 3,
"tipi_version": 4,
"version": "s6",
"categories": ["utilities"],
"categories": [
"utilities"
],
"description": "Reliable and Performant File Management Desktop Sync and File Sharing\n Default credentials: admin / admin",
"short_desc": "Access your homeserver files from your browser",
"author": "filebrowser.org",
"website": "https://filebrowser.org/",
"source": "https://github.com/filebrowser/filebrowser",
"form_fields": [],
"supported_architectures": ["arm64", "amd64"]
"supported_architectures": [
"arm64",
"amd64"
]
}

View File

@ -1,8 +0,0 @@
{
"port": 80,
"baseURL": "",
"address": "",
"log": "stdout",
"database": "/database/filebrowser.db",
"root": "/srv"
}

View File

@ -10,7 +10,9 @@ services:
- ${ROOT_FOLDER_HOST}/media:/srv/media
- ${APP_DATA_DIR}/data/general:/srv/general
- ${APP_DATA_DIR}/data/db:/database
- ${APP_DATA_DIR}/data/config:/config
environment:
- PUID=0
- PGID=0
networks:
- tipi_main_network
labels:

View File

@ -5,8 +5,8 @@
"exposable": true,
"id": "flatnotes",
"port": 8137,
"tipi_version": 20,
"version": "4.0.3",
"tipi_version": 21,
"version": "4.0.4",
"categories": [
"utilities"
],

View File

@ -3,7 +3,7 @@ version: "3"
services:
flatnotes:
container_name: flatnotes
image: dullage/flatnotes:v4.0.3
image: dullage/flatnotes:v4.0.4
environment:
FLATNOTES_AUTH_TYPE: ${FLATNOTES_AUTH_TYPE}
FLATNOTES_USERNAME: ${FLATNOTES_USERNAME}

View File

@ -5,8 +5,8 @@
"available": true,
"exposable": true,
"id": "ghostfolio",
"tipi_version": 75,
"version": "2.75.0",
"tipi_version": 77,
"version": "2.76.0",
"categories": [
"finance"
],

View File

@ -3,7 +3,7 @@ version: "3.9"
services:
ghostfolio:
container_name: ghostfolio
image: ghostfolio/ghostfolio:2.75.0
image: ghostfolio/ghostfolio:2.76.0
restart: unless-stopped
ports:
- ${APP_PORT}:3333

View File

@ -5,8 +5,8 @@
"available": true,
"exposable": false,
"id": "gladys",
"tipi_version": 32,
"version": "4.38.4",
"tipi_version": 33,
"version": "4.39.0",
"categories": [
"automation"
],

View File

@ -3,7 +3,7 @@ version: '3'
services:
gladys:
container_name: gladys
image: gladysassistant/gladys:v4.38.4
image: gladysassistant/gladys:v4.39.0
privileged: true
restart: on-failure
stop_grace_period: 1m

View File

@ -5,8 +5,8 @@
"exposable": true,
"port": 8092,
"id": "halo",
"tipi_version": 24,
"version": "2.14.0",
"tipi_version": 25,
"version": "2.14.1",
"description": "Halo is a powerful and easy-to-use open source website building tool.",
"short_desc": "Halo - Open source website building tool.",
"categories": [

View File

@ -2,7 +2,7 @@ version: "3.7"
services:
halo:
image: halohub/halo:2.14.0
image: halohub/halo:2.14.1
container_name: halo
restart: unless-stopped
depends_on:

View File

@ -5,8 +5,8 @@
"available": true,
"exposable": true,
"id": "homeassistant-1",
"tipi_version": 12,
"version": "2024.4.3",
"tipi_version": 13,
"version": "2024.4.4",
"categories": [
"automation"
],

View File

@ -2,7 +2,7 @@ version: '3'
services:
homeassistant-1:
image: ghcr.io/home-assistant/home-assistant:2024.4.3
image: ghcr.io/home-assistant/home-assistant:2024.4.4
container_name: homeassistant-1
environment:
- TZ=${TZ}

View File

@ -42,7 +42,7 @@ services:
traefik.http.routers.invoice-ninja-local.tls: true
invoice-ninja-server:
image: invoiceninja/invoiceninja:5.8.50
image: invoiceninja/invoiceninja:5.8.51
container_name: invoice-ninja-server
restart: unless-stopped
user: 1500:1500

View File

@ -5,8 +5,8 @@
"available": true,
"exposable": true,
"id": "kavita",
"tipi_version": 13,
"version": "0.8.0",
"tipi_version": 14,
"version": "0.8.1",
"categories": [
"media"
],

View File

@ -3,7 +3,7 @@ version: "3.9"
services:
kavita:
container_name: kavita
image: jvmilazz0/kavita:0.8.0
image: jvmilazz0/kavita:0.8.1
ports:
- ${APP_PORT}:5000
volumes:

23
apps/komga/config.json Normal file
View File

@ -0,0 +1,23 @@
{
"$schema": "../schema.json",
"name": "Komga",
"port": 2560,
"available": true,
"exposable": true,
"id": "komga",
"tipi_version": 2,
"version": "1.11.1",
"categories": [
"media"
],
"description": "A media server for your comics, mangas, BDs, magazines and eBooks.",
"short_desc": "A media server for your comics, mangas, BDs, magazines and eBooks.",
"author": "gotson",
"source": "https://github.com/gotson/komga",
"website": "https://komga.org/",
"form_fields": [],
"supported_architectures": [
"arm64",
"amd64"
]
}

View File

@ -0,0 +1,40 @@
version: "3.9"
services:
komga:
image: ghcr.io/gotson/komga:1.11.1
container_name: komga
volumes:
- ${APP_DATA_DIR}/data/config:/config
- ${APP_DATA_DIR}/data/data:/data
environment:
- TZ=${TZ}
ports:
- ${APP_PORT}:25600
networks:
- tipi_main_network
restart: unless-stopped
labels:
# Main
traefik.enable: true
traefik.http.middlewares.komga-web-redirect.redirectscheme.scheme: https
traefik.http.services.komga.loadbalancer.server.port: 8080
# Web
traefik.http.routers.komga-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.komga-insecure.entrypoints: web
traefik.http.routers.komga-insecure.service: komga
traefik.http.routers.komga-insecure.middlewares: komga-web-redirect
# Websecure
traefik.http.routers.komga.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.komga.entrypoints: websecure
traefik.http.routers.komga.service: komga
traefik.http.routers.komga.tls.certresolver: myresolver
# Local domain
traefik.http.routers.komga-local-insecure.rule: Host(`komga.${LOCAL_DOMAIN}`)
traefik.http.routers.komga-local-insecure.entrypoints: web
traefik.http.routers.komga-local-insecure.service: komga
traefik.http.routers.komga-local-insecure.middlewares: komga-web-redirect
# Local domain secure
traefik.http.routers.komga-local.rule: Host(`komga.${LOCAL_DOMAIN}`)
traefik.http.routers.komga-local.entrypoints: websecure
traefik.http.routers.komga-local.service: komga
traefik.http.routers.komga-local.tls: true

View File

@ -0,0 +1,32 @@
## Komga
Komga is a media server for your comics, mangas, BDs, magazines and eBooks.
### Chat on [Discord](https://discord.gg/TdRpkDu)
### Features
- Browse libraries, series and books via a responsive web UI that works on desktop, tablets and phones
- Organize your library with collections and read lists
- Edit metadata for your series and books
- Import embedded metadata automatically
- Webreader with multiple reading modes
- Manage multiple users, with per-library access control, age restrictions, and labels restrictions
- Offers a REST API, many community tools and scripts can interact with Komga
- Download book files, whole series, or read lists
- Duplicate files detection
- Duplicate pages detection and removal
- Import books from outside your libraries directly into your series folder
- Import ComicRack `cbl` read lists
### Documentation
Head over to our [website](https://komga.org) for more information.
### Develop in Komga
Check the [development guidelines](./DEVELOPING.md).
### Credits
The Komga icon is based on an icon made by [Freepik](https://www.freepik.com/home) from [Flaticon](https://www.flaticon.com).

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -5,8 +5,8 @@
"exposable": true,
"port": 8121,
"id": "libretranslate",
"tipi_version": 17,
"version": "1.5.6",
"tipi_version": 18,
"version": "1.5.7",
"categories": [
"utilities"
],

View File

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

View File

@ -5,8 +5,8 @@
"exposable": true,
"id": "lobe-chat",
"description": "LobeChat is an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible (Function Call) plugin system.",
"tipi_version": 103,
"version": "0.148.1",
"tipi_version": 113,
"version": "0.149.2",
"categories": [
"ai"
],

View File

@ -2,7 +2,7 @@ version: '3.9'
services:
lobe-chat:
container_name: lobe-chat
image: lobehub/lobe-chat:v0.148.1
image: lobehub/lobe-chat:v0.149.2
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- OPENAI_PROXY_URL=${OPEANAI_PROXY_URL}

View File

@ -7,9 +7,11 @@
"force_expose": true,
"no_gui": true,
"id": "matrix-conduit",
"tipi_version": 4,
"version": "0.6.0",
"categories": ["social"],
"tipi_version": 5,
"version": "0.7.0",
"categories": [
"social"
],
"description": "Conduit is a fast Matrix homeserver thats easy to set up and just works. You can install it on a mini-computer like the Raspberry Pi to host Matrix for your family, friends or company.",
"short_desc": "Conduit is a simple, fast and reliable chat server written in Rust",
"author": "Timo Kösters",
@ -69,5 +71,8 @@
"env_variable": "TURN_SECRET"
}
],
"supported_architectures": ["arm64", "amd64"]
"supported_architectures": [
"arm64",
"amd64"
]
}

View File

@ -3,7 +3,7 @@ version: "3.7"
services:
matrix-conduit:
container_name: matrix-conduit
image: matrixconduit/matrix-conduit:v0.6.0
image: matrixconduit/matrix-conduit:v0.7.0
environment:
CONDUIT_SERVER_NAME: ${APP_DOMAIN}
CONDUIT_DATABASE_PATH: /var/lib/matrix-conduit/

View File

@ -5,8 +5,8 @@
"available": true,
"exposable": true,
"id": "onedev",
"tipi_version": 87,
"version": "10.4.0",
"tipi_version": 89,
"version": "10.5.1",
"categories": [
"development"
],

View File

@ -2,7 +2,7 @@ version: "3.7"
services:
onedev:
image: 1dev/server:10.4.0
image: 1dev/server:10.5.1
container_name: onedev
environment:
- hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect

View File

@ -5,8 +5,8 @@
"available": true,
"exposable": true,
"id": "planka",
"tipi_version": 18,
"version": "1.16.4",
"tipi_version": 20,
"version": "1.17.1",
"categories": [
"development"
],

View File

@ -2,7 +2,7 @@ version: '3'
services:
planka:
image: ghcr.io/plankanban/planka:1.16.4
image: ghcr.io/plankanban/planka:1.17.1
container_name: planka
command: >
bash -c

View File

@ -5,8 +5,8 @@
"exposable": true,
"port": 8112,
"id": "readarr",
"tipi_version": 15,
"version": "0.3.24-nightly",
"tipi_version": 16,
"version": "0.3.25-nightly",
"categories": [
"books",
"media"

View File

@ -1,7 +1,7 @@
version: "3.7"
services:
readarr:
image: lscr.io/linuxserver/readarr:0.3.24-nightly
image: lscr.io/linuxserver/readarr:0.3.25-nightly
container_name: readarr
environment:
- PUID=1000

View File

@ -0,0 +1,42 @@
{
"$schema": "../schema.json",
"name": "Stalwart Mail",
"available": true,
"exposable": true,
"tipi_version": 2,
"version": "0.7.2",
"port": 8677,
"id": "stalwart-mail",
"categories": [
"media",
"network",
"utilities"
],
"description": "Stalwart is a scalable, secure and robust open-source mail server software designed for the 21st century.",
"short_desc": "Open-source mail server solution with JMAP, IMAP4, and SMTP support",
"author": "Stalwart Labs",
"source": "https://github.com/stalwartlabs",
"website": "https://stalw.art",
"requirements": {
"ports": [
25,
143,
465,
587,
993,
4190
]
},
"form_fields": [
{
"type": "ip",
"label": "Network Interface (default: 0.0.0.0)",
"required": false,
"env_variable": "NETWORK_INTERFACE"
}
],
"supported_architectures": [
"arm64",
"amd64"
]
}

View File

@ -0,0 +1,43 @@
version: "3.7"
services:
stalwart-mail:
image: stalwartlabs/mail-server:v0.7.2
container_name: stalwart-mail
volumes:
- ${APP_DATA_DIR}/data:/opt/stalwart-mail
restart: unless-stopped
networks:
- tipi_main_network
ports:
- ${NETWORK_INTERFACE:-0.0.0.0}:25:25/tcp
- ${NETWORK_INTERFACE:-0.0.0.0}:143:143/tcp
- ${NETWORK_INTERFACE:-0.0.0.0}:465:465/tcp
- ${NETWORK_INTERFACE:-0.0.0.0}:587:587/tcp
- ${NETWORK_INTERFACE:-0.0.0.0}:993:993/tcp
- ${NETWORK_INTERFACE:-0.0.0.0}:4190:4190/tcp
- ${APP_PORT}:8080
labels:
# Main
traefik.enable: true
traefik.http.middlewares.stalwart-mail-web-redirect.redirectscheme.scheme: https
traefik.http.services.stalwart-mail.loadbalancer.server.port: 8080
# Web
traefik.http.routers.stalwart-mail-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.stalwart-mail-insecure.entrypoints: web
traefik.http.routers.stalwart-mail-insecure.service: stalwart-mail
traefik.http.routers.stalwart-mail-insecure.middlewares: stalwart-mail-web-redirect
# Websecure
traefik.http.routers.stalwart-mail.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.stalwart-mail.entrypoints: websecure
traefik.http.routers.stalwart-mail.service: stalwart-mail
traefik.http.routers.stalwart-mail.tls.certresolver: myresolver
# Local domain
traefik.http.routers.stalwart-mail-local-insecure.rule: Host(`stalwart-mail.${LOCAL_DOMAIN}`)
traefik.http.routers.stalwart-mail-local-insecure.entrypoints: web
traefik.http.routers.stalwart-mail-local-insecure.service: stalwart-mail
traefik.http.routers.stalwart-mail-local-insecure.middlewares: stalwart-mail-web-redirect
# Local domain secure
traefik.http.routers.stalwart-mail-local.rule: Host(`stalwart-mail.${LOCAL_DOMAIN}`)
traefik.http.routers.stalwart-mail-local.entrypoints: websecure
traefik.http.routers.stalwart-mail-local.service: stalwart-mail
traefik.http.routers.stalwart-mail-local.tls: true

View File

@ -0,0 +1,68 @@
## Stalwart Mail server
Stalwart is a scalable, secure and robust open-source mail server software designed for the 21st century.
### Admin Password
See [Log in to the web interface](https://stalw.art/docs/install/docker#log-in-to-the-web-interface) to know how to get the admin password.
### Screenshots
<img src="https://github.com/stalwartlabs/mail-server/blob/main/img/screencast-setup.gif?raw=true" alt="Stalwart Mail Server setup screencast"><br>
### Features
**Stalwart Mail Server** is an open-source mail server solution with JMAP, IMAP4, and SMTP support and a wide range of modern features. It is written in Rust and designed to be secure, fast, robust and scalable.
Key features:
- **JMAP** server:
- JMAP Core ([RFC 8620](https://datatracker.ietf.org/doc/html/rfc8620))
- JMAP Mail ([RFC 8621](https://datatracker.ietf.org/doc/html/rfc8621))
- JMAP for Sieve Scripts ([DRAFT-SIEVE-19](https://www.ietf.org/archive/id/draft-ietf-jmap-sieve-19.html))
- JMAP over WebSocket ([RFC 8887](https://datatracker.ietf.org/doc/html/rfc8887)), JMAP Blob Management ([RFC 9404](https://www.rfc-editor.org/rfc/rfc9404.html)) and JMAP for Quotas ([RFC 9425](https://www.rfc-editor.org/rfc/rfc9425.html)) extensions.
- **IMAP4** server:
- IMAP4rev2 ([RFC 9051](https://datatracker.ietf.org/doc/html/rfc9051)) full compliance.
- IMAP4rev1 ([RFC 3501](https://datatracker.ietf.org/doc/html/rfc3501)) backwards compatible.
- ManageSieve ([RFC 5804](https://datatracker.ietf.org/doc/html/rfc5804)) server.
- Numerous [extensions](https://stalw.art/docs/development/rfcs#imap4-and-extensions) supported.
- **SMTP** server:
- Built-in [DMARC](https://datatracker.ietf.org/doc/html/rfc7489), [DKIM](https://datatracker.ietf.org/doc/html/rfc6376), [SPF](https://datatracker.ietf.org/doc/html/rfc7208) and [ARC](https://datatracker.ietf.org/doc/html/rfc8617) support for message authentication.
- Strong transport security through [DANE](https://datatracker.ietf.org/doc/html/rfc6698), [MTA-STS](https://datatracker.ietf.org/doc/html/rfc8461) and [SMTP TLS](https://datatracker.ietf.org/doc/html/rfc8460) reporting.
- Inbound throttling and filtering with granular configuration rules, sieve scripting and milter integration.
- Distributed virtual queues with delayed delivery, priority delivery, quotas, routing rules and throttling support.
- Envelope rewriting and message modification.
- **Spam and Phishing** filter:
- Comprehensive set of filtering **rules** on par with popular solutions.
- Statistical **spam classifier** with automatic training capabilities.
- DNS Blocklists (**DNSBLs**) checking of IP addresses, domains, and hashes.
- Collaborative digest-based spam filtering with **Pyzor**.
- **Phishing** protection against homographic URL attacks, sender spoofing and other techniques.
- Trusted **reply** tracking to recognize and prioritize genuine e-mail replies.
- Sender **reputation** monitoring by IP address, ASN, domain and email address.
- **Greylisting** to temporarily defer unknown senders.
- **Spam traps** to set up decoy email addresses that catch and analyze spam.
- **Flexible and scalable**:
- Pluggable storage backends with **RocksDB**, **FoundationDB**, **PostgreSQL**, **mySQL**, **SQLite**, **S3-Compatible**, **Redis** and **ElasticSearch** support.
- Built-in, **LDAP** or **SQL** authentication backend support.
- Full-text search available in 17 languages.
- Disk quotas.
- Sieve scripting language with support for all [registered extensions](https://www.iana.org/assignments/sieve-extensions/sieve-extensions.xhtml).
- Email aliases, mailing lists, subaddressing and catch-all addresses support.
- Integration with **OpenTelemetry** to enable monitoring, tracing, and performance analysis.
- **Web-based administration**:
- Account, domain, group and mailing list management.
- SMTP queue management for messages and outbound DMARC and TLS reports.
- Report visualization interface for received DMARC, TLS-RPT and Failure (ARF) reports.
- Configuration of every aspect of the mail server.
- Log viewer with search and filtering capabilities.
- Self-service portal for password reset and encryption-at-rest key management.
- **Secure and robust**:
- Encryption at rest with **S/MIME** or **OpenPGP**.
- Automatic TLS certificate provisioning with [ACME](https://datatracker.ietf.org/doc/html/rfc8555).
- OAuth 2.0 [authorization code](https://www.rfc-editor.org/rfc/rfc8628) and [device authorization](https://www.rfc-editor.org/rfc/rfc8628) flows.
- Automated blocking of hosts that cause multiple authentication errors (aka **fail2ban**).
- Access Control Lists (ACLs).
- Rate limiting.
- Security audited (read the [report](https://stalw.art/blog/security-audit)).
- Memory safe (thanks to Rust).

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -5,8 +5,8 @@
"available": true,
"exposable": true,
"id": "stirling-pdf",
"tipi_version": 30,
"version": "0.22.8",
"tipi_version": 31,
"version": "0.23.0",
"categories": [
"data",
"utilities"

View File

@ -1,7 +1,7 @@
version: "3.9"
services:
stirling-pdf:
image: frooodle/s-pdf:0.22.8
image: frooodle/s-pdf:0.23.0
restart: unless-stopped
container_name: stirling-pdf
privileged: true

View File

@ -5,8 +5,8 @@
"available": true,
"exposable": true,
"id": "wikijs",
"tipi_version": 6,
"version": "2.5.301",
"tipi_version": 7,
"version": "2.5.302",
"categories": [
"media"
],

View File

@ -3,7 +3,7 @@ version: '3.7'
services:
wikijs:
container_name: wikijs
image: ghcr.io/requarks/wiki:2.5.301
image: ghcr.io/requarks/wiki:2.5.302
depends_on:
- wikijs-db
environment:

View File

@ -5,8 +5,8 @@
"exposable": true,
"id": "windows",
"description": "Run windows in docker...because why not?",
"tipi_version": 13,
"version": "2.14",
"tipi_version": 16,
"version": "2.17",
"categories": [
"utilities"
],

View File

@ -2,7 +2,7 @@ version: "3.9"
services:
windows:
container_name: windows
image: dockurr/windows:2.14
image: dockurr/windows:2.17
restart: unless-stopped
devices:
- /dev/kvm

View File

@ -20,8 +20,8 @@
},
"homepage": "https://github.com/meienberger/runtipi-appstore#readme",
"devDependencies": {
"@commitlint/cli": "^19.2.1",
"@commitlint/config-conventional": "^19.1.0",
"@commitlint/cli": "^19.3.0",
"@commitlint/config-conventional": "^19.2.2",
"@commitlint/cz-commitlint": "^19.2.0",
"@types/jest": "^28.1.6",
"@types/js-yaml": "^4.0.9",
@ -29,7 +29,7 @@
"@types/semver": "^7.5.8",
"commitizen": "^4.3.0",
"eslint": "^8.57.0",
"eslint-plugin-json-schema-validator": "^4.8.3",
"eslint-plugin-json-schema-validator": "^5.1.0",
"eslint-plugin-jsonc": "^2.15.1",
"husky": "^9.0.11",
"jest": "^28.1.3",

View File

@ -6,14 +6,14 @@ settings:
devDependencies:
'@commitlint/cli':
specifier: ^19.2.1
version: 19.2.1(@types/node@20.12.7)(typescript@5.4.5)
specifier: ^19.3.0
version: 19.3.0(@types/node@20.12.7)(typescript@5.4.5)
'@commitlint/config-conventional':
specifier: ^19.1.0
version: 19.1.0
specifier: ^19.2.2
version: 19.2.2
'@commitlint/cz-commitlint':
specifier: ^19.2.0
version: 19.2.0(@types/node@20.12.7)(commitizen@4.3.0)(inquirer@9.2.17)(typescript@5.4.5)
version: 19.2.0(@types/node@20.12.7)(commitizen@4.3.0)(inquirer@9.2.19)(typescript@5.4.5)
'@types/jest':
specifier: ^28.1.6
version: 28.1.6
@ -33,8 +33,8 @@ devDependencies:
specifier: ^8.57.0
version: 8.57.0
eslint-plugin-json-schema-validator:
specifier: ^4.8.3
version: 4.8.3(eslint@8.57.0)
specifier: ^5.1.0
version: 5.1.0(eslint@8.57.0)
eslint-plugin-jsonc:
specifier: ^2.15.1
version: 2.15.1(eslint@8.57.0)
@ -75,11 +75,11 @@ packages:
'@jridgewell/trace-mapping': 0.3.14
dev: true
/@babel/code-frame@7.24.1:
resolution: {integrity: sha512-bC49z4spJQR3j8vFtJBLqzyzFV0ciuL5HYX7qfSl3KEqeMVV+eTquRvmXxpvB0AMubRrvv7y5DILiLLPi57Ewg==}
/@babel/code-frame@7.24.2:
resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/highlight': 7.24.1
'@babel/highlight': 7.24.2
picocolors: 1.0.0
dev: true
@ -93,7 +93,7 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@ampproject/remapping': 2.2.0
'@babel/code-frame': 7.24.1
'@babel/code-frame': 7.24.2
'@babel/generator': 7.18.9
'@babel/helper-compilation-targets': 7.18.9(@babel/core@7.18.9)
'@babel/helper-module-transforms': 7.18.9
@ -216,8 +216,8 @@ packages:
- supports-color
dev: true
/@babel/highlight@7.24.1:
resolution: {integrity: sha512-EPmDPxidWe/Ex+HTFINpvXdPHRmgSF3T8hGvzondYjmgzTQ/0EbLpSxyt+w3zzlYSk9cNBQNF9k0dT5Z2NiBjw==}
/@babel/highlight@7.24.2:
resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-validator-identifier': 7.22.20
@ -357,7 +357,7 @@ packages:
resolution: {integrity: sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.24.1
'@babel/code-frame': 7.24.2
'@babel/parser': 7.18.9
'@babel/types': 7.18.9
dev: true
@ -366,7 +366,7 @@ packages:
resolution: {integrity: sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.24.1
'@babel/code-frame': 7.24.2
'@babel/generator': 7.18.9
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-function-name': 7.18.9
@ -392,13 +392,13 @@ packages:
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
dev: true
/@commitlint/cli@19.2.1(@types/node@20.12.7)(typescript@5.4.5):
resolution: {integrity: sha512-cbkYUJsLqRomccNxvoJTyv5yn0bSy05BBizVyIcLACkRbVUqYorC351Diw/XFSWC/GtpwiwT2eOvQgFZa374bg==}
/@commitlint/cli@19.3.0(@types/node@20.12.7)(typescript@5.4.5):
resolution: {integrity: sha512-LgYWOwuDR7BSTQ9OLZ12m7F/qhNY+NpAyPBgo4YNMkACE7lGuUnuQq1yi9hz1KA4+3VqpOYl8H1rY/LYK43v7g==}
engines: {node: '>=v18'}
hasBin: true
dependencies:
'@commitlint/format': 19.0.3
'@commitlint/lint': 19.1.0
'@commitlint/format': 19.3.0
'@commitlint/lint': 19.2.2
'@commitlint/load': 19.2.0(@types/node@20.12.7)(typescript@5.4.5)
'@commitlint/read': 19.2.1
'@commitlint/types': 19.0.3
@ -409,8 +409,8 @@ packages:
- typescript
dev: true
/@commitlint/config-conventional@19.1.0:
resolution: {integrity: sha512-KIKD2xrp6Uuk+dcZVj3++MlzIr/Su6zLE8crEDQCZNvWHNQSeeGbzOlNtsR32TUy6H3JbP7nWgduAHCaiGQ6EA==}
/@commitlint/config-conventional@19.2.2:
resolution: {integrity: sha512-mLXjsxUVLYEGgzbxbxicGPggDuyWNkf25Ht23owXIH+zV2pv1eJuzLK3t1gDY5Gp6pxdE60jZnWUY5cvgL3ufw==}
engines: {node: '>=v18'}
dependencies:
'@commitlint/types': 19.0.3
@ -425,7 +425,7 @@ packages:
ajv: 8.12.0
dev: true
/@commitlint/cz-commitlint@19.2.0(@types/node@20.12.7)(commitizen@4.3.0)(inquirer@9.2.17)(typescript@5.4.5):
/@commitlint/cz-commitlint@19.2.0(@types/node@20.12.7)(commitizen@4.3.0)(inquirer@9.2.19)(typescript@5.4.5):
resolution: {integrity: sha512-kudzHMY9/GxflGyAWMiisiBq2UkyQL1D1eWjGKoC66qQ+5jxRYeDaiVwTdPxYMnmehftNcpksZATDYKqdPP0Wg==}
engines: {node: '>=v18'}
peerDependencies:
@ -437,7 +437,7 @@ packages:
'@commitlint/types': 19.0.3
chalk: 5.3.0
commitizen: 4.3.0(@types/node@20.12.7)(typescript@5.4.5)
inquirer: 9.2.17
inquirer: 9.2.19
lodash.isplainobject: 4.0.6
word-wrap: 1.2.5
transitivePeerDependencies:
@ -462,27 +462,27 @@ packages:
engines: {node: '>=v18'}
dev: true
/@commitlint/format@19.0.3:
resolution: {integrity: sha512-QjjyGyoiVWzx1f5xOteKHNLFyhyweVifMgopozSgx1fGNrGV8+wp7k6n1t6StHdJ6maQJ+UUtO2TcEiBFRyR6Q==}
/@commitlint/format@19.3.0:
resolution: {integrity: sha512-luguk5/aF68HiF4H23ACAfk8qS8AHxl4LLN5oxPc24H+2+JRPsNr1OS3Gaea0CrH7PKhArBMKBz5RX9sA5NtTg==}
engines: {node: '>=v18'}
dependencies:
'@commitlint/types': 19.0.3
chalk: 5.3.0
dev: true
/@commitlint/is-ignored@19.0.3:
resolution: {integrity: sha512-MqDrxJaRSVSzCbPsV6iOKG/Lt52Y+PVwFVexqImmYYFhe51iVJjK2hRhOG2jUAGiUHk4jpdFr0cZPzcBkSzXDQ==}
/@commitlint/is-ignored@19.2.2:
resolution: {integrity: sha512-eNX54oXMVxncORywF4ZPFtJoBm3Tvp111tg1xf4zWXGfhBPKpfKG6R+G3G4v5CPlRROXpAOpQ3HMhA9n1Tck1g==}
engines: {node: '>=v18'}
dependencies:
'@commitlint/types': 19.0.3
semver: 7.6.0
dev: true
/@commitlint/lint@19.1.0:
resolution: {integrity: sha512-ESjaBmL/9cxm+eePyEr6SFlBUIYlYpI80n+Ltm7IA3MAcrmiP05UMhJdAD66sO8jvo8O4xdGn/1Mt2G5VzfZKw==}
/@commitlint/lint@19.2.2:
resolution: {integrity: sha512-xrzMmz4JqwGyKQKTpFzlN0dx0TAiT7Ran1fqEBgEmEj+PU98crOFtysJgY+QdeSagx6EDRigQIXJVnfrI0ratA==}
engines: {node: '>=v18'}
dependencies:
'@commitlint/is-ignored': 19.0.3
'@commitlint/is-ignored': 19.2.2
'@commitlint/parse': 19.0.3
'@commitlint/rules': 19.0.3
'@commitlint/types': 19.0.3
@ -632,6 +632,11 @@ packages:
resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
dev: true
/@inquirer/figures@1.0.1:
resolution: {integrity: sha512-mtup3wVKia3ZwULPHcbs4Mor8Voi+iIXEWD7wCNbIO6lYR62oPCTQyrddi5OMYVXHzeCSoneZwJuS8sBvlEwDw==}
engines: {node: '>=18'}
dev: true
/@istanbuljs/load-nyc-config@1.1.0:
resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
engines: {node: '>=8'}
@ -1080,15 +1085,6 @@ packages:
uri-js: 4.4.1
dev: true
/ajv@8.11.0:
resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==}
dependencies:
fast-deep-equal: 3.1.3
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
uri-js: 4.4.1
dev: true
/ajv@8.12.0:
resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
dependencies:
@ -1700,16 +1696,6 @@ packages:
engines: {node: '>=10'}
dev: true
/eslint-compat-utils@0.4.1(eslint@8.57.0):
resolution: {integrity: sha512-5N7ZaJG5pZxUeNNJfUchurLVrunD1xJvyg5kYOIVF8kg1f3ajTikmAu/5fZ9w100omNPOoMjngRszh/Q/uFGMg==}
engines: {node: '>=12'}
peerDependencies:
eslint: '>=6.0.0'
dependencies:
eslint: 8.57.0
semver: 7.6.0
dev: true
/eslint-compat-utils@0.5.0(eslint@8.57.0):
resolution: {integrity: sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==}
engines: {node: '>=12'}
@ -1720,19 +1706,19 @@ packages:
semver: 7.6.0
dev: true
/eslint-plugin-json-schema-validator@4.8.3(eslint@8.57.0):
resolution: {integrity: sha512-F4S6Aw7l/9NzB8E0CAbjiSlXWqDiK3rIiw0I+Jdp+qr/wN1yTg7HkJgeWX4mNnlDMDzydymYy2uuKmNaWUV/hA==}
/eslint-plugin-json-schema-validator@5.1.0(eslint@8.57.0):
resolution: {integrity: sha512-ZmVyxRIjm58oqe2kTuy90PpmZPrrKvOjRPXKzq8WCgRgAkidCgm5X8domL2KSfadZ3QFAmifMgGTcVNhZ5ez2g==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
eslint: '>=6.0.0'
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
ajv: 8.11.0
ajv: 8.12.0
debug: 4.3.4
eslint: 8.57.0
eslint-compat-utils: 0.4.1(eslint@8.57.0)
eslint-compat-utils: 0.5.0(eslint@8.57.0)
json-schema-migrate: 2.0.0
jsonc-eslint-parser: 2.1.0
jsonc-eslint-parser: 2.4.0
minimatch: 8.0.4
synckit: 0.9.0
toml-eslint-parser: 0.9.3
@ -2319,17 +2305,17 @@ packages:
wrap-ansi: 7.0.0
dev: true
/inquirer@9.2.17:
resolution: {integrity: sha512-Vr3Ia2ud5sGnioURkE69endl4SkeJcMzTF6SosKcX5GALJfId7C+JvO5ZZb6y1LOXnEofCPbwzoQ1q0e8Gaduw==}
/inquirer@9.2.19:
resolution: {integrity: sha512-WpxOT71HGsFya6/mj5PUue0sWwbpbiPfAR+332zLj/siB0QA1PZM8v3GepegFV1Op189UxHUCF6y8AySdtOMVA==}
engines: {node: '>=18'}
dependencies:
'@inquirer/figures': 1.0.1
'@ljharb/through': 2.3.13
ansi-escapes: 4.3.2
chalk: 5.3.0
cli-cursor: 3.1.0
cli-width: 4.1.0
external-editor: 3.1.0
figures: 3.2.0
lodash: 4.17.21
mute-stream: 1.0.0
ora: 5.4.1
@ -2661,7 +2647,7 @@ packages:
resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==}
engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
dependencies:
'@babel/code-frame': 7.24.1
'@babel/code-frame': 7.24.2
'@jest/types': 28.1.3
'@types/stack-utils': 2.0.1
chalk: 4.1.2
@ -2916,7 +2902,7 @@ packages:
/json-schema-migrate@2.0.0:
resolution: {integrity: sha512-r38SVTtojDRp4eD6WsCqiE0eNDt4v1WalBXb9cyZYw9ai5cGtBwzRNWjHzJl38w6TxFkXAIA7h+fyX3tnrAFhQ==}
dependencies:
ajv: 8.11.0
ajv: 8.12.0
dev: true
/json-schema-traverse@0.4.1:
@ -2937,16 +2923,6 @@ packages:
hasBin: true
dev: true
/jsonc-eslint-parser@2.1.0:
resolution: {integrity: sha512-qCRJWlbP2v6HbmKW7R3lFbeiVWHo+oMJ0j+MizwvauqnCV/EvtAeEeuCgoc/ErtsuoKgYB8U4Ih8AxJbXoE6/g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
acorn: 8.11.3
eslint-visitor-keys: 3.4.3
espree: 9.6.1
semver: 7.6.0
dev: true
/jsonc-eslint-parser@2.4.0:
resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@ -3304,7 +3280,7 @@ packages:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
dependencies:
'@babel/code-frame': 7.24.1
'@babel/code-frame': 7.24.2
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4