update lên v1.0.3

This commit is contained in:
2026-04-29 14:40:11 +07:00
parent 7eabb9fed8
commit 75fa10a71c
7 changed files with 96 additions and 26 deletions
+1
View File
@@ -7,3 +7,4 @@ dist
apps/*/dist apps/*/dist
packages/*/dist packages/*/dist
.nx .nx
data
+10
View File
@@ -64,3 +64,13 @@ Special thanks to;
cách up project lên ghcr.io cách up project lên ghcr.io
docker build -t ghcr.io/victorphan03/docmost:latest . docker build -t ghcr.io/victorphan03/docmost:latest .
docker push ghcr.io/victorphan03/docmost:latest docker push ghcr.io/victorphan03/docmost:latest
./manage.sh start: Khởi chạy dự án (chạy ngầm).
./manage.sh stop: Dừng các container.
./manage.sh restart: Khởi động lại dự án.
./manage.sh build: Xây dựng lại các image và khởi chạy.
./manage.sh logs: Xem log thời gian thực.
./manage.sh status: Kiểm tra trạng thái các container.
./manage.sh clean: Dừng và xóa toàn bộ dữ liệu (Lưu ý: Dữ liệu trong database sẽ bị mất).
sudo chown -R 1000:1000 data/docmost
@@ -52,9 +52,7 @@ export async function uploadChatFile(
if (chatId) { if (chatId) {
formData.append("chatId", chatId); formData.append("chatId", chatId);
} }
return await api.post("/ai/chats/upload", formData, { return await api.post("/ai/chats/upload", formData);
headers: { "Content-Type": "multipart/form-data" },
});
} }
export function sendChatMessage( export function sendChatMessage(
@@ -58,11 +58,7 @@ export async function uploadIcon(
} }
formData.append("image", processed); formData.append("image", processed);
return await api.post("/attachments/upload-image", formData, { return await api.post("/attachments/upload-image", formData);
headers: {
"Content-Type": "multipart/form-data",
},
});
} }
export async function uploadUserAvatar(file: File): Promise<IAttachment> { export async function uploadUserAvatar(file: File): Promise<IAttachment> {
@@ -137,11 +137,7 @@ export async function importPage(file: File, spaceId: string) {
formData.append("spaceId", spaceId); formData.append("spaceId", spaceId);
formData.append("file", file); formData.append("file", file);
const req = await api.post<IPage>("/pages/import", formData, { const req = await api.post<IPage>("/pages/import", formData);
headers: {
"Content-Type": "multipart/form-data",
},
});
return req.data; return req.data;
} }
@@ -156,11 +152,7 @@ export async function importZip(
formData.append("source", source); formData.append("source", source);
formData.append("file", file); formData.append("file", file);
const req = await api.post<any>("/pages/import-zip", formData, { const req = await api.post<any>("/pages/import-zip", formData);
headers: {
"Content-Type": "multipart/form-data",
},
});
return req.data; return req.data;
} }
@@ -186,11 +178,7 @@ export async function uploadFile(
formData.append("pageId", pageId); formData.append("pageId", pageId);
formData.append("file", file); formData.append("file", file);
const req = await api.post<IAttachment>("/files/upload", formData, { const req = await api.post<IAttachment>("/files/upload", formData);
headers: {
"Content-Type": "multipart/form-data",
},
});
return req as unknown as IAttachment; return req as unknown as IAttachment;
} }
+3 -3
View File
@@ -1,7 +1,7 @@
services: services:
docmost: docmost:
build: . build: .
image: ghcr.io/victorphan03/docmost:v1.0.2 image: ghcr.io/victorphan03/docmost:v1.0.3
depends_on: depends_on:
- db - db
- redis - redis
@@ -18,7 +18,7 @@ services:
db: db:
build: ./custom-images/db build: ./custom-images/db
image: ghcr.io/victorphan03/db:v1.0.2 image: ghcr.io/victorphan03/db:v1.0.3
environment: environment:
POSTGRES_DB: docmost POSTGRES_DB: docmost
POSTGRES_USER: docmost POSTGRES_USER: docmost
@@ -31,7 +31,7 @@ services:
redis: redis:
build: ./custom-images/redis build: ./custom-images/redis
image: ghcr.io/victorphan03/redis:v1.0.2 image: ghcr.io/victorphan03/redis:v1.0.3
command: ["redis-server", "--appendonly", "yes", "--maxmemory-policy", "noeviction"] command: ["redis-server", "--appendonly", "yes", "--maxmemory-policy", "noeviction"]
restart: unless-stopped restart: unless-stopped
ports: ports:
Executable
+77
View File
@@ -0,0 +1,77 @@
#!/bin/bash
# Docmost Custom Management Script
# Colors for output
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
# Function to display help
show_help() {
echo -e "${BLUE}Docmost Custom Management Script${NC}"
echo "Usage: ./manage.sh [command]"
echo ""
echo "Commands:"
echo " start Start the project in detached mode"
echo " stop Stop the project"
echo " restart Restart the project"
echo " build Build the images and start"
echo " logs Show real-time logs"
echo " status Show status of containers"
echo " clean Stop and remove all volumes (WARNING: Data will be lost)"
echo " help Show this help message"
}
# Check if docker is installed
if ! command -v docker &> /dev/null; then
echo -e "${RED}Error: docker is not installed.${NC}"
exit 1
fi
# Determine docker compose command (docker compose or docker-compose)
if docker compose version &> /dev/null; then
DOCKER_COMPOSE="docker compose"
else
DOCKER_COMPOSE="docker-compose"
fi
case "$1" in
start)
echo -e "${GREEN}Starting Docmost Custom...${NC}"
$DOCKER_COMPOSE up -d
echo -e "${GREEN}Project is running at http://localhost:3000${NC}"
;;
stop)
echo -e "${YELLOW}Stopping Docmost Custom...${NC}"
$DOCKER_COMPOSE stop
;;
restart)
echo -e "${YELLOW}Restarting Docmost Custom...${NC}"
$DOCKER_COMPOSE restart
;;
build)
echo -e "${BLUE}Building and starting Docmost Custom...${NC}"
$DOCKER_COMPOSE up -d --build
;;
logs)
$DOCKER_COMPOSE logs -f
;;
status)
$DOCKER_COMPOSE ps
;;
clean)
echo -e "${RED}WARNING: This will remove all data volumes.${NC}"
read -p "Are you sure? (y/N) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
$DOCKER_COMPOSE down -v
echo -e "${GREEN}Project cleaned.${NC}"
fi
;;
help|*)
show_help
;;
esac