Files
sbnews/docker/docker-compose.dev.yml
T

134 lines
3.2 KiB
YAML

name: sport-era-dev
x-php-image: &php-image
image: sport-era-dev-php:local
build:
context: ..
dockerfile: docker/Dockerfile.php
services:
server:
<<: *php-image
working_dir: /likeadmin_php/server
restart: unless-stopped
depends_on:
mysql:
condition: service_healthy
redis:
condition: service_healthy
volumes:
- ../server:/likeadmin_php/server
networks:
- sport-era-dev
scheduler:
<<: *php-image
working_dir: /likeadmin_php/server
restart: unless-stopped
depends_on:
mysql:
condition: service_healthy
redis:
condition: service_healthy
command: >-
sh -c "while true; do php think crontab; sleep 60; done"
volumes:
- ../server:/likeadmin_php/server
networks:
- sport-era-dev
nginx:
image: registry.cn-guangzhou.aliyuncs.com/likeadmin/nginx:1.23.1
restart: unless-stopped
depends_on:
- server
ports:
- "8000:80"
volumes:
- ../server:/likeadmin_php/server:ro
- ./config/nginx/conf.d/sport-era.dev.conf:/etc/nginx/conf.d/default.conf:ro
- ./log/nginx/dev-logs:/logs
networks:
- sport-era-dev
admin:
image: node:20-alpine
working_dir: /app
restart: unless-stopped
environment:
CHOKIDAR_USEPOLLING: "true"
command: >-
sh -c "if [ ! -d node_modules/vite ]; then npm install --package-lock=false; fi;
npm run dev"
ports:
- "5176:5176"
volumes:
- ../admin:/app
- admin-node-modules:/app/node_modules
networks:
- sport-era-dev
uniapp-h5:
image: node:20-alpine
working_dir: /app
restart: unless-stopped
environment:
CHOKIDAR_USEPOLLING: "true"
command: >-
sh -c "if [ ! -x node_modules/.bin/uni ]; then npm install --legacy-peer-deps --package-lock=false; fi;
npm run dev:h5 -- --host 0.0.0.0"
ports:
- "5177:5177"
volumes:
- ../uniapp:/app
- uniapp-node-modules:/app/node_modules
networks:
- sport-era-dev
mysql:
image: mysql:8.2
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${SPORT_ERA_MYSQL_ROOT_PASSWORD:-root}
MYSQL_DATABASE: ${SPORT_ERA_MYSQL_DATABASE:-sbnews}
MYSQL_USER: ${SPORT_ERA_MYSQL_USER:-sbnews}
MYSQL_PASSWORD: ${SPORT_ERA_MYSQL_PASSWORD:-sbnews}
TZ: Asia/Shanghai
ports:
- "${SPORT_ERA_MYSQL_PORT:-3307}:3306"
volumes:
- ./data/mysql:/var/lib/mysql
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -uroot -p$$MYSQL_ROOT_PASSWORD --silent"]
interval: 10s
timeout: 5s
retries: 10
start_period: 30s
networks:
- sport-era-dev
redis:
image: registry.cn-guangzhou.aliyuncs.com/likeadmin/redis:7.4.0
restart: unless-stopped
command: redis-server --appendonly yes
ports:
- "${SPORT_ERA_REDIS_PORT:-6379}:6379"
volumes:
- ./data/redis:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 10
start_period: 10s
networks:
- sport-era-dev
volumes:
admin-node-modules:
uniapp-node-modules:
networks:
sport-era-dev:
driver: bridge