diff --git a/apps/halo/config.json b/apps/halo/config.json new file mode 100644 index 00000000..71ec4ed6 --- /dev/null +++ b/apps/halo/config.json @@ -0,0 +1,39 @@ +{ + "$schema": "../schema.json", + "name": "Halo", + "available": true, + "port": 8092, + "id": "halo", + "description": "", + "tipi_version": 1, + "version": "2.4.2", + "categories": ["social", "media"], + "short_desc": "", + "author": "halo-dev", + "source": "https://github.com/halo-dev/halo", + "website": "https://halo.run", + "form_fields": [ + { + "type": "random", + "label": "Database password", + "min": 20, + "env_variable": "HALO_DATABASE_PASSWORD" + }, + { + "type": "text", + "label": "Initial admin username", + "env_variable": "HALO_ADMIN_USERNAME" + }, + { + "type": "random", + "label": "Initial admin password", + "min": 8, + "env_variable": "HALO_ADMIN_PASSWORD" + }, + { + "type": "text", + "label": "External url", + "env_variable": "HALO_EXTERNAL_URL" + } + ] +} diff --git a/apps/halo/docker-compose.yml b/apps/halo/docker-compose.yml new file mode 100644 index 00000000..95831132 --- /dev/null +++ b/apps/halo/docker-compose.yml @@ -0,0 +1,58 @@ +version: "3" + +services: + halo: + image: halohub/halo:2.4.2 + container_name: halo + restart: unless-stopped + depends_on: + halodb: + condition: service_healthy + networks: + - tipi_main_network + volumes: + - ${APP_DATA_DIR}:/root/.halo2 + ports: + - ${APP_PORT}: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:postgresql://halodb/halo + - --spring.r2dbc.username=halo + - --spring.r2dbc.password=${HALO_DATABASE_PASSWORD} + - --spring.sql.init.platform=postgresql + - --halo.external-url=${HALO_EXTERNAL_URL} + - --halo.security.initializer.superadminusername=${HALO_ADMIN_USERNAME} + - --halo.security.initializer.superadminpassword=${HALO_ADMIN_PASSWORD} + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.halo.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.halo.entrypoints: websecure + traefik.http.routers.halo.service: halo + traefik.http.routers.halo.tls.certresolver: myresolver + traefik.http.services.halo.loadbalancer.server.port: 8090 + + halodb: + image: postgres:latest + container_name: halodb + restart: unless-stopped + networks: + - tipi_main_network + volumes: + - ${APP_DATA_DIR}/db:/var/lib/postgresql/data + ports: + - "5432:5432" + healthcheck: + test: [ "CMD", "pg_isready" ] + interval: 10s + timeout: 5s + retries: 5 + environment: + - POSTGRES_PASSWORD=${HALO_DATABASE_PASSWORD} + - POSTGRES_USER=halo + - POSTGRES_DB=halo + - PGUSER=halo \ No newline at end of file diff --git a/apps/halo/metadata/description.md b/apps/halo/metadata/description.md new file mode 100644 index 00000000..441d362f --- /dev/null +++ b/apps/halo/metadata/description.md @@ -0,0 +1,67 @@ +
+ + + +
+ +Halo [ˈheɪloʊ],强大易用的开源建站工具。
+ +
+
+
+
+
+
+
+官网
+文档
+社区
+Gitee
+Telegram 频道
+