update appflowy.
This commit is contained in:
parent
33261c721b
commit
feb597a567
@ -1,208 +1,227 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -f "appflowy.env" ]; then
|
||||
set -a
|
||||
source appflowy.env
|
||||
set +a
|
||||
set -a
|
||||
source appflowy.env
|
||||
set +a
|
||||
else
|
||||
echo "cannot find appflowy.env"
|
||||
exit 1
|
||||
echo "cannot find appflowy.env"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
images=(
|
||||
"appflowyinc/appflowy_web:latest"
|
||||
"appflowyinc/appflowy_worker:latest"
|
||||
"appflowyinc/appflowy_ai:latest"
|
||||
"appflowyinc/admin_frontend:latest"
|
||||
"appflowyinc/appflowy_cloud:latest"
|
||||
"appflowyinc/gotrue:latest"
|
||||
"redis" # 等价于 redis:latest
|
||||
"pgvector/pgvector:pg16"
|
||||
"minio/minio:latest"
|
||||
"appflowyinc/appflowy_web:latest"
|
||||
"appflowyinc/appflowy_worker:latest"
|
||||
"appflowyinc/appflowy_ai:latest"
|
||||
"appflowyinc/admin_frontend:latest"
|
||||
"appflowyinc/appflowy_cloud:latest"
|
||||
"appflowyinc/gotrue:latest"
|
||||
"redis" # 等价于 redis:latest
|
||||
"pgvector/pgvector:pg16"
|
||||
"minio/minio:latest"
|
||||
)
|
||||
|
||||
CONTAINERS=(
|
||||
frpc
|
||||
minio
|
||||
postgres
|
||||
redis
|
||||
appflowy_gotrue
|
||||
appflowy_cloud
|
||||
appflowy_admin_frontend
|
||||
appflowy_ai
|
||||
appflowy_worker
|
||||
appflowy_web
|
||||
frpc
|
||||
minio
|
||||
postgres
|
||||
redis
|
||||
appflowy_gotrue
|
||||
appflowy_cloud
|
||||
appflowy_admin_frontend
|
||||
appflowy_ai
|
||||
appflowy_worker
|
||||
appflowy_web
|
||||
)
|
||||
|
||||
for container in "${CONTAINERS[@]}"; do
|
||||
# for image in "${images[@]}"; do
|
||||
# echo -e "\n\033[34m pulling image: ${image}\033[0m"
|
||||
# if docker pull "${image}"; then
|
||||
# echo -e "\033[32m pull successed: ${image}\033[0m"
|
||||
# else
|
||||
# echo -e "\033[31m pull failed: ${image}\033[0m" >&2
|
||||
# fi
|
||||
# done
|
||||
|
||||
# echo -e "\n\033[36m all images pull finished \033[0m"
|
||||
|
||||
function stop_containers() {
|
||||
for container in "${CONTAINERS[@]}"; do
|
||||
if docker ps -a --format '{{.Names}}' | grep -q "^${container}\$"; then
|
||||
echo "delete $container"
|
||||
docker rm --force "$container" 2>/dev/null && echo "$container delete successed" || echo "$container delete failed"
|
||||
echo "delete $container"
|
||||
docker rm --force "$container" 2>/dev/null && echo "$container delete successed" || echo "$container delete failed"
|
||||
else
|
||||
echo "$container not existed"
|
||||
echo "$container not existed"
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
for image in "${images[@]}"; do
|
||||
echo -e "\n\033[34m pulling image: ${image}\033[0m"
|
||||
if docker pull "${image}"; then
|
||||
echo -e "\033[32m pull successed: ${image}\033[0m"
|
||||
else
|
||||
echo -e "\033[31m pull failed: ${image}\033[0m" >&2
|
||||
fi
|
||||
done
|
||||
function start_containers() {
|
||||
stop_containers
|
||||
docker run --restart=always --network host -d --name frpc \
|
||||
-e TZ="Asia/Shanghai" \
|
||||
-v /mnt/user/appdata/frpc/frpc.toml:/etc/frp/frpc.toml \
|
||||
-v /mnt/user/appdata/frpc:/app \
|
||||
registry.cn-shenzhen.aliyuncs.com/amass_toolset/frpc:0.61.2
|
||||
|
||||
echo -e "\n\033[36m all images pull finished \033[0m"
|
||||
docker run -d --name minio --restart=on-failure \
|
||||
-p 9000:9000 \
|
||||
-p 9001:9001 \
|
||||
-e MINIO_BROWSER_REDIRECT_URL="${APPFLOWY_BASE_URL}/minio" \
|
||||
-e MINIO_ROOT_USER="${APPFLOWY_S3_ACCESS_KEY}" \
|
||||
-e MINIO_ROOT_PASSWORD="${APPFLOWY_S3_SECRET_KEY}" \
|
||||
-v /mnt/user/appdata/minio:/data \
|
||||
minio/minio:latest server /data --console-address ":9001"
|
||||
|
||||
docker run --restart=always --network host -d --name frpc \
|
||||
-e TZ="Asia/Shanghai" \
|
||||
-v /mnt/user/appdata/frpc/frpc.toml:/etc/frp/frpc.toml \
|
||||
-v /mnt/user/appdata/frpc:/app \
|
||||
registry.cn-shenzhen.aliyuncs.com/amass_toolset/frpc:0.61.1
|
||||
docker run -d --name postgres --restart=on-failure \
|
||||
-p 5432:5432 \
|
||||
-e POSTGRES_USER=${POSTGRES_USER} \
|
||||
-e POSTGRES_DB=${POSTGRES_DB} \
|
||||
-e POSTGRES_PASSWORD=${POSTGRES_PASSWORD} \
|
||||
-e POSTGRES_HOST=${POSTGRES_HOST} \
|
||||
-e SUPABASE_PASSWORD=${SUPABASE_PASSWORD} \
|
||||
-v /mnt/user/appdata/postgres/migrations/before:/docker-entrypoint-initdb.d \
|
||||
-v /mnt/user/appdata/postgres/data:/var/lib/postgresql/data \
|
||||
pgvector/pgvector:pg16
|
||||
|
||||
docker run -d --name minio --restart=on-failure \
|
||||
-p 9000:9000 \
|
||||
-p 9001:9001 \
|
||||
-e MINIO_BROWSER_REDIRECT_URL="${APPFLOWY_BASE_URL}/minio" \
|
||||
-e MINIO_ROOT_USER="${APPFLOWY_S3_ACCESS_KEY}" \
|
||||
-e MINIO_ROOT_PASSWORD="${APPFLOWY_S3_SECRET_KEY}" \
|
||||
-v /mnt/user/appdata/minio:/data \
|
||||
minio/minio:latest server /data --console-address ":9001"
|
||||
docker run -d --name redis --restart=on-failure -p 6379:6379 redis
|
||||
|
||||
docker run -d --name postgres --restart=on-failure \
|
||||
-p 5432:5432 \
|
||||
-e POSTGRES_USER=${POSTGRES_USER} \
|
||||
-e POSTGRES_DB=${POSTGRES_DB} \
|
||||
-e POSTGRES_PASSWORD=${POSTGRES_PASSWORD} \
|
||||
-e POSTGRES_HOST=${POSTGRES_HOST} \
|
||||
-e SUPABASE_PASSWORD=${SUPABASE_PASSWORD} \
|
||||
-v /mnt/user/appdata/postgres/migrations/before:/docker-entrypoint-initdb.d \
|
||||
-v /mnt/user/appdata/postgres/data:/var/lib/postgresql/data \
|
||||
pgvector/pgvector:pg16
|
||||
docker run -d --name appflowy_gotrue --restart=on-failure \
|
||||
-p 9999:9999 \
|
||||
-e GOTRUE_ADMIN_EMAIL=${GOTRUE_ADMIN_EMAIL} \
|
||||
-e GOTRUE_ADMIN_PASSWORD=${GOTRUE_ADMIN_PASSWORD} \
|
||||
-e GOTRUE_DISABLE_SIGNUP=${GOTRUE_DISABLE_SIGNUP} \
|
||||
-e GOTRUE_SITE_URL='appflowy-flutter://' \
|
||||
-e GOTRUE_URI_ALLOW_LIST='**' \
|
||||
-e GOTRUE_JWT_SECRET=${GOTRUE_JWT_SECRET} \
|
||||
-e GOTRUE_JWT_EXP=${GOTRUE_JWT_EXP} \
|
||||
-e GOTRUE_JWT_ADMIN_GROUP_NAME=supabase_admin \
|
||||
-e GOTRUE_DB_DRIVER=postgres \
|
||||
-e API_EXTERNAL_URL=${API_EXTERNAL_URL} \
|
||||
-e DATABASE_URL=${GOTRUE_DATABASE_URL} \
|
||||
-e PORT=9999 \
|
||||
-e GOTRUE_SMTP_HOST=${GOTRUE_SMTP_HOST} \
|
||||
-e GOTRUE_SMTP_PORT=${GOTRUE_SMTP_PORT} \
|
||||
-e GOTRUE_SMTP_USER=${GOTRUE_SMTP_USER} \
|
||||
-e GOTRUE_SMTP_PASS=${GOTRUE_SMTP_PASS} \
|
||||
-e GOTRUE_MAILER_URLPATHS_CONFIRMATION='/gotrue/verify' \
|
||||
-e GOTRUE_MAILER_URLPATHS_INVITE='/gotrue/verify' \
|
||||
-e GOTRUE_MAILER_URLPATHS_RECOVERY='/gotrue/verify' \
|
||||
-e GOTRUE_MAILER_URLPATHS_EMAIL_CHANGE='/gotrue/verify' \
|
||||
-e GOTRUE_SMTP_ADMIN_EMAIL=${GOTRUE_SMTP_ADMIN_EMAIL} \
|
||||
-e GOTRUE_SMTP_MAX_FREQUENCY=${GOTRUE_SMTP_MAX_FREQUENCY:-1ns} \
|
||||
-e GOTRUE_RATE_LIMIT_EMAIL_SENT=${GOTRUE_RATE_LIMIT_EMAIL_SENT:-100} \
|
||||
-e GOTRUE_MAILER_AUTOCONFIRM=${GOTRUE_MAILER_AUTOCONFIRM:-false} \
|
||||
-e GOTRUE_EXTERNAL_GOOGLE_ENABLED=${GOTRUE_EXTERNAL_GOOGLE_ENABLED} \
|
||||
-e GOTRUE_EXTERNAL_GOOGLE_CLIENT_ID=${GOTRUE_EXTERNAL_GOOGLE_CLIENT_ID} \
|
||||
-e GOTRUE_EXTERNAL_GOOGLE_SECRET=${GOTRUE_EXTERNAL_GOOGLE_SECRET} \
|
||||
-e GOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI=${GOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI} \
|
||||
-e GOTRUE_EXTERNAL_GITHUB_ENABLED=${GOTRUE_EXTERNAL_GITHUB_ENABLED} \
|
||||
-e GOTRUE_EXTERNAL_GITHUB_CLIENT_ID=${GOTRUE_EXTERNAL_GITHUB_CLIENT_ID} \
|
||||
-e GOTRUE_EXTERNAL_GITHUB_SECRET=${GOTRUE_EXTERNAL_GITHUB_SECRET} \
|
||||
-e GOTRUE_EXTERNAL_GITHUB_REDIRECT_URI=${GOTRUE_EXTERNAL_GITHUB_REDIRECT_URI} \
|
||||
-e GOTRUE_EXTERNAL_DISCORD_ENABLED=${GOTRUE_EXTERNAL_DISCORD_ENABLED} \
|
||||
-e GOTRUE_EXTERNAL_DISCORD_CLIENT_ID=${GOTRUE_EXTERNAL_DISCORD_CLIENT_ID} \
|
||||
-e GOTRUE_EXTERNAL_DISCORD_SECRET=${GOTRUE_EXTERNAL_DISCORD_SECRET} \
|
||||
-e GOTRUE_EXTERNAL_DISCORD_REDIRECT_URI=${GOTRUE_EXTERNAL_DISCORD_REDIRECT_URI} \
|
||||
appflowyinc/gotrue:latest
|
||||
|
||||
docker run -d --name redis --restart=on-failure -p 6379:6379 redis
|
||||
docker run -d --name appflowy_cloud --restart=on-failure \
|
||||
-p 8000:8000 \
|
||||
-e RUST_LOG=${RUST_LOG:-info} \
|
||||
-e APPFLOWY_ENVIRONMENT=production \
|
||||
-e APPFLOWY_DATABASE_URL=${APPFLOWY_DATABASE_URL} \
|
||||
-e APPFLOWY_REDIS_URI=${APPFLOWY_REDIS_URI} \
|
||||
-e APPFLOWY_GOTRUE_JWT_SECRET=${GOTRUE_JWT_SECRET} \
|
||||
-e APPFLOWY_GOTRUE_JWT_EXP=${GOTRUE_JWT_EXP} \
|
||||
-e APPFLOWY_GOTRUE_BASE_URL=${APPFLOWY_GOTRUE_BASE_URL} \
|
||||
-e APPFLOWY_GOTRUE_EXT_URL=${API_EXTERNAL_URL} \
|
||||
-e APPFLOWY_GOTRUE_ADMIN_EMAIL=${GOTRUE_ADMIN_EMAIL} \
|
||||
-e APPFLOWY_GOTRUE_ADMIN_PASSWORD=${GOTRUE_ADMIN_PASSWORD} \
|
||||
-e APPFLOWY_S3_CREATE_BUCKET=${APPFLOWY_S3_CREATE_BUCKET} \
|
||||
-e APPFLOWY_S3_USE_MINIO=${APPFLOWY_S3_USE_MINIO} \
|
||||
-e APPFLOWY_S3_MINIO_URL=${APPFLOWY_S3_MINIO_URL} \
|
||||
-e APPFLOWY_S3_ACCESS_KEY=${APPFLOWY_S3_ACCESS_KEY} \
|
||||
-e APPFLOWY_S3_SECRET_KEY=${APPFLOWY_S3_SECRET_KEY} \
|
||||
-e APPFLOWY_S3_BUCKET=${APPFLOWY_S3_BUCKET} \
|
||||
-e APPFLOWY_S3_REGION=${APPFLOWY_S3_REGION} \
|
||||
-e APPFLOWY_S3_PRESIGNED_URL_ENDPOINT=${APPFLOWY_S3_PRESIGNED_URL_ENDPOINT} \
|
||||
-e APPFLOWY_MAILER_SMTP_HOST=${APPFLOWY_MAILER_SMTP_HOST} \
|
||||
-e APPFLOWY_MAILER_SMTP_PORT=${APPFLOWY_MAILER_SMTP_PORT} \
|
||||
-e APPFLOWY_MAILER_SMTP_USERNAME=${APPFLOWY_MAILER_SMTP_USERNAME} \
|
||||
-e APPFLOWY_MAILER_SMTP_EMAIL=${APPFLOWY_MAILER_SMTP_EMAIL} \
|
||||
-e APPFLOWY_MAILER_SMTP_PASSWORD=${APPFLOWY_MAILER_SMTP_PASSWORD} \
|
||||
-e APPFLOWY_MAILER_SMTP_TLS_KIND=${APPFLOWY_MAILER_SMTP_TLS_KIND} \
|
||||
-e APPFLOWY_ACCESS_CONTROL=${APPFLOWY_ACCESS_CONTROL} \
|
||||
-e APPFLOWY_DATABASE_MAX_CONNECTIONS=${APPFLOWY_DATABASE_MAX_CONNECTIONS} \
|
||||
-e AI_SERVER_HOST=${AI_SERVER_HOST} \
|
||||
-e AI_SERVER_PORT=${AI_SERVER_PORT} \
|
||||
-e AI_OPENAI_API_KEY=${AI_OPENAI_API_KEY} \
|
||||
-e APPFLOWY_ADMIN_FRONTEND_PATH_PREFIX=${ADMIN_FRONTEND_PATH_PREFIX} \
|
||||
-e APPFLOWY_WEB_URL=${APPFLOWY_WEB_URL} \
|
||||
appflowyinc/appflowy_cloud:latest
|
||||
|
||||
docker run -d --name appflowy_gotrue --restart=on-failure \
|
||||
-p 9999:9999 \
|
||||
-e GOTRUE_ADMIN_EMAIL=${GOTRUE_ADMIN_EMAIL} \
|
||||
-e GOTRUE_ADMIN_PASSWORD=${GOTRUE_ADMIN_PASSWORD} \
|
||||
-e GOTRUE_DISABLE_SIGNUP=${GOTRUE_DISABLE_SIGNUP} \
|
||||
-e GOTRUE_SITE_URL='appflowy-flutter://' \
|
||||
-e GOTRUE_URI_ALLOW_LIST='**' \
|
||||
-e GOTRUE_JWT_SECRET=${GOTRUE_JWT_SECRET} \
|
||||
-e GOTRUE_JWT_EXP=${GOTRUE_JWT_EXP} \
|
||||
-e GOTRUE_JWT_ADMIN_GROUP_NAME=supabase_admin \
|
||||
-e GOTRUE_DB_DRIVER=postgres \
|
||||
-e API_EXTERNAL_URL=${API_EXTERNAL_URL} \
|
||||
-e DATABASE_URL=${GOTRUE_DATABASE_URL} \
|
||||
-e PORT=9999 \
|
||||
-e GOTRUE_SMTP_HOST=${GOTRUE_SMTP_HOST}\
|
||||
-e GOTRUE_SMTP_PORT=${GOTRUE_SMTP_PORT} \
|
||||
-e GOTRUE_SMTP_USER=${GOTRUE_SMTP_USER} \
|
||||
-e GOTRUE_SMTP_PASS=${GOTRUE_SMTP_PASS} \
|
||||
-e GOTRUE_MAILER_URLPATHS_CONFIRMATION='/gotrue/verify' \
|
||||
-e GOTRUE_MAILER_URLPATHS_INVITE='/gotrue/verify' \
|
||||
-e GOTRUE_MAILER_URLPATHS_RECOVERY='/gotrue/verify' \
|
||||
-e GOTRUE_MAILER_URLPATHS_EMAIL_CHANGE='/gotrue/verify' \
|
||||
-e GOTRUE_SMTP_ADMIN_EMAIL=${GOTRUE_SMTP_ADMIN_EMAIL} \
|
||||
-e GOTRUE_SMTP_MAX_FREQUENCY=${GOTRUE_SMTP_MAX_FREQUENCY:-1ns} \
|
||||
-e GOTRUE_RATE_LIMIT_EMAIL_SENT=${GOTRUE_RATE_LIMIT_EMAIL_SENT:-100} \
|
||||
-e GOTRUE_MAILER_AUTOCONFIRM=${GOTRUE_MAILER_AUTOCONFIRM:-false} \
|
||||
-e GOTRUE_EXTERNAL_GOOGLE_ENABLED=${GOTRUE_EXTERNAL_GOOGLE_ENABLED} \
|
||||
-e GOTRUE_EXTERNAL_GOOGLE_CLIENT_ID=${GOTRUE_EXTERNAL_GOOGLE_CLIENT_ID} \
|
||||
-e GOTRUE_EXTERNAL_GOOGLE_SECRET=${GOTRUE_EXTERNAL_GOOGLE_SECRET} \
|
||||
-e GOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI=${GOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI} \
|
||||
-e GOTRUE_EXTERNAL_GITHUB_ENABLED=${GOTRUE_EXTERNAL_GITHUB_ENABLED} \
|
||||
-e GOTRUE_EXTERNAL_GITHUB_CLIENT_ID=${GOTRUE_EXTERNAL_GITHUB_CLIENT_ID} \
|
||||
-e GOTRUE_EXTERNAL_GITHUB_SECRET=${GOTRUE_EXTERNAL_GITHUB_SECRET} \
|
||||
-e GOTRUE_EXTERNAL_GITHUB_REDIRECT_URI=${GOTRUE_EXTERNAL_GITHUB_REDIRECT_URI} \
|
||||
-e GOTRUE_EXTERNAL_DISCORD_ENABLED=${GOTRUE_EXTERNAL_DISCORD_ENABLED} \
|
||||
-e GOTRUE_EXTERNAL_DISCORD_CLIENT_ID=${GOTRUE_EXTERNAL_DISCORD_CLIENT_ID} \
|
||||
-e GOTRUE_EXTERNAL_DISCORD_SECRET=${GOTRUE_EXTERNAL_DISCORD_SECRET} \
|
||||
-e GOTRUE_EXTERNAL_DISCORD_REDIRECT_URI=${GOTRUE_EXTERNAL_DISCORD_REDIRECT_URI} \
|
||||
appflowyinc/gotrue:latest
|
||||
docker run -d --name appflowy_admin_frontend \
|
||||
--restart on-failure \
|
||||
-p 3001:3000 \
|
||||
-e RUST_LOG=${RUST_LOG:-info} \
|
||||
-e ADMIN_FRONTEND_REDIS_URL=${ADMIN_FRONTEND_REDIS_URL} \
|
||||
-e ADMIN_FRONTEND_GOTRUE_URL=${ADMIN_FRONTEND_GOTRUE_URL} \
|
||||
-e ADMIN_FRONTEND_APPFLOWY_CLOUD_URL=${ADMIN_FRONTEND_APPFLOWY_CLOUD_URL} \
|
||||
-e ADMIN_FRONTEND_PATH_PREFIX=${ADMIN_FRONTEND_PATH_PREFIX:-} \
|
||||
appflowyinc/admin_frontend:latest
|
||||
|
||||
docker run -d --name appflowy_ai \
|
||||
--restart on-failure \
|
||||
-p 5001:5001 \
|
||||
-e OPENAI_API_KEY=${AI_OPENAI_API_KEY} \
|
||||
-e APPFLOWY_AI_SERVER_PORT=${AI_SERVER_PORT} \
|
||||
-e APPFLOWY_AI_DATABASE_URL=${AI_DATABASE_URL} \
|
||||
-e APPFLOWY_AI_REDIS_URL=${AI_REDIS_URL} \
|
||||
appflowyinc/appflowy_ai:latest
|
||||
|
||||
docker run -d --name appflowy_cloud --restart=on-failure \
|
||||
-p 8000:8000 \
|
||||
-e RUST_LOG=${RUST_LOG:-info} \
|
||||
-e APPFLOWY_ENVIRONMENT=production \
|
||||
-e APPFLOWY_DATABASE_URL=${APPFLOWY_DATABASE_URL} \
|
||||
-e APPFLOWY_REDIS_URI=${APPFLOWY_REDIS_URI} \
|
||||
-e APPFLOWY_GOTRUE_JWT_SECRET=${GOTRUE_JWT_SECRET} \
|
||||
-e APPFLOWY_GOTRUE_JWT_EXP=${GOTRUE_JWT_EXP} \
|
||||
-e APPFLOWY_GOTRUE_BASE_URL=${APPFLOWY_GOTRUE_BASE_URL} \
|
||||
-e APPFLOWY_GOTRUE_EXT_URL=${API_EXTERNAL_URL} \
|
||||
-e APPFLOWY_GOTRUE_ADMIN_EMAIL=${GOTRUE_ADMIN_EMAIL} \
|
||||
-e APPFLOWY_GOTRUE_ADMIN_PASSWORD=${GOTRUE_ADMIN_PASSWORD} \
|
||||
-e APPFLOWY_S3_CREATE_BUCKET=${APPFLOWY_S3_CREATE_BUCKET} \
|
||||
-e APPFLOWY_S3_USE_MINIO=${APPFLOWY_S3_USE_MINIO} \
|
||||
-e APPFLOWY_S3_MINIO_URL=${APPFLOWY_S3_MINIO_URL} \
|
||||
-e APPFLOWY_S3_ACCESS_KEY=${APPFLOWY_S3_ACCESS_KEY} \
|
||||
-e APPFLOWY_S3_SECRET_KEY=${APPFLOWY_S3_SECRET_KEY} \
|
||||
-e APPFLOWY_S3_BUCKET=${APPFLOWY_S3_BUCKET} \
|
||||
-e APPFLOWY_S3_REGION=${APPFLOWY_S3_REGION} \
|
||||
-e APPFLOWY_S3_PRESIGNED_URL_ENDPOINT=${APPFLOWY_S3_PRESIGNED_URL_ENDPOINT} \
|
||||
-e APPFLOWY_MAILER_SMTP_HOST=${APPFLOWY_MAILER_SMTP_HOST} \
|
||||
-e APPFLOWY_MAILER_SMTP_PORT=${APPFLOWY_MAILER_SMTP_PORT} \
|
||||
-e APPFLOWY_MAILER_SMTP_USERNAME=${APPFLOWY_MAILER_SMTP_USERNAME} \
|
||||
-e APPFLOWY_MAILER_SMTP_EMAIL=${APPFLOWY_MAILER_SMTP_EMAIL} \
|
||||
-e APPFLOWY_MAILER_SMTP_PASSWORD=${APPFLOWY_MAILER_SMTP_PASSWORD} \
|
||||
-e APPFLOWY_MAILER_SMTP_TLS_KIND=${APPFLOWY_MAILER_SMTP_TLS_KIND} \
|
||||
-e APPFLOWY_ACCESS_CONTROL=${APPFLOWY_ACCESS_CONTROL} \
|
||||
-e APPFLOWY_DATABASE_MAX_CONNECTIONS=${APPFLOWY_DATABASE_MAX_CONNECTIONS} \
|
||||
-e AI_SERVER_HOST=${AI_SERVER_HOST} \
|
||||
-e AI_SERVER_PORT=${AI_SERVER_PORT} \
|
||||
-e AI_OPENAI_API_KEY=${AI_OPENAI_API_KEY} \
|
||||
-e APPFLOWY_ADMIN_FRONTEND_PATH_PREFIX=${ADMIN_FRONTEND_PATH_PREFIX} \
|
||||
-e APPFLOWY_WEB_URL=${APPFLOWY_WEB_URL} \
|
||||
appflowyinc/appflowy_cloud:latest
|
||||
docker run -d --name appflowy_worker \
|
||||
--restart on-failure \
|
||||
-e RUST_LOG=${RUST_LOG:-info} \
|
||||
-e APPFLOWY_ENVIRONMENT=production \
|
||||
-e APPFLOWY_WORKER_REDIS_URL=${APPFLOWY_WORKER_REDIS_URL} \
|
||||
-e APPFLOWY_WORKER_ENVIRONMENT=production \
|
||||
-e APPFLOWY_WORKER_DATABASE_URL=${APPFLOWY_WORKER_DATABASE_URL} \
|
||||
-e APPFLOWY_WORKER_DATABASE_NAME=${APPFLOWY_WORKER_DATABASE_NAME} \
|
||||
-e APPFLOWY_WORKER_IMPORT_TICK_INTERVAL=30 \
|
||||
-e APPFLOWY_S3_USE_MINIO=${APPFLOWY_S3_USE_MINIO} \
|
||||
-e APPFLOWY_S3_MINIO_URL=${APPFLOWY_S3_MINIO_URL} \
|
||||
-e APPFLOWY_S3_ACCESS_KEY=${APPFLOWY_S3_ACCESS_KEY} \
|
||||
-e APPFLOWY_S3_SECRET_KEY=${APPFLOWY_S3_SECRET_KEY} \
|
||||
-e APPFLOWY_S3_BUCKET=${APPFLOWY_S3_BUCKET} \
|
||||
-e APPFLOWY_S3_REGION=${APPFLOWY_S3_REGION} \
|
||||
-e APPFLOWY_MAILER_SMTP_HOST=${APPFLOWY_MAILER_SMTP_HOST} \
|
||||
-e APPFLOWY_MAILER_SMTP_PORT=${APPFLOWY_MAILER_SMTP_PORT} \
|
||||
-e APPFLOWY_MAILER_SMTP_USERNAME=${APPFLOWY_MAILER_SMTP_USERNAME} \
|
||||
-e APPFLOWY_MAILER_SMTP_EMAIL=${APPFLOWY_MAILER_SMTP_EMAIL} \
|
||||
-e APPFLOWY_MAILER_SMTP_PASSWORD=${APPFLOWY_MAILER_SMTP_PASSWORD} \
|
||||
-e APPFLOWY_MAILER_SMTP_TLS_KIND=${APPFLOWY_MAILER_SMTP_TLS_KIND} \
|
||||
appflowyinc/appflowy_worker:latest
|
||||
|
||||
docker run -d --name appflowy_admin_frontend \
|
||||
--restart on-failure \
|
||||
-p 3001:3000 \
|
||||
-e RUST_LOG=${RUST_LOG:-info} \
|
||||
-e ADMIN_FRONTEND_REDIS_URL=${ADMIN_FRONTEND_REDIS_URL} \
|
||||
-e ADMIN_FRONTEND_GOTRUE_URL=${ADMIN_FRONTEND_GOTRUE_URL} \
|
||||
-e ADMIN_FRONTEND_APPFLOWY_CLOUD_URL=${ADMIN_FRONTEND_APPFLOWY_CLOUD_URL} \
|
||||
-e ADMIN_FRONTEND_PATH_PREFIX=${ADMIN_FRONTEND_PATH_PREFIX:-} \
|
||||
appflowyinc/admin_frontend:latest
|
||||
docker run -d --name appflowy_web \
|
||||
--restart on-failure \
|
||||
-p 8090:80 \
|
||||
-e AF_BASE_URL="${APPFLOWY_BASE_URL}" \
|
||||
-e AF_GOTRUE_URL="${API_EXTERNAL_URL}" \
|
||||
appflowyinc/appflowy_web:latest
|
||||
}
|
||||
|
||||
docker run -d --name appflowy_ai \
|
||||
--restart on-failure \
|
||||
-p 5001:5001 \
|
||||
-e OPENAI_API_KEY=${AI_OPENAI_API_KEY} \
|
||||
-e APPFLOWY_AI_SERVER_PORT=${AI_SERVER_PORT} \
|
||||
-e APPFLOWY_AI_DATABASE_URL=${AI_DATABASE_URL} \
|
||||
-e APPFLOWY_AI_REDIS_URL=${AI_REDIS_URL} \
|
||||
appflowyinc/appflowy_ai:latest
|
||||
function main() {
|
||||
local cmd=$1
|
||||
shift 1
|
||||
case $cmd in
|
||||
stop)
|
||||
stop_containers
|
||||
;;
|
||||
*)
|
||||
start_containers
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
docker run -d --name appflowy_worker \
|
||||
--restart on-failure \
|
||||
-e RUST_LOG=${RUST_LOG:-info} \
|
||||
-e APPFLOWY_ENVIRONMENT=production \
|
||||
-e APPFLOWY_WORKER_REDIS_URL=${APPFLOWY_WORKER_REDIS_URL} \
|
||||
-e APPFLOWY_WORKER_ENVIRONMENT=production \
|
||||
-e APPFLOWY_WORKER_DATABASE_URL=${APPFLOWY_WORKER_DATABASE_URL} \
|
||||
-e APPFLOWY_WORKER_DATABASE_NAME=${APPFLOWY_WORKER_DATABASE_NAME} \
|
||||
-e APPFLOWY_WORKER_IMPORT_TICK_INTERVAL=30 \
|
||||
-e APPFLOWY_S3_USE_MINIO=${APPFLOWY_S3_USE_MINIO} \
|
||||
-e APPFLOWY_S3_MINIO_URL=${APPFLOWY_S3_MINIO_URL} \
|
||||
-e APPFLOWY_S3_ACCESS_KEY=${APPFLOWY_S3_ACCESS_KEY} \
|
||||
-e APPFLOWY_S3_SECRET_KEY=${APPFLOWY_S3_SECRET_KEY} \
|
||||
-e APPFLOWY_S3_BUCKET=${APPFLOWY_S3_BUCKET} \
|
||||
-e APPFLOWY_S3_REGION=${APPFLOWY_S3_REGION} \
|
||||
-e APPFLOWY_MAILER_SMTP_HOST=${APPFLOWY_MAILER_SMTP_HOST} \
|
||||
-e APPFLOWY_MAILER_SMTP_PORT=${APPFLOWY_MAILER_SMTP_PORT} \
|
||||
-e APPFLOWY_MAILER_SMTP_USERNAME=${APPFLOWY_MAILER_SMTP_USERNAME} \
|
||||
-e APPFLOWY_MAILER_SMTP_EMAIL=${APPFLOWY_MAILER_SMTP_EMAIL} \
|
||||
-e APPFLOWY_MAILER_SMTP_PASSWORD=${APPFLOWY_MAILER_SMTP_PASSWORD} \
|
||||
-e APPFLOWY_MAILER_SMTP_TLS_KIND=${APPFLOWY_MAILER_SMTP_TLS_KIND} \
|
||||
appflowyinc/appflowy_worker:latest
|
||||
|
||||
docker run -d --name appflowy_web \
|
||||
--restart on-failure \
|
||||
-p 8090:80 \
|
||||
-e AF_BASE_URL="${APPFLOWY_BASE_URL}" \
|
||||
-e AF_GOTRUE_URL="${API_EXTERNAL_URL}" \
|
||||
appflowyinc/appflowy_web:latest
|
||||
main $@
|
||||
|
Loading…
x
Reference in New Issue
Block a user