feat:添加discourse到列表 (#1686)

This commit is contained in:
okxlin 2024-07-02 11:41:15 +08:00 committed by GitHub
parent 696b806e72
commit 096d6d2ed7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 456 additions and 0 deletions

View File

@ -0,0 +1,321 @@
additionalProperties:
formFields:
- default: "40268"
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Port
labelZh: 端口
required: true
rule: paramPort
type: number
- default: "plugins public/backups public/uploads"
disabled: true
envKey: DISCOURSE_DATA_TO_PERSIST
labelEn: Data to Persist
labelZh: 持久化数据
required: true
type: text
- default: "no"
edit: true
envKey: DISCOURSE_ENABLE_HTTPS
labelEn: Enable HTTPS
labelZh: 启用 HTTPS
required: true
type: select
values:
- label: "yes"
value: "yes"
- label: "no"
value: "no"
- default: "80"
edit: true
envKey: DISCOURSE_EXTERNAL_HTTP_PORT_NUMBER
labelEn: External HTTP Port
labelZh: 外部 HTTP 端口
required: true
type: number
- default: "443"
edit: true
envKey: DISCOURSE_EXTERNAL_HTTPS_PORT_NUMBER
labelEn: External HTTPS Port
labelZh: 外部 HTTPS 端口
required: true
type: number
- default: "www.example.com"
edit: true
envKey: DISCOURSE_HOST
labelEn: Discourse Host
labelZh: Discourse 主机
required: true
type: text
- default: "3000"
edit: true
envKey: DISCOURSE_PORT_NUMBER
labelEn: Discourse Port
labelZh: Discourse 端口
required: true
type: number
- default: ""
edit: true
envKey: DISCOURSE_SKIP_BOOTSTRAP
labelEn: Skip Bootstrap
labelZh: 跳过引导
required: false
type: text
- default: "My site!"
edit: true
envKey: DISCOURSE_SITE_NAME
labelEn: Site Name
labelZh: 网站名称
required: true
type: text
- default: "production"
edit: true
envKey: DISCOURSE_ENV
labelEn: Environment
labelZh: 环境
required: true
type: select
values:
- label: development
value: "development"
- label: production
value: "production"
- label: test
value: "test"
- default: "yes"
edit: true
envKey: DISCOURSE_PRECOMPILE_ASSETS
labelEn: Precompile Assets
labelZh: 预编译资产
required: true
type: select
values:
- label: "yes"
value: "yes"
- label: "no"
value: "no"
- default: "no"
edit: true
envKey: DISCOURSE_ENABLE_CONF_PERSISTENCE
labelEn: Enable Config Persistence
labelZh: 启用配置持久化
required: true
type: select
values:
- label: "yes"
value: "yes"
- label: "no"
value: "no"
- default: "yes"
edit: true
envKey: DISCOURSE_EXTRA_CONF_CONTENT
labelEn: Extra Config Content
labelZh: 额外配置内容
required: true
type: select
values:
- label: "yes"
value: "yes"
- label: "no"
value: "no"
- default: "direct"
edit: true
envKey: DISCOURSE_PASSENGER_SPAWN_METHOD
labelEn: Passenger Spawn Method
labelZh: Passenger 启动方法
required: true
type: select
values:
- label: "direct"
value: "direct"
- label: "smart"
value: "smart"
- default: ""
edit: true
envKey: DISCOURSE_PASSENGER_EXTRA_FLAGS
labelEn: Passenger Extra Flags
labelZh: Passenger 额外标志
required: false
type: text
- default: "siteadmin"
edit: true
envKey: DISCOURSE_USERNAME
labelEn: Username
labelZh: 用户名
required: true
type: text
- default: "siteadmin12345"
edit: true
envKey: DISCOURSE_PASSWORD
labelEn: Password
labelZh: 密码
random: true
required: true
rule: paramComplexity
type: password
- default: "admin@localhost.com"
edit: true
envKey: DISCOURSE_EMAIL
labelEn: Email
labelZh: 电子邮箱
required: true
type: text
- default: "Admin"
edit: true
envKey: DISCOURSE_FIRST_NAME
labelEn: First Name
labelZh:
required: true
type: text
- default: "User"
edit: true
envKey: DISCOURSE_LAST_NAME
labelEn: Last Name
labelZh:
required: true
type: text
- default: ""
edit: true
envKey: DISCOURSE_SMTP_HOST
labelEn: SMTP Host
labelZh: SMTP 主机
required: false
type: text
- default: ""
edit: true
envKey: DISCOURSE_SMTP_PORT_NUMBER
labelEn: SMTP Port
labelZh: SMTP 端口
required: false
type: number
- default: ""
edit: true
envKey: DISCOURSE_SMTP_USER
labelEn: SMTP User
labelZh: SMTP 用户名
required: false
type: text
- default: ""
edit: true
envKey: DISCOURSE_SMTP_PASSWORD
labelEn: SMTP Password
labelZh: SMTP 密码
required: false
type: password
- default: ""
edit: true
envKey: DISCOURSE_SMTP_PROTOCOL
labelEn: SMTP Protocol
labelZh: SMTP 协议
required: false
type: text
- default: "login"
edit: true
envKey: DISCOURSE_SMTP_AUTH
labelEn: SMTP Auth
labelZh: SMTP 认证
required: true
type: select
values:
- label: login
value: "login"
- label: plain
value: "plain"
- label: cram_md5
value: "cram_md5"
- default: ""
edit: true
envKey: DISCOURSE_SMTP_OPEN_TIMEOUT
labelEn: SMTP Open Timeout
labelZh: SMTP 打开超时
required: false
type: number
- default: ""
edit: true
envKey: DISCOURSE_SMTP_READ_TIMEOUT
labelEn: SMTP Read Timeout
labelZh: SMTP 读取超时
required: false
type: number
- default: ""
edit: true
envKey: PANEL_DB_HOST
key: postgresql
labelEn: Database Service
labelZh: 数据库服务
required: true
type: service
- default: "5432"
edit: true
envKey: PANEL_DB_PORT
labelEn: Database Port Number
labelZh: 数据库端口号
required: true
rule: paramPort
type: number
- default: "bitnami_discourse"
envKey: PANEL_DB_NAME
labelEn: Database
labelZh: 数据库名
random: true
required: true
rule: paramCommon
type: text
- default: "bn_discourse"
envKey: PANEL_DB_USER
labelEn: User
labelZh: 数据库用户
random: true
required: true
rule: paramCommon
type: text
- default: discourse
envKey: PANEL_DB_USER_PASSWORD
labelEn: Password
labelZh: 数据库用户密码
random: true
required: true
rule: paramComplexity
type: password
- default: ""
edit: true
envKey: REDIS_HOST
key: redis
labelEn: Redis Service
labelZh: Redis服务
required: true
type: service
- default: "6379"
edit: true
envKey: REDIS_PORT
labelEn: Redis Service Port
labelZh: Redis服务端口
required: true
rule: paramPort
type: number
- default: ""
envKey: PANEL_REDIS_ROOT_PASSWORD
labelEn: Redis Password
labelZh: Redis 密码
required: false
type: password
- default: "no"
edit: true
envKey: DISCOURSE_REDIS_USE_SSL
labelEn: Redis Use SSL
labelZh: Redis 使用 SSL
required: true
type: select
values:
- label: "yes"
value: "yes"
- label: "no"
value: "no"
- default: "hstore,pg_trgm"
disabled: true
envKey: POSTGRESQL_CLIENT_CREATE_DATABASE_EXTENSIONS
labelEn: PostgreSQL Client Create Database Extensions
labelZh: PostgreSQL 客户端创建数据库扩展
required: true
type: text

View File

@ -0,0 +1,111 @@
services:
discourse:
image: "bitnami/discourse:3.2.2"
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:${DISCOURSE_PORT_NUMBER}"
volumes:
- ./data/discourse:/bitnami/discourse
environment:
- DISCOURSE_DATA_TO_PERSIST=${DISCOURSE_DATA_TO_PERSIST}
- DISCOURSE_ENABLE_HTTPS=${DISCOURSE_ENABLE_HTTPS}
- DISCOURSE_EXTERNAL_HTTP_PORT_NUMBER=${DISCOURSE_EXTERNAL_HTTP_PORT_NUMBER}
- DISCOURSE_EXTERNAL_HTTPS_PORT_NUMBER=${DISCOURSE_EXTERNAL_HTTPS_PORT_NUMBER}
- DISCOURSE_HOST=${DISCOURSE_HOST}
- DISCOURSE_PORT_NUMBER=${DISCOURSE_PORT_NUMBER}
- DISCOURSE_SKIP_BOOTSTRAP=${DISCOURSE_SKIP_BOOTSTRAP}
- DISCOURSE_SITE_NAME=${DISCOURSE_SITE_NAME}
- DISCOURSE_ENV=${DISCOURSE_ENV}
- DISCOURSE_PRECOMPILE_ASSETS=${DISCOURSE_PRECOMPILE_ASSETS}
- DISCOURSE_ENABLE_CONF_PERSISTENCE=${DISCOURSE_ENABLE_CONF_PERSISTENCE}
- DISCOURSE_EXTRA_CONF_CONTENT=${DISCOURSE_EXTRA_CONF_CONTENT}
- DISCOURSE_PASSENGER_SPAWN_METHOD=${DISCOURSE_PASSENGER_SPAWN_METHOD}
- DISCOURSE_PASSENGER_EXTRA_FLAGS=${DISCOURSE_PASSENGER_EXTRA_FLAGS}
- DISCOURSE_USERNAME=${DISCOURSE_USERNAME}
- DISCOURSE_PASSWORD=${DISCOURSE_PASSWORD}
- DISCOURSE_EMAIL=${DISCOURSE_EMAIL}
- DISCOURSE_FIRST_NAME=${DISCOURSE_FIRST_NAME}
- DISCOURSE_LAST_NAME=${DISCOURSE_LAST_NAME}
- DISCOURSE_SMTP_HOST=${DISCOURSE_SMTP_HOST}
- DISCOURSE_SMTP_PORT_NUMBER=${DISCOURSE_SMTP_PORT_NUMBER}
- DISCOURSE_SMTP_USER=${DISCOURSE_SMTP_USER}
- DISCOURSE_SMTP_PASSWORD=${DISCOURSE_SMTP_PASSWORD}
- DISCOURSE_SMTP_PROTOCOL=${DISCOURSE_SMTP_PROTOCOL}
- DISCOURSE_SMTP_AUTH=${DISCOURSE_SMTP_AUTH}
- DISCOURSE_SMTP_OPEN_TIMEOUT=${DISCOURSE_SMTP_OPEN_TIMEOUT}
- DISCOURSE_SMTP_READ_TIMEOUT=${DISCOURSE_SMTP_READ_TIMEOUT}
- DISCOURSE_DATABASE_HOST=${PANEL_DB_HOST}
- DISCOURSE_DATABASE_PORT_NUMBER=${PANEL_DB_PORT}
- DISCOURSE_DATABASE_NAME=${PANEL_DB_NAME}
- DISCOURSE_DATABASE_USER=${PANEL_DB_USER}
- DISCOURSE_DATABASE_PASSWORD=${PANEL_DB_USER_PASSWORD}
- DISCOURSE_DB_BACKUP_HOST=${PANEL_DB_HOST}
- DISCOURSE_DB_BACKUP_PORT=${PANEL_DB_PORT}
- DISCOURSE_REDIS_HOST=${REDIS_HOST}
- DISCOURSE_REDIS_PORT_NUMBER=${REDIS_PORT}
- DISCOURSE_REDIS_PASSWORD=${PANEL_REDIS_ROOT_PASSWORD}
- DISCOURSE_REDIS_USE_SSL=${DISCOURSE_REDIS_USE_SSL}
- POSTGRESQL_CLIENT_POSTGRES_USER=${PANEL_DB_USER}
- POSTGRESQL_CLIENT_POSTGRES_PASSWORD=${PANEL_DB_USER_PASSWORD}
- POSTGRESQL_CLIENT_CREATE_DATABASE_NAME=${PANEL_DB_NAME}
- POSTGRESQL_CLIENT_CREATE_DATABASE_EXTENSIONS=${POSTGRESQL_CLIENT_CREATE_DATABASE_EXTENSIONS}
labels:
createdBy: "Apps"
discourse-sidekiq:
image: "bitnami/discourse:3.2.2"
container_name: ${CONTAINER_NAME}-sidekiq
restart: always
networks:
- 1panel-network
volumes:
- ./data/sidekiq:/bitnami/discourse
command: /opt/bitnami/scripts/discourse-sidekiq/run.sh
environment:
- DISCOURSE_DATA_TO_PERSIST=${DISCOURSE_DATA_TO_PERSIST}
- DISCOURSE_ENABLE_HTTPS=${DISCOURSE_ENABLE_HTTPS}
- DISCOURSE_EXTERNAL_HTTP_PORT_NUMBER=${DISCOURSE_EXTERNAL_HTTP_PORT_NUMBER}
- DISCOURSE_EXTERNAL_HTTPS_PORT_NUMBER=${DISCOURSE_EXTERNAL_HTTPS_PORT_NUMBER}
- DISCOURSE_HOST=${DISCOURSE_HOST}
- DISCOURSE_PORT_NUMBER=${DISCOURSE_PORT_NUMBER}
- DISCOURSE_SKIP_BOOTSTRAP=${DISCOURSE_SKIP_BOOTSTRAP}
- DISCOURSE_SITE_NAME=${DISCOURSE_SITE_NAME}
- DISCOURSE_ENV=${DISCOURSE_ENV}
- DISCOURSE_PRECOMPILE_ASSETS=${DISCOURSE_PRECOMPILE_ASSETS}
- DISCOURSE_ENABLE_CONF_PERSISTENCE=${DISCOURSE_ENABLE_CONF_PERSISTENCE}
- DISCOURSE_EXTRA_CONF_CONTENT=${DISCOURSE_EXTRA_CONF_CONTENT}
- DISCOURSE_PASSENGER_SPAWN_METHOD=${DISCOURSE_PASSENGER_SPAWN_METHOD}
- DISCOURSE_PASSENGER_EXTRA_FLAGS=${DISCOURSE_PASSENGER_EXTRA_FLAGS}
- DISCOURSE_USERNAME=${DISCOURSE_USERNAME}
- DISCOURSE_PASSWORD=${DISCOURSE_PASSWORD}
- DISCOURSE_EMAIL=${DISCOURSE_EMAIL}
- DISCOURSE_FIRST_NAME=${DISCOURSE_FIRST_NAME}
- DISCOURSE_LAST_NAME=${DISCOURSE_LAST_NAME}
- DISCOURSE_SMTP_HOST=${DISCOURSE_SMTP_HOST}
- DISCOURSE_SMTP_PORT_NUMBER=${DISCOURSE_SMTP_PORT_NUMBER}
- DISCOURSE_SMTP_USER=${DISCOURSE_SMTP_USER}
- DISCOURSE_SMTP_PASSWORD=${DISCOURSE_SMTP_PASSWORD}
- DISCOURSE_SMTP_PROTOCOL=${DISCOURSE_SMTP_PROTOCOL}
- DISCOURSE_SMTP_AUTH=${DISCOURSE_SMTP_AUTH}
- DISCOURSE_SMTP_OPEN_TIMEOUT=${DISCOURSE_SMTP_OPEN_TIMEOUT}
- DISCOURSE_SMTP_READ_TIMEOUT=${DISCOURSE_SMTP_READ_TIMEOUT}
- DISCOURSE_DATABASE_HOST=${PANEL_DB_HOST}
- DISCOURSE_DATABASE_PORT_NUMBER=${PANEL_DB_PORT}
- DISCOURSE_DATABASE_NAME=${PANEL_DB_NAME}
- DISCOURSE_DATABASE_USER=${PANEL_DB_USER}
- DISCOURSE_DATABASE_PASSWORD=${PANEL_DB_USER_PASSWORD}
- DISCOURSE_DB_BACKUP_HOST=${PANEL_DB_HOST}
- DISCOURSE_DB_BACKUP_PORT=${PANEL_DB_PORT}
- DISCOURSE_REDIS_HOST=${REDIS_HOST}
- DISCOURSE_REDIS_PORT_NUMBER=${REDIS_PORT}
- DISCOURSE_REDIS_PASSWORD=${PANEL_REDIS_ROOT_PASSWORD}
- DISCOURSE_REDIS_USE_SSL=${DISCOURSE_REDIS_USE_SSL}
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true

5
apps/discourse/README.md Normal file
View File

@ -0,0 +1,5 @@
<a href="https://www.discourse.org/">
<img src="https://testingcf.jsdelivr.net/gh/discourse/discourse@main/images/discourse-readme-logo.png" width="300px">
</a>
Discourse 是您社区的在线家园。我们为那些想要完全控制其网站运行方式和位置的用户提供 100% 开源社区平台。

19
apps/discourse/data.yml Normal file
View File

@ -0,0 +1,19 @@
name: Discourse
tags:
- 建站
title: 开源讨论平台
description: 开源讨论平台
additionalProperties:
key: discourse
name: Discourse
tags:
- WebSite
shortDescZh: 开源讨论平台
shortDescEn: Open-source discussion platform
type: website
crossVersionUpdate: true
limit: 0
recommend: 0
website: https://www.discourse.org
github: https://github.com/discourse/discourse
document: https://docs.discourse.org

BIN
apps/discourse/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB