version: "3" services: nginx: image: "nginx:latest" container_name: halo-nginx restart: always networks: halo_network: volumes: - $PWD/nginx.conf:/etc/nginx/nginx.conf - $PWD/certs:/etc/nginx/certs - /data/nginx/cache:/data/nginx/cache environment: - TZ=Asia/Shanghai ports: - "80:80" - "443:443" depends_on: - halo halo: image: halohub/halo:2.10.0 container_name: halo restart: on-failure:3 depends_on: halodb: condition: service_healthy networks: halo_network: volumes: - /data/halo/halo2:/root/.halo2 # - $PWD/theme-yact:/root/.halo2/themes/yact-theme ports: - "8090:8090" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] interval: 30s timeout: 5s retries: 5 start_period: 30s command: - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/yact-home - --spring.r2dbc.username=root # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - --spring.r2dbc.password=BIBzkazKSArPov5q - --spring.sql.init.platform=mysql # 外部访问地址,请根据实际需要修改 - --halo.external-url=https://www.yact.com.cn # 初始化的超级管理员用户名 - --halo.security.initializer.superadminusername=admin # 初始化的超级管理员密码 - --halo.security.initializer.superadminpassword=szgs6666 environment: - SPRING_THYMELEAF_CACHE=true halodb: image: mysql:8 container_name: halodb restart: on-failure:3 networks: halo_network: command: - --default-authentication-plugin=mysql_native_password - --character-set-server=utf8mb4 - --collation-server=utf8mb4_general_ci - --explicit_defaults_for_timestamp=true volumes: - /data/halo/mysql:/var/lib/mysql - /data/halo/mysqlBackup:/data/mysqlBackup healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] interval: 3s retries: 5 start_period: 30s environment: # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 - MYSQL_ROOT_PASSWORD=BIBzkazKSArPov5q - MYSQL_DATABASE=yact-home networks: halo_network: external: false