diff --git a/apps/discourse/3.2.2/data.yml b/apps/discourse/3.2.2/data.yml new file mode 100644 index 00000000..d114e3d1 --- /dev/null +++ b/apps/discourse/3.2.2/data.yml @@ -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 diff --git a/apps/discourse/3.2.2/docker-compose.yml b/apps/discourse/3.2.2/docker-compose.yml new file mode 100644 index 00000000..c5b226a0 --- /dev/null +++ b/apps/discourse/3.2.2/docker-compose.yml @@ -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 diff --git a/apps/discourse/README.md b/apps/discourse/README.md new file mode 100644 index 00000000..1aa16677 --- /dev/null +++ b/apps/discourse/README.md @@ -0,0 +1,5 @@ + + + + +Discourse 是您社区的在线家园。我们为那些想要完全控制其网站运行方式和位置的用户提供 100% 开源社区平台。 \ No newline at end of file diff --git a/apps/discourse/data.yml b/apps/discourse/data.yml new file mode 100644 index 00000000..e062eaba --- /dev/null +++ b/apps/discourse/data.yml @@ -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 diff --git a/apps/discourse/logo.png b/apps/discourse/logo.png new file mode 100644 index 00000000..0596417f Binary files /dev/null and b/apps/discourse/logo.png differ