diff --git a/apps/cheshire-cat-ai/config.json b/apps/cheshire-cat-ai/config.json
new file mode 100644
index 00000000..e829f767
--- /dev/null
+++ b/apps/cheshire-cat-ai/config.json
@@ -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"
+ ]
+ }
\ No newline at end of file
diff --git a/apps/cheshire-cat-ai/docker-compose.yml b/apps/cheshire-cat-ai/docker-compose.yml
new file mode 100644
index 00000000..488b0d82
--- /dev/null
+++ b/apps/cheshire-cat-ai/docker-compose.yml
@@ -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
\ No newline at end of file
diff --git a/apps/cheshire-cat-ai/metadata/description.md b/apps/cheshire-cat-ai/metadata/description.md
new file mode 100644
index 00000000..319f1c24
--- /dev/null
+++ b/apps/cheshire-cat-ai/metadata/description.md
@@ -0,0 +1,78 @@
+
+
+
+
+ +
+ +``` +"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) + +``` diff --git a/apps/cheshire-cat-ai/metadata/logo.jpg b/apps/cheshire-cat-ai/metadata/logo.jpg new file mode 100644 index 00000000..de860cb8 Binary files /dev/null and b/apps/cheshire-cat-ai/metadata/logo.jpg differ