1 Star 0 Fork 345

星痕/APITable

forked from APITable/APITable 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
docker-compose.yaml 6.22 KB
一键复制 编辑 原始数据 按行查看 历史
vac (Brendan) 提交于 2023-01-30 18:31 . chore: bump dependent images (#254)
version: '3'
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}
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"
env_file:
- "${ENV_FILE:-.env}"
environment:
- 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
networks:
- apitable
depends_on:
mysql:
condition: service_healthy
socket-server:
image: ${IMAGE_REGISTRY}/${IMAGE_SOCKET_SERVER}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
restart: always
expose:
- "3001"
- "3002"
- "3005"
- "3007"
environment:
- PORT=3001
- NOTIFICATION_PORT=3002
- SYS_MEMORY_RATIO=100
- NODE_MEMORY_RATIO=80
- NEST_GRPC_URL=room-server:3334
env_file:
- "${ENV_FILE:-.env}"
networks:
- apitable
# Third Party Dockers
gateway:
image: ${IMAGE_GATEWAY}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
restart: always
ports:
- ${NGINX_HTTP_PORT:-80}:80
- ${NGINX_HTTPS_PORT:-443}:443
volumes:
- ./gateway/conf.d:/etc/nginx/conf.d
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
socket-server:
condition: service_started
init-appdata:
condition: service_completed_successfully
minio:
image: ${IMAGE_MINIO}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
restart: always
command: server /data
expose:
- "9000"
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}
- TZ=${TIMEZONE}
networks:
- apitable
healthcheck:
test: ["CMD-SHELL", "curl -sS 'http://localhost:9000' || exit 1"]
interval: 5s
timeout: 5s
retries: 30
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:
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:
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
pre-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=releaseLocks
networks:
- apitable
depends_on:
mysql:
condition: service_healthy
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:
pre-init-db:
condition: service_completed_successfully
# 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:
driver: bridge
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
TypeScript
1
https://gitee.com/frxinghen/APITable.git
git@gitee.com:frxinghen/APITable.git
frxinghen
APITable
APITable
develop

搜索帮助