2核2G部署HALO项目,并且无限续期HTTPS

墨韵云阁
2025-07-07
点 赞
0
热 度
3
评 论
0

文章摘要

墨韵云阁GPT

使用docker-compose进行项目部署

version: '3.8'

services:
  traefik:
    image: traefik:v2.10
    container_name: traefik
    restart: unless-stopped
    depends_on:
      halo:
        condition: service_healthy
    command:
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.myresolver.acme.email=${EMAIL}"
      - "--certificatesresolvers.myresolver.acme.storage=/acme.json"
      - "--certificatesresolvers.myresolver.acme.dnschallenge.provider=alidns"
      - "--certificatesresolvers.myresolver.acme.dnschallenge.delaybeforecheck=0"
      - "--log.level=ERROR"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./traefik/acme.json:/acme.json
    environment:
      - ALICLOUD_ACCESS_KEY=${ALICLOUD_ACCESS_KEY}
      - ALICLOUD_SECRET_KEY=${ALICLOUD_SECRET_KEY}
    deploy:
      resources:
        limits:
          memory: 256M
    networks:
      - web

  mysql:
    image: mysql:8.1.0
    container_name: mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: halo
    volumes:
      - ./mysql/data:/var/lib/mysql
    command:
      - --default-authentication-plugin=caching_sha2_password
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_general_ci
      - --explicit_defaults_for_timestamp=true
    deploy:
      resources:
        limits:
          memory: 512M
    networks:
      - web
    healthcheck:
      test: [ "CMD", "mysqladmin", "ping", "-h", "localhost" ]
      interval: 10s
      timeout: 5s
      retries: 5
    ports:
      - "13000:3306"

  halo:
    image: registry.fit2cloud.com/halo/halo-pro:2.21.3
    container_name: halo
    restart: unless-stopped
    depends_on:
      mysql:
        condition: service_healthy
    command:
      - --spring.r2dbc.url=r2dbc:pool:mysql://mysql:3306/halo
      - --spring.r2dbc.username=root
      # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
      - --spring.r2dbc.password=${MYSQL_ROOT_PASSWORD}
      - --spring.sql.init.platform=mysql
      # 外部访问地址,请根据实际需要修改
      - --halo.external-url=https://${DOMAIN}/
    volumes:
      - ./halo_data:/root/.halo2
    environment:
      - JAVA_OPTS=-Xms256m -Xmx256m -XX:MaxMetaspaceSize=128m
    labels:
      traefik.enable: "true"
      traefik.http.routers.halo.rule: Host(`${DOMAIN}`)
      traefik.http.routers.halo.tls: "true"
      traefik.http.routers.halo.tls.certresolver: myresolver
      traefik.http.services.halo.loadbalancer.server.port: 8090
    deploy:
      resources:
        limits:
          memory: 768M
    networks:
      - web
    healthcheck:
      test: [ "CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness" ]
      interval: 30s
      timeout: 5s
      retries: 5
      start_period: 30s

networks:
  web:
    name: web
    driver: bridge


墨韵云阁,一方笔墨筑就的云间书阁。这里有砚底沉凝的千年墨香,有宣纸上晕染的诗画清韵,亦有凭栏观云时漫谈的文思。从古籍里的字间风骨,到日常中的草木闲情,皆以笔墨为舟,载着清雅意趣,邀你共栖这片书香云境。

墨韵云阁

intj 建筑师

站长

具有版权性

请您在转载、复制时注明本文 作者、链接及内容来源信息。 若涉及转载第三方内容,还需一同注明。

具有时效性

目录

欢迎来到墨韵云阁的站点,为您导航全站动态

4 文章数
2 分类数
0 评论数
0标签数
最近评论

访问统计