diff --git a/apps/dujiaoka/README.md b/apps/dujiaoka/README.md
new file mode 100644
index 00000000..366f6afe
--- /dev/null
+++ b/apps/dujiaoka/README.md
@@ -0,0 +1,25 @@
+

+
+
+
+
+
+
+
+
+## 独角数卡
+
+开源式站长自动化售货解决方案、高效、稳定、快速!
+
+## 默认后台
+
+- 后台路径 `/admin`
+- 默认管理员账号 `admin`
+- 默认管理员密码 `admin`
+
+## 使用说明
+
+- 1. 安装时需要先创建 MySQL 数据库
+- 2. 首次安装,不需要在意运行是否正常,需要先填写应用目录下的配置文件,例如`/opt/1panel/apps/local/dujiaoka/dujiaoka/data/env.conf`,然后重建应用
+- 3. 填写`env.conf`完成后,然后访问端口进入初始化安装,填写相关数据库与 redis 信息,要与`env.conf`一致
+- 4. 完成安装后点击编辑应用参数,将`是否进行初始化安装`的选项改为`false`,保存确定后就会重建应用
diff --git a/apps/dujiaoka/data.yml b/apps/dujiaoka/data.yml
new file mode 100644
index 00000000..6f11a592
--- /dev/null
+++ b/apps/dujiaoka/data.yml
@@ -0,0 +1,19 @@
+name: 独角数卡
+tags:
+ - 建站
+title: 开源自动售货解决方案
+description: 开源站长自动化售货解决方案
+additionalProperties:
+ key: dujiaoka
+ name: 独角数卡
+ tags:
+ - WebSite
+ shortDescZh: 开源站长自动化售货解决方案
+ shortDescEn: Open-source automated sales solution for webmasters
+ type: website
+ crossVersionUpdate: true
+ limit: 0
+ recommend: 0
+ website: https://github.com/assimon/dujiaoka
+ github: https://github.com/assimon/dujiaoka
+ document: https://github.com/assimon/dujiaoka
diff --git a/apps/dujiaoka/latest/.env.sample b/apps/dujiaoka/latest/.env.sample
new file mode 100644
index 00000000..b850e7b1
--- /dev/null
+++ b/apps/dujiaoka/latest/.env.sample
@@ -0,0 +1,4 @@
+CONTAINER_NAME="dujiaoka"
+INSTALL="true"
+MODIFY="false"
+PANEL_APP_PORT_HTTP="40256"
diff --git a/apps/dujiaoka/latest/data.yml b/apps/dujiaoka/latest/data.yml
new file mode 100644
index 00000000..e9bbce88
--- /dev/null
+++ b/apps/dujiaoka/latest/data.yml
@@ -0,0 +1,34 @@
+additionalProperties:
+ formFields:
+ - default: 40256
+ edit: true
+ envKey: PANEL_APP_PORT_HTTP
+ labelEn: Port
+ labelZh: 端口
+ required: true
+ rule: paramPort
+ type: number
+ - default: "true"
+ edit: true
+ envKey: INSTALL
+ labelEn: Whether to perform initial installation
+ labelZh: 是否进行初始化安装
+ required: true
+ type: select
+ values:
+ - label: "false"
+ value: "false"
+ - label: "true"
+ value: "true"
+ - default: "false"
+ edit: true
+ envKey: MODIFY
+ labelEn: Modified or not
+ labelZh: 是否已修改
+ required: true
+ type: select
+ values:
+ - label: "false"
+ value: "false"
+ - label: "true"
+ value: "true"
\ No newline at end of file
diff --git a/apps/dujiaoka/latest/data/env.conf b/apps/dujiaoka/latest/data/env.conf
new file mode 100644
index 00000000..3e0fb83f
--- /dev/null
+++ b/apps/dujiaoka/latest/data/env.conf
@@ -0,0 +1,47 @@
+APP_NAME=独角数卡
+APP_ENV=local
+APP_KEY=base64:hDVkYhfkUjaePiaI1tcBT7G8bh2A8RQxwWIGkq7BO18=
+APP_DEBUG=true
+APP_URL=http://dujiaoka.test
+
+LOG_CHANNEL=stack
+
+# 数据库配置
+DB_CONNECTION=mysql
+DB_HOST=db
+DB_PORT=3306
+DB_DATABASE=dujiaoka
+DB_USERNAME=dujiaoka
+DB_PASSWORD=YOUR_PASSWORD
+
+# redis 配置
+REDIS_HOST=redis
+REDIS_PASSWORD=
+REDIS_PORT=6379
+
+BROADCAST_DRIVER=log
+SESSION_DRIVER=file
+SESSION_LIFETIME=120
+
+
+# 缓存配置
+# file 为磁盘文件 redis 为内存级别
+# redis 为内存需要安装好 redis 服务端并配置
+CACHE_DRIVER=redis
+
+# 异步消息队列
+# sync 为同步 redis 为异步
+# 使用 redis 异步需要安装好 redis 服务端并配置
+QUEUE_CONNECTION=redis
+
+# 后台语言
+## zh_CN 简体中文
+## zh_TW 繁体中文
+## en 英文
+DUJIAO_ADMIN_LANGUAGE=zh_CN
+
+# 后台登录地址
+ADMIN_ROUTE_PREFIX=/admin
+
+# 后台 https 支持 docker 部署无需开启
+#ADMIN_HTTPS=true
\ No newline at end of file
diff --git a/apps/dujiaoka/latest/data/storage/.gitkeep b/apps/dujiaoka/latest/data/storage/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/apps/dujiaoka/latest/data/uploads/.gitkeep b/apps/dujiaoka/latest/data/uploads/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/apps/dujiaoka/latest/docker-compose.yml b/apps/dujiaoka/latest/docker-compose.yml
new file mode 100644
index 00000000..5746e1d0
--- /dev/null
+++ b/apps/dujiaoka/latest/docker-compose.yml
@@ -0,0 +1,22 @@
+services:
+ dujiaoka:
+ image: "stilleshan/dujiaoka:latest"
+ container_name: ${CONTAINER_NAME}
+ restart: always
+ ports:
+ - "${PANEL_APP_PORT_HTTP}:80"
+ volumes:
+ - ./data/env.conf:/dujiaoka/.env
+ - ./data/uploads:/dujiaoka/public/uploads
+ - ./data/storage:/dujiaoka/storage
+ environment:
+ - INSTALL=${INSTALL}
+ - MODIFY=${MODIFY}
+ networks:
+ - 1panel-network
+ labels:
+ createdBy: "Apps"
+
+networks:
+ 1panel-network:
+ external: true
diff --git a/apps/dujiaoka/latest/scripts/init.sh b/apps/dujiaoka/latest/scripts/init.sh
new file mode 100644
index 00000000..ffd0807e
--- /dev/null
+++ b/apps/dujiaoka/latest/scripts/init.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+chmod -R 777 data/storage data/uploads data/env.conf
\ No newline at end of file
diff --git a/apps/dujiaoka/logo.png b/apps/dujiaoka/logo.png
new file mode 100644
index 00000000..ca4d985b
Binary files /dev/null and b/apps/dujiaoka/logo.png differ