153 Star 1.3K Fork 313

GVPAPITable / APITable

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
docker-compose.yaml 5.94 KB
一键复制 编辑 原始数据 按行查看 历史
笑苍天Smile 提交于 2023-08-28 16:53 . sync: hosted cloud (#1248)
version: "3.9"
services:
web-server:
image: ${IMAGE_REGISTRY}/${IMAGE_WEB_SERVER}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
restart: always
expose:
- "8080"
env_file:
- "${ENV_FILE:-.env}"
networks:
- apitable
imageproxy-server:
image: ${IMAGE_REGISTRY}/${IMAGE_IMAGEPROXY_SERVER}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
restart: always
expose:
- "8080"
environment:
- TZ=${TIMEZONE}
- BASEURL=${AWS_ENDPOINT}
networks:
- apitable
backend-server:
image: ${IMAGE_REGISTRY}/${IMAGE_BACKEND_SERVER}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
restart: always
env_file:
- "${ENV_FILE:-.env}"
expose:
- "8081"
environment:
- TZ=${TIMEZONE}
- DEFAULT_TIME_ZONE=${TIMEZONE}
networks:
- apitable
depends_on:
init-db:
condition: service_completed_successfully
healthcheck:
test: ["CMD-SHELL", "curl -sS 'http://localhost:8081' || exit 1"]
interval: 5s
timeout: 5s
start_period: 30s
retries: 60
room-server:
image: ${IMAGE_REGISTRY}/${IMAGE_ROOM_SERVER}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
restart: always
expose:
- "3333"
- "3334"
- "3001"
- "3002"
- "3006"
- "3005"
- "3007"
env_file:
- "${ENV_FILE:-.env}"
environment:
- TZ=${TIMEZONE}
- NODE_ENV=${ENV}
- NODE_OPTIONS=--max-old-space-size=2048 --max-http-header-size=80000
- API_MAX_MODIFY_RECORD_COUNTS=${API_MAX_MODIFY_RECORD_COUNTS:-30}
- INSTANCE_MAX_MEMORY=4096M
- ENABLE_SOCKET=true
networks:
- apitable
depends_on:
mysql:
condition: service_healthy
databus-server:
image: ${IMAGE_REGISTRY}/${IMAGE_DATABUS_SERVER}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
restart: always
expose:
- "8625"
env_file:
- "${ENV_FILE:-.env}"
environment:
- TZ=${TIMEZONE}
networks:
- apitable
depends_on:
mysql:
condition: service_healthy
# Third Party Dockers
gateway:
image: ${IMAGE_REGISTRY}/${IMAGE_GATEWAY}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
restart: always
ports:
- ${NGINX_HTTP_PORT:-80}:80
- ${NGINX_HTTPS_PORT:-443}:443
environment:
- TZ=${TIMEZONE}
networks:
- apitable
depends_on:
web-server:
condition: service_started
imageproxy-server:
condition: service_started
backend-server:
condition: service_healthy
room-server:
condition: service_started
init-appdata:
condition: service_completed_successfully
minio:
container_name: minio
image: ${IMAGE_MINIO}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
restart: always
command: server --console-address ":9001" /data
expose:
- "9000"
- "9001"
volumes:
- ${DATA_PATH}/.data/minio/data:/data
- ${DATA_PATH}/.data/minio/config:/root/.minio
environment:
- MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}
- MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
- MINIO_ROOT_USER=${MINIO_ACCESS_KEY}
- MINIO_ROOT_PASSWORD=${MINIO_SECRET_KEY}
- TZ=${TIMEZONE}
networks:
- apitable
healthcheck:
test: ["CMD-SHELL", "curl -sS 'http://localhost:9000' || exit 1"]
interval: 5s
timeout: 5s
retries: 30
redis:
container_name: redis
image: ${IMAGE_REDIS}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
restart: always
command:
[
"redis-server",
"--appendonly",
"yes",
"--requirepass",
"${REDIS_PASSWORD}",
]
expose:
- "6379"
volumes:
- ${DATA_PATH}/.data/redis:/data
environment:
- TZ=${TIMEZONE}
networks:
- apitable
mysql:
container_name: mysql
image: ${IMAGE_MYSQL}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
restart: always
volumes:
- ${DATA_PATH}/.data/mysql:/var/lib/mysql
expose:
- "3306"
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- TZ=${TIMEZONE}
command: --default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--sql_mode=IGNORE_SPACE,NO_ENGINE_SUBSTITUTION
--lower_case_table_names=2
healthcheck:
test: "mysql ${MYSQL_DATABASE} -u${MYSQL_USERNAME} -p${MYSQL_PASSWORD} -e 'SELECT 1;'"
interval: 5s
timeout: 5s
start_period: 30s
retries: 60
networks:
- apitable
rabbitmq:
container_name: rabbitmq
image: ${IMAGE_RABBITMQ}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
restart: always
volumes:
- ${DATA_PATH}/.data/rabbitmq:/var/lib/rabbitmq
expose:
- "5671"
- "5672"
- "15672"
environment:
- RABBITMQ_DEFAULT_USER=${RABBITMQ_USERNAME}
- RABBITMQ_DEFAULT_PASS=${RABBITMQ_PASSWORD}
networks:
- apitable
# init data
init-db:
image: ${IMAGE_REGISTRY}/${IMAGE_INIT_DB}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
environment:
- TZ=${TIMEZONE}
- DB_HOST=${MYSQL_HOST}
- DB_PORT=${MYSQL_PORT}
- DB_NAME=${MYSQL_DATABASE}
- DB_USERNAME=${MYSQL_USERNAME}
- DB_PASSWORD=${MYSQL_PASSWORD}
- DATABASE_TABLE_PREFIX=${DATABASE_TABLE_PREFIX}
- ACTION=update
networks:
- apitable
depends_on:
mysql:
condition: service_healthy
# init-appdata
init-appdata:
image: ${IMAGE_REGISTRY}/${IMAGE_INIT_APPDATA}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
env_file:
- "${ENV_FILE:-.env}"
networks:
- apitable
depends_on:
mysql:
condition: service_healthy
init-db:
condition: service_completed_successfully
networks:
apitable:
name: apitable_default
driver: bridge
TypeScript
1
https://gitee.com/apitable/APITable.git
git@gitee.com:apitable/APITable.git
apitable
APITable
APITable
develop

搜索帮助