You've already forked DataMate
Develop labeling module (#25)
* refactor: remove db table management from LS adapter (mv to scripts later); change adapter to use the same MySQL DB as other modules. * refactor: Rename LS Adapter module to datamate-python
This commit is contained in:
64
runtime/datamate-python/deploy/docker-entrypoint.sh
Executable file
64
runtime/datamate-python/deploy/docker-entrypoint.sh
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "Label Studio Adapter Starting..."
|
||||
echo "=========================================="
|
||||
|
||||
# Label Studio 本地存储基础路径(从环境变量获取,默认值)
|
||||
LABEL_STUDIO_LOCAL_BASE="${LABEL_STUDIO_LOCAL_BASE:-/label-studio/local_files}"
|
||||
|
||||
echo "=========================================="
|
||||
echo "Ensuring Label Studio local storage directories exist..."
|
||||
echo "Base path: ${LABEL_STUDIO_LOCAL_BASE}"
|
||||
echo "=========================================="
|
||||
|
||||
# 创建必要的目录
|
||||
mkdir -p "${LABEL_STUDIO_LOCAL_BASE}/dataset"
|
||||
mkdir -p "${LABEL_STUDIO_LOCAL_BASE}/upload"
|
||||
|
||||
echo "✓ Directory 'dataset' ready: ${LABEL_STUDIO_LOCAL_BASE}/dataset"
|
||||
echo "✓ Directory 'upload' ready: ${LABEL_STUDIO_LOCAL_BASE}/upload"
|
||||
|
||||
echo "=========================================="
|
||||
echo "Directory initialization completed"
|
||||
echo "=========================================="
|
||||
|
||||
# 等待数据库就绪(如果配置了数据库)
|
||||
if [ -n "$MYSQL_HOST" ] || [ -n "$POSTGRES_HOST" ]; then
|
||||
echo "Waiting for database to be ready..."
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
# 运行数据库迁移
|
||||
echo "=========================================="
|
||||
echo "Running database migrations..."
|
||||
echo "=========================================="
|
||||
alembic upgrade head
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✓ Database migrations completed successfully"
|
||||
else
|
||||
echo "⚠️ WARNING: Database migrations failed"
|
||||
echo " The application may not work correctly"
|
||||
fi
|
||||
|
||||
echo "=========================================="
|
||||
|
||||
# 启动应用
|
||||
echo "Starting Label Studio Adapter..."
|
||||
echo "Host: ${HOST:-0.0.0.0}"
|
||||
echo "Port: ${PORT:-18000}"
|
||||
echo "Debug: ${DEBUG:-false}"
|
||||
echo "Label Studio URL: ${LABEL_STUDIO_BASE_URL}"
|
||||
echo "=========================================="
|
||||
|
||||
# 转换 LOG_LEVEL 为小写(uvicorn 要求小写)
|
||||
LOG_LEVEL_LOWER=$(echo "${LOG_LEVEL:-info}" | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
# 使用 uvicorn 启动应用
|
||||
exec uvicorn app.main:app \
|
||||
--host "${HOST:-0.0.0.0}" \
|
||||
--port "${PORT:-18000}" \
|
||||
--log-level "${LOG_LEVEL_LOWER}" \
|
||||
${DEBUG:+--reload}
|
||||
Reference in New Issue
Block a user