diff --git a/Dockerfile.custom b/Dockerfile.custom
new file mode 100644
index 000000000..06bc4f19b
--- /dev/null
+++ b/Dockerfile.custom
@@ -0,0 +1,4 @@
+FROM vikunja/vikunja:latest
+
+# 替换前端文件
+COPY frontend/dist/ /app/vikunja/frontend/
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 000000000..c29930a7b
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,21 @@
+version: '3.8'
+
+services:
+ db:
+ image: postgres:16-alpine
+ environment:
+ POSTGRES_USER: vikunja
+ POSTGRES_PASSWORD: vikunja
+ POSTGRES_DB: vikunja
+ volumes:
+ - postgres_data:/var/lib/postgresql/data
+ ports:
+ - "5432:5432"
+ healthcheck:
+ test: ["CMD-SHELL", "pg_isready -U vikunja"]
+ interval: 5s
+ timeout: 5s
+ retries: 5
+
+volumes:
+ postgres_data:
diff --git a/frontend/.env b/frontend/.env
new file mode 100644
index 000000000..00daa67a1
--- /dev/null
+++ b/frontend/.env
@@ -0,0 +1 @@
+VITE_API_URL=http://localhost:3456/api/v1
diff --git a/frontend/src/components/tasks/partials/SingleTaskInProject.vue b/frontend/src/components/tasks/partials/SingleTaskInProject.vue
index 764171c4d..013a9f363 100644
--- a/frontend/src/components/tasks/partials/SingleTaskInProject.vue
+++ b/frontend/src/components/tasks/partials/SingleTaskInProject.vue
@@ -12,6 +12,15 @@
@click="openTaskDetail"
@keyup.enter="openTaskDetail"
>
+