From 6fe65b7ddfe5a7e951a5363f4934332d6a38b59a Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Mon, 4 May 2026 08:33:15 +0000 Subject: [PATCH] Processed apps directory via GitHub Actions --- appstore/outline/{1.7.0 => 1.7.1}/.env | 0 appstore/outline/{1.7.0 => 1.7.1}/data.yml | 0 .../{1.7.0 => 1.7.1}/docker-compose.yml | 2 +- .../outline/{1.7.0 => 1.7.1}/envs/default.env | 0 .../outline/{1.7.0 => 1.7.1}/envs/global.env | 0 .../outline/{1.7.0 => 1.7.1}/envs/outline.env | 0 .../outline/{1.7.0 => 1.7.1}/scripts/init.sh | 0 .../{1.7.0 => 1.7.1}/scripts/uninstall.sh | 0 .../{1.7.0 => 1.7.1}/scripts/upgrade.sh | 0 dockge/outline/.env | 70 +--- dockge/outline/docker-compose.yml | 5 +- dockge/outline/envs/outline.env | 374 ++++++++++-------- dockge/outline_1_2_0/.env | 108 +++++ .../docker-compose.yml | 5 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/outline_1_2_0/envs/outline.env | 224 +++++++++++ dockge/outline_1_7_0/.env | 54 --- dockge/outline_1_7_0/envs/outline.env | 264 ------------- 19 files changed, 553 insertions(+), 553 deletions(-) rename appstore/outline/{1.7.0 => 1.7.1}/.env (100%) rename appstore/outline/{1.7.0 => 1.7.1}/data.yml (100%) rename appstore/outline/{1.7.0 => 1.7.1}/docker-compose.yml (94%) rename appstore/outline/{1.7.0 => 1.7.1}/envs/default.env (100%) rename appstore/outline/{1.7.0 => 1.7.1}/envs/global.env (100%) rename appstore/outline/{1.7.0 => 1.7.1}/envs/outline.env (100%) rename appstore/outline/{1.7.0 => 1.7.1}/scripts/init.sh (100%) rename appstore/outline/{1.7.0 => 1.7.1}/scripts/uninstall.sh (100%) rename appstore/outline/{1.7.0 => 1.7.1}/scripts/upgrade.sh (100%) create mode 100644 dockge/outline_1_2_0/.env rename dockge/{outline_1_7_0 => outline_1_2_0}/docker-compose.yml (79%) rename dockge/{outline_1_7_0 => outline_1_2_0}/envs/default.env (100%) rename dockge/{outline_1_7_0 => outline_1_2_0}/envs/global.env (100%) create mode 100644 dockge/outline_1_2_0/envs/outline.env delete mode 100644 dockge/outline_1_7_0/.env delete mode 100644 dockge/outline_1_7_0/envs/outline.env diff --git a/appstore/outline/1.7.0/.env b/appstore/outline/1.7.1/.env similarity index 100% rename from appstore/outline/1.7.0/.env rename to appstore/outline/1.7.1/.env diff --git a/appstore/outline/1.7.0/data.yml b/appstore/outline/1.7.1/data.yml similarity index 100% rename from appstore/outline/1.7.0/data.yml rename to appstore/outline/1.7.1/data.yml diff --git a/appstore/outline/1.7.0/docker-compose.yml b/appstore/outline/1.7.1/docker-compose.yml similarity index 94% rename from appstore/outline/1.7.0/docker-compose.yml rename to appstore/outline/1.7.1/docker-compose.yml index c247c1453..8df56eb92 100644 --- a/appstore/outline/1.7.0/docker-compose.yml +++ b/appstore/outline/1.7.1/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTPS_PROXY=${HTTP_PROXY} - NO_PROXY=${NO_PROXY} - DATABASE_URL=postgres://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: outlinewiki/outline:1.7.0 + image: outlinewiki/outline:1.7.1 labels: createdBy: Apps networks: diff --git a/appstore/outline/1.7.0/envs/default.env b/appstore/outline/1.7.1/envs/default.env similarity index 100% rename from appstore/outline/1.7.0/envs/default.env rename to appstore/outline/1.7.1/envs/default.env diff --git a/appstore/outline/1.7.0/envs/global.env b/appstore/outline/1.7.1/envs/global.env similarity index 100% rename from appstore/outline/1.7.0/envs/global.env rename to appstore/outline/1.7.1/envs/global.env diff --git a/appstore/outline/1.7.0/envs/outline.env b/appstore/outline/1.7.1/envs/outline.env similarity index 100% rename from appstore/outline/1.7.0/envs/outline.env rename to appstore/outline/1.7.1/envs/outline.env diff --git a/appstore/outline/1.7.0/scripts/init.sh b/appstore/outline/1.7.1/scripts/init.sh similarity index 100% rename from appstore/outline/1.7.0/scripts/init.sh rename to appstore/outline/1.7.1/scripts/init.sh diff --git a/appstore/outline/1.7.0/scripts/uninstall.sh b/appstore/outline/1.7.1/scripts/uninstall.sh similarity index 100% rename from appstore/outline/1.7.0/scripts/uninstall.sh rename to appstore/outline/1.7.1/scripts/uninstall.sh diff --git a/appstore/outline/1.7.0/scripts/upgrade.sh b/appstore/outline/1.7.1/scripts/upgrade.sh similarity index 100% rename from appstore/outline/1.7.0/scripts/upgrade.sh rename to appstore/outline/1.7.1/scripts/upgrade.sh diff --git a/dockge/outline/.env b/dockge/outline/.env index b19151eb8..2e9c1dd49 100644 --- a/dockge/outline/.env +++ b/dockge/outline/.env @@ -11,23 +11,14 @@ OUTLINE_ROOT_PATH=/home/outline PANEL_APP_PORT_HTTP=3000 # 加密密钥 [必填] -SECRET_KEY=fbad4f5da794acbc10f060cdfcf8673300f3302d87f076d7f6e781d4840e9c3d +SECRET_KEY= # 工具密钥 [必填] -UTILS_SECRET=b2be1c54acbfe6d965bda01e63195cc815e4743a6fb5ba5f82eae916d98989b5 +UTILS_SECRET= # 域名 [必填] URL=http://127.0.0.1:3000 -# CDN 域名 -CDN_URL= - -# iFramely 地址 [必填] -IFRAMELY_URL=https://iframe.ly/api/iframely - -# iFramely 密钥 -IFRAMELY_API_KEY= - # 数据库 主机地址 [必填] DB_HOSTNAME=127.0.0.1 @@ -52,57 +43,12 @@ SLACK_CLIENT_ID= # Slack 客户端密钥 (鉴权) SLACK_CLIENT_SECRET= -# Google 客户端 ID (鉴权) -GOOGLE_CLIENT_ID= +# 强制使用 HTTPS [必填] +FORCE_HTTPS=false -# Google 客户端密钥 (鉴权) -GOOGLE_CLIENT_SECRET= +# HTTP 代理 +HTTP_PROXY= -# Discord 客户端 ID (鉴权) -DISCORD_CLIENT_ID= - -# Discord 客户端密钥 (鉴权) -DISCORD_CLIENT_SECRET= - -# Discord 服务端 ID (鉴权) -DISCORD_SERVER_ID= - -# Discord 服务端角色 (鉴权) -DISCORD_SERVER_ROLES= - -# SMTP 主机 -SMTP_HOST= - -# SMTP 端口 -SMTP_PORT=465 - -# SMTP 用户名 -SMTP_USERNAME= - -# SMTP 密码 -SMTP_PASSWORD= - -# SMTP 发件人 -SMTP_FROM_EMAIL= - -# Slack 验证令牌 (Slack 集成) -SLACK_VERIFICATION_TOKEN= - -# Slack 应用ID (Slack 集成) -SLACK_APP_ID= - -# GitHub 客户端 ID (GitHub 集成) -GITHUB_CLIENT_ID= - -# GitHub 客户端密钥 (GitHub 集成) -GITHUB_CLIENT_SECRET= - -# GitHub 应用名称 (GitHub 集成) -GITHUB_APP_NAME= - -# GitHub 应用ID (GitHub 集成) -GITHUB_APP_ID= - -# GitHub 应用私钥 (GitHub 集成) -GITHUB_APP_PRIVATE_KEY= +# 忽略代理 +NO_PROXY=localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,*.local diff --git a/dockge/outline/docker-compose.yml b/dockge/outline/docker-compose.yml index 3a643b7d6..8df56eb92 100644 --- a/dockge/outline/docker-compose.yml +++ b/dockge/outline/docker-compose.yml @@ -9,8 +9,11 @@ services: - ./envs/outline.env - .env environment: + - HTTP_PROXY=${HTTP_PROXY} + - HTTPS_PROXY=${HTTP_PROXY} + - NO_PROXY=${NO_PROXY} - DATABASE_URL=postgres://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: outlinewiki/outline:1.2.0 + image: outlinewiki/outline:1.7.1 labels: createdBy: Apps networks: diff --git a/dockge/outline/envs/outline.env b/dockge/outline/envs/outline.env index 1e366c08f..f247c73fb 100644 --- a/dockge/outline/envs/outline.env +++ b/dockge/outline/envs/outline.env @@ -1,104 +1,156 @@ -# –––––––––––––––– REQUIRED –––––––––––––––– - NODE_ENV=production -# Generate a hex-encoded 32-byte random key. You should use `openssl rand -hex 32` -# in your terminal to generate a random value. -SECRET_KEY=generate_a_new_key +# 访问地址 +URL= -# Generate a unique random key. The format is not important but you could still use -# `openssl rand -hex 32` in your terminal to produce this. -UTILS_SECRET=generate_a_new_key - -# For production point these at your databases, in development the default -# should work out of the box. -DATABASE_URL=postgres://user:pass@localhost:5432/outline -DATABASE_CONNECTION_POOL_MIN= -DATABASE_CONNECTION_POOL_MAX= -# Uncomment this to disable SSL for connecting to Postgres -PGSSLMODE=disable - -# For redis you can either specify an ioredis compatible url like this -REDIS_URL=redis://localhost:6379 -# or alternatively, if you would like to provide additional connection options, -# use a base64 encoded JSON connection option object. Refer to the ioredis documentation -# for a list of available options. -# Example: Use Redis Sentinel for high availability -# {"sentinels":[{"host":"sentinel-0","port":26379},{"host":"sentinel-1","port":26379}],"name":"mymaster"} -# REDIS_URL=ioredis://eyJzZW50aW5lbHMiOlt7Imhvc3QiOiJzZW50aW5lbC0wIiwicG9ydCI6MjYzNzl9LHsiaG9zdCI6InNlbnRpbmVsLTEiLCJwb3J0IjoyNjM3OX1dLCJuYW1lIjoibXltYXN0ZXIifQ== - -# URL should point to the fully qualified, publicly accessible URL. If using a -# proxy the port in URL and PORT may be different. -URL=http://127.0.0.1:3000 +# 服务端口 PORT=3000 -# See [documentation](docs/SERVICES.md) on running a separate collaboration -# server, for normal operation this does not need to be set. +# 运行一个独立的协作服务 COLLABORATION_URL= -# Specify what storage system to use. Possible value is one of "s3" or "local". -# For "local", the avatar images and document attachments will be saved on local disk. +# CDN 分发服务 +CDN_URL= + +# 启动多少个 Web 进程 +WEB_CONCURRENCY=1 + +# 生成一个 32 字节的随机密钥(十六进制编码)。 +# 可在终端中使用命令:`openssl rand -hex 32` +# SECRET_KEY= + +# 生成一个唯一的随机密钥。 +# 格式并不重要,但同样可以使用:`openssl rand -hex 32` +# UTILS_SECRET= + +# 默认界面语言。 +# 可用语言代码及其大致翻译完成度请参考:https://translate.getoutline.com +DEFAULT_LANGUAGE=zh_CN + + +# –––––––––––––––––––––––––––––––––––––– +# ––––––––––––– 数据库(DATABASE) ––––––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# 生产环境数据库连接地址, +# 需包含用户名、密码、主机、端口以及数据库名。 +# DATABASE_URL=postgres://user:pass@postgres:5432/outline + +# 每个进程的数据库连接池(内存中)配置。 +# 请确保连接池大小不会超过数据库允许的最大连接数。 +# 默认最小值为 0,最大值为 5。 +DATABASE_CONNECTION_POOL_MIN=0 +DATABASE_CONNECTION_POOL_MAX=5 + +# 如果你不打算使用 SSL 连接 Postgres,请取消注释此行。 +# 当数据库与应用部署在同一台机器上时,这是可以接受的。 +PGSSLMODE=disable + + +# –––––––––––––––––––––––––––––––––––––– +# –––––––––––––– Redis ––––––––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# Redis 连接地址。 +# 可以是 ioredis 兼容的 URL,或者 Base64 编码后的配置对象。 +# 文档:https://docs.getoutline.com/s/hosting/doc/redis-LGM4BFXYp4 +# REDIS_URL=redis://redis:6379 + +# 若要启用协作服务的横向扩展(多实例),必须提供 Redis 地址。 +# 可以与上面的 REDIS_URL 相同,也可以使用不同的 Redis 服务。 +# 文档:https://docs.getoutline.com/s/hosting/doc/horizontal-scaling-hkfU5Stao7 +# REDIS_COLLABORATION_URL= + + +# –––––––––––––––––––––––––––––––––––––– +# ––––––––––– 文件存储(FILE STORAGE) ––––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# 指定使用的存储系统。 +# 可选值:"s3" 或 "local"。 +# - local:图片和文档附件存储在本地磁盘 +# - s3:存储在兼容 S3 的对象存储服务中 +# 文档:https://docs.getoutline.com/s/hosting/doc/file-storage-N4M0T6Ypu7 FILE_STORAGE=local -# If "local" is configured for FILE_STORAGE above, then this sets the parent directory under -# which all attachments/images go. Make sure that the process has permissions to create -# this path and also to write files to it. +# 当 FILE_STORAGE=local 时, +# 此路径为所有附件 / 图片的父目录。 +# 请确保进程有权限创建该目录并写入文件。 FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data -# Maximum allowed size for the uploaded attachment. +# 单个附件允许上传的最大大小(字节)。 FILE_STORAGE_UPLOAD_MAX_SIZE=262144000 -# Override the maximum size of document imports, generally this should be lower -# than the document attachment maximum size. +# 覆盖“文档导入”的最大文件大小, +# 通常应小于普通文档附件的最大限制。 FILE_STORAGE_IMPORT_MAX_SIZE= -# Override the maximum size of workspace imports, these can be especially large -# and the files are temporary being automatically deleted after a period of time. +# 覆盖“工作区导入”的最大文件大小。 +# 该类文件通常非常大,并且是临时文件, +# 在一段时间后会被自动删除。 FILE_STORAGE_WORKSPACE_IMPORT_MAX_SIZE= -# To support uploading of images for avatars and document attachments in a distributed -# architecture an s3-compatible storage can be configured if FILE_STORAGE=s3 above. -AWS_ACCESS_KEY_ID=get_a_key_from_aws -AWS_SECRET_ACCESS_KEY=get_the_secret_of_above_key -AWS_REGION=xx-xxxx-x -AWS_S3_ACCELERATE_URL= -AWS_S3_UPLOAD_BUCKET_URL=http://s3:4569 -AWS_S3_UPLOAD_BUCKET_NAME=bucket_name_here -AWS_S3_FORCE_PATH_STYLE=true -AWS_S3_ACL=private +# 若要在分布式架构中支持头像图片和文档附件上传, +# 当 FILE_STORAGE=s3 时,可配置兼容 S3 的对象存储。 +# AWS_ACCESS_KEY_ID=get_a_key_from_aws +# AWS_SECRET_ACCESS_KEY=get_the_secret_of_above_key +# AWS_REGION=xx-xxxx-x +# AWS_S3_ACCELERATE_URL= +# AWS_S3_UPLOAD_BUCKET_URL=http://s3:4569 +# AWS_S3_UPLOAD_BUCKET_NAME=bucket_name_here +# AWS_S3_FORCE_PATH_STYLE=true +# AWS_S3_ACL=private -# –––––––––––––– AUTHENTICATION –––––––––––––– -# Third party signin credentials, at least ONE OF EITHER Google, Slack, -# or Microsoft is required for a working installation or you'll have no sign-in -# options. +# –––––––––––––––––––––––––––––––––––––– +# –––––––––––––––– SSL ––––––––––––––– +# –––––––––––––––––––––––––––––––––––––– -# To configure Slack auth, you'll need to create an Application at -# => https://api.slack.com/apps -# -# When configuring the Client ID, add a redirect URL under "OAuth & Permissions": -# https:///auth/slack.callback -SLACK_CLIENT_ID=get_a_key_from_slack -SLACK_CLIENT_SECRET=get_the_secret_of_above_key +# HTTPS 终止所需的私钥和证书(Base64 编码)。 +# 这是三种 SSL 配置方式之一,可以留空。 +# 文档:https://docs.getoutline.com/s/hosting/doc/ssl-pzk7WO8d1n +SSL_KEY= +SSL_CERT= -# To configure Google auth, you'll need to create an OAuth Client ID at -# => https://console.cloud.google.com/apis/credentials -# -# When configuring the Client ID, add an Authorized redirect URI: -# https:///auth/google.callback +# 在生产环境中是否强制跳转到 HTTPS。 +# 默认值为 true; +# 如果你确定 SSL 已由外部负载均衡器终止,可以设置为 false。 +# FORCE_HTTPS=true + + +# –––––––––––––––––––––––––––––––––––––– +# –––––––––– 认证(AUTHENTICATION) –––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# 第三方登录配置。 +# 至少需要配置以下之一:Google、Slack、Discord 或 Microsoft, +# 否则系统将没有任何登录方式。 + +# Slack 登录 +# 文档:https://docs.getoutline.com/s/hosting/doc/slack-sgMujR8J9J +SLACK_CLIENT_ID= +SLACK_CLIENT_SECRET= + +# Google 登录 +# 文档:https://docs.getoutline.com/s/hosting/doc/google-hOuvtCmTqQ GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= -# To configure Microsoft/Azure auth, you'll need to create an OAuth Client. See -# the guide for details on setting up your Azure App: -# => https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4 +# Microsoft Entra / Azure AD 登录 +# 文档:https://docs.getoutline.com/s/hosting/doc/microsoft-entra-UVz6jsIOcv AZURE_CLIENT_ID= AZURE_CLIENT_SECRET= AZURE_RESOURCE_APP_ID= -# To configure generic OIDC auth, you'll need some kind of identity provider. -# See documentation for whichever IdP you use to acquire the following info: -# Redirect URI is https:///auth/oidc.callback +# Discord 登录 +# 文档:https://docs.getoutline.com/s/hosting/doc/discord-g4JdWFFub6 +DISCORD_CLIENT_ID= +DISCORD_CLIENT_SECRET= +DISCORD_SERVER_ID= +DISCORD_SERVER_ROLES= + +# 通用 OIDC(OpenID Connect)提供方 +# 文档:https://docs.getoutline.com/s/hosting/doc/oidc-8CPBm6uC0I OIDC_CLIENT_ID= OIDC_CLIENT_SECRET= OIDC_AUTH_URI= @@ -106,119 +158,107 @@ OIDC_TOKEN_URI= OIDC_USERINFO_URI= OIDC_LOGOUT_URI= -# Specify which claims to derive user information from -# Supports any valid JSON path with the JWT payload +# 指定用于派生用户信息的声明(claim)。 +# 支持任何 JWT payload 中的合法 JSON Path。 OIDC_USERNAME_CLAIM=preferred_username -# Display name for OIDC authentication +# OIDC 登录方式在界面上显示的名称 OIDC_DISPLAY_NAME=OpenID Connect -# Space separated auth scopes. +# OIDC 授权作用域(以空格分隔) OIDC_SCOPES=openid profile email -# To configure the GitHub integration, you'll need to create a GitHub App at -# => https://github.com/settings/apps -# -# When configuring the Client ID, add a redirect URL under "Permissions & events": -# https:///api/github.callback + +# –––––––––––––––––––––––––––––––––––––– +# –––––––––––––– 邮件(EMAIL) ––––––––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# 若要发送诸如“文档更新通知”或“邮箱登录”等事务性邮件, +# 需要配置一个 SMTP 服务器。 +# 可使用以下列表中的任意服务: +# https://community.nodemailer.com/2-0-0-beta/setup-smtp/well-known-services/ +# 文档:https://docs.getoutline.com/s/hosting/doc/smtp-cqCJyZGMIB +SMTP_SERVICE= +SMTP_USERNAME= +SMTP_PASSWORD= +SMTP_FROM_EMAIL= + + +# –––––––––––––––––––––––––––––––––––––– +# –––––––––– 限流器(RATE LIMITER) –––––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# 是否启用限流器 +RATE_LIMITER_ENABLED=true + +# 各个接口本身有硬编码的限流规则(在启用上项后生效), +# 以下是一个全局限流器配置,作用于所有请求。 +RATE_LIMITER_REQUESTS=1000 +RATE_LIMITER_DURATION_WINDOW=60 + + +# –––––––––––––––––––––––––––––––––––––– +# ––––––––––– 集成(INTEGRATIONS) ––––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# GitHub 集成,用于预览 Issue 和 Pull Request 链接 +# 文档:https://docs.getoutline.com/s/hosting/doc/github-GchT3NNxI9 GITHUB_CLIENT_ID= GITHUB_CLIENT_SECRET= +GITHUB_WEBHOOK_SECRET= GITHUB_APP_NAME= GITHUB_APP_ID= GITHUB_APP_PRIVATE_KEY= -# To configure Discord auth, you'll need to create a Discord Application at -# => https://discord.com/developers/applications/ -# -# When configuring the Client ID, add a redirect URL under "OAuth2": -# https:///auth/discord.callback -DISCORD_CLIENT_ID= -DISCORD_CLIENT_SECRET= +# Linear 集成,用于将 Issue 链接显示为富文本提及 +LINEAR_CLIENT_ID= +LINEAR_CLIENT_SECRET= -# DISCORD_SERVER_ID should be the ID of the Discord server that Outline is -# integrated with. -# Used to verify that the user is a member of the server as well as server -# metadata such as nicknames, server icon and name. -DISCORD_SERVER_ID= - -# DISCORD_SERVER_ROLES should be a comma separated list of role IDs that are -# allowed to access Outline. If this is not set, all members of the server -# will be allowed to access Outline. -# DISCORD_SERVER_ID and DISCORD_SERVER_ROLES must be set together. -DISCORD_SERVER_ROLES= - -# –––––––––––––––– OPTIONAL –––––––––––––––– - -# Base64 encoded private key and certificate for HTTPS termination. This is only -# required if you do not use an external reverse proxy. See documentation: -# https://wiki.generaloutline.com/share/1c922644-40d8-41fe-98f9-df2b67239d45 -SSL_KEY= -SSL_CERT= - -# If using a Cloudfront/Cloudflare distribution or similar it can be set below. -# This will cause paths to javascript, stylesheets, and images to be updated to -# the hostname defined in CDN_URL. In your CDN configuration the origin server -# should be set to the same as URL. -CDN_URL= - -# Auto-redirect to https in production. The default is true but you may set to -# false if you can be sure that SSL is terminated at an external loadbalancer. -FORCE_HTTPS=false - -# Have the installation check for updates by sending anonymized statistics to -# the maintainers -ENABLE_UPDATES=true - -# How many processes should be spawned. As a reasonable rule divide your servers -# available memory by 512 for a rough estimate -WEB_CONCURRENCY=1 - -# You can remove this line if your reverse proxy already logs incoming http -# requests and this ends up being duplicative -DEBUG=http - -# Configure lowest severity level for server logs. Should be one of -# error, warn, info, http, verbose, debug and silly -LOG_LEVEL=info - -# For a complete Slack integration with search and posting to channels the -# following configs are also needed, some more details -# => https://wiki.generaloutline.com/share/be25efd1-b3ef-4450-b8e5-c4a4fc11e02a -# -SLACK_VERIFICATION_TOKEN=your_token -SLACK_APP_ID=A0XXXXXXX +# 若要实现完整的 Slack 集成(搜索、向频道发送消息), +# 除 Slack 登录外,还需要以下配置: +# 文档:https://docs.getoutline.com/s/hosting/doc/slack-G2mc8DOJHk +SLACK_VERIFICATION_TOKEN= +SLACK_APP_ID= SLACK_MESSAGE_ACTIONS=true -# Optionally enable Sentry (sentry.io) to track errors and performance, -# and optionally add a Sentry proxy tunnel for bypassing ad blockers in the UI: -# https://docs.sentry.io/platforms/javascript/troubleshooting/#using-the-tunnel-option) +# Figma 集成,用于将设计文件显示为富文本预览 +FIGMA_CLIENT_ID= +FIGMA_CLIENT_SECRET= + +# Dropbox 集成。 +# 按以下说明获取 key:https://www.dropbox.com/developers/embedder#setup +# 并记得在应用设置中将你的域名加入白名单。 +DROPBOX_APP_KEY= + +# 可选:启用 Sentry(sentry.io)用于错误和性能监控 +# 文档:https://docs.getoutline.com/s/hosting/doc/sentry-jxcFttcDl5 SENTRY_DSN= SENTRY_TUNNEL= -# To support sending outgoing transactional emails such as "document updated" or -# "you've been invited" you'll need to provide authentication for an SMTP server -SMTP_HOST= -SMTP_PORT= -SMTP_USERNAME= -SMTP_PASSWORD= -SMTP_FROM_EMAIL= -SMTP_REPLY_EMAIL= -SMTP_TLS_CIPHERS= -SMTP_SECURE=true +# 启用从 Notion 工作区导入页面 +# 文档:https://docs.getoutline.com/s/hosting/doc/notion-2v6g7WY3l3 +NOTION_CLIENT_ID= +NOTION_CLIENT_SECRET= -# The default interface language. See translate.getoutline.com for a list of -# available language codes and their rough percentage translated. -DEFAULT_LANGUAGE=zh_CN +# Iframely 集成,允许在 Outline 中预览第三方内容。 +# 例如:鼠标悬停在外部链接上时显示预览。 +# 文档:https://docs.getoutline.com/s/hosting/doc/iframely-HwLF1EZ9mo +IFRAMELY_URL= +IFRAMELY_API_KEY= -# Optionally enable rate limiter at application web server -RATE_LIMITER_ENABLED=true -# Configure default throttling parameters for rate limiter -RATE_LIMITER_REQUESTS=1000 -RATE_LIMITER_DURATION_WINDOW=60 +# –––––––––––––––––––––––––––––––––––––– +# ––––––––––––– 调试(DEBUGGING) –––––––––––– +# –––––––––––––––––––––––––––––––––––––– -# Iframely API config -# https://iframe.ly/api/oembed -# https://iframe.ly/api/iframely -IFRAMELY_URL=https://iframe.ly/api/iframely -# IFRAMELY_API_KEY= +# 是否通过发送匿名统计信息来检查更新 +ENABLE_UPDATES=false + +# 启用的调试分类。 +# 如果你的代理已经记录了 HTTP 请求日志, +# 可移除默认的 "http",以避免重复日志。 +DEBUG=http + +# 服务器日志的最低级别,可选值: +# error, warn, info, http, verbose, debug, silly +LOG_LEVEL=info diff --git a/dockge/outline_1_2_0/.env b/dockge/outline_1_2_0/.env new file mode 100644 index 000000000..b19151eb8 --- /dev/null +++ b/dockge/outline_1_2_0/.env @@ -0,0 +1,108 @@ +# Redis 服务 (前置检查) [必填] +PANEL_REDIS_TYPE=redis + +# Postgres 服务 (前置检查) [必填] +PANEL_POSTGRES_TYPE=postgresql + +# 数据持久化路径 [必填] +OUTLINE_ROOT_PATH=/home/outline + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=3000 + +# 加密密钥 [必填] +SECRET_KEY=fbad4f5da794acbc10f060cdfcf8673300f3302d87f076d7f6e781d4840e9c3d + +# 工具密钥 [必填] +UTILS_SECRET=b2be1c54acbfe6d965bda01e63195cc815e4743a6fb5ba5f82eae916d98989b5 + +# 域名 [必填] +URL=http://127.0.0.1:3000 + +# CDN 域名 +CDN_URL= + +# iFramely 地址 [必填] +IFRAMELY_URL=https://iframe.ly/api/iframely + +# iFramely 密钥 +IFRAMELY_API_KEY= + +# 数据库 主机地址 [必填] +DB_HOSTNAME=127.0.0.1 + +# 数据库 端口 [必填] +DB_PORT=5432 + +# 数据库 用户名 [必填] +DB_USERNAME=outline + +# 数据库 密码 [必填] +DB_PASSWORD= + +# 数据库 名称 [必填] +DB_DATABASE_NAME=outline + +# Redis 链接 [必填] +REDIS_URL=redis://localhost:6379 + +# Slack 客户端 ID (鉴权) +SLACK_CLIENT_ID= + +# Slack 客户端密钥 (鉴权) +SLACK_CLIENT_SECRET= + +# Google 客户端 ID (鉴权) +GOOGLE_CLIENT_ID= + +# Google 客户端密钥 (鉴权) +GOOGLE_CLIENT_SECRET= + +# Discord 客户端 ID (鉴权) +DISCORD_CLIENT_ID= + +# Discord 客户端密钥 (鉴权) +DISCORD_CLIENT_SECRET= + +# Discord 服务端 ID (鉴权) +DISCORD_SERVER_ID= + +# Discord 服务端角色 (鉴权) +DISCORD_SERVER_ROLES= + +# SMTP 主机 +SMTP_HOST= + +# SMTP 端口 +SMTP_PORT=465 + +# SMTP 用户名 +SMTP_USERNAME= + +# SMTP 密码 +SMTP_PASSWORD= + +# SMTP 发件人 +SMTP_FROM_EMAIL= + +# Slack 验证令牌 (Slack 集成) +SLACK_VERIFICATION_TOKEN= + +# Slack 应用ID (Slack 集成) +SLACK_APP_ID= + +# GitHub 客户端 ID (GitHub 集成) +GITHUB_CLIENT_ID= + +# GitHub 客户端密钥 (GitHub 集成) +GITHUB_CLIENT_SECRET= + +# GitHub 应用名称 (GitHub 集成) +GITHUB_APP_NAME= + +# GitHub 应用ID (GitHub 集成) +GITHUB_APP_ID= + +# GitHub 应用私钥 (GitHub 集成) +GITHUB_APP_PRIVATE_KEY= + diff --git a/dockge/outline_1_7_0/docker-compose.yml b/dockge/outline_1_2_0/docker-compose.yml similarity index 79% rename from dockge/outline_1_7_0/docker-compose.yml rename to dockge/outline_1_2_0/docker-compose.yml index c247c1453..3a643b7d6 100644 --- a/dockge/outline_1_7_0/docker-compose.yml +++ b/dockge/outline_1_2_0/docker-compose.yml @@ -9,11 +9,8 @@ services: - ./envs/outline.env - .env environment: - - HTTP_PROXY=${HTTP_PROXY} - - HTTPS_PROXY=${HTTP_PROXY} - - NO_PROXY=${NO_PROXY} - DATABASE_URL=postgres://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: outlinewiki/outline:1.7.0 + image: outlinewiki/outline:1.2.0 labels: createdBy: Apps networks: diff --git a/dockge/outline_1_7_0/envs/default.env b/dockge/outline_1_2_0/envs/default.env similarity index 100% rename from dockge/outline_1_7_0/envs/default.env rename to dockge/outline_1_2_0/envs/default.env diff --git a/dockge/outline_1_7_0/envs/global.env b/dockge/outline_1_2_0/envs/global.env similarity index 100% rename from dockge/outline_1_7_0/envs/global.env rename to dockge/outline_1_2_0/envs/global.env diff --git a/dockge/outline_1_2_0/envs/outline.env b/dockge/outline_1_2_0/envs/outline.env new file mode 100644 index 000000000..1e366c08f --- /dev/null +++ b/dockge/outline_1_2_0/envs/outline.env @@ -0,0 +1,224 @@ +# –––––––––––––––– REQUIRED –––––––––––––––– + +NODE_ENV=production + +# Generate a hex-encoded 32-byte random key. You should use `openssl rand -hex 32` +# in your terminal to generate a random value. +SECRET_KEY=generate_a_new_key + +# Generate a unique random key. The format is not important but you could still use +# `openssl rand -hex 32` in your terminal to produce this. +UTILS_SECRET=generate_a_new_key + +# For production point these at your databases, in development the default +# should work out of the box. +DATABASE_URL=postgres://user:pass@localhost:5432/outline +DATABASE_CONNECTION_POOL_MIN= +DATABASE_CONNECTION_POOL_MAX= +# Uncomment this to disable SSL for connecting to Postgres +PGSSLMODE=disable + +# For redis you can either specify an ioredis compatible url like this +REDIS_URL=redis://localhost:6379 +# or alternatively, if you would like to provide additional connection options, +# use a base64 encoded JSON connection option object. Refer to the ioredis documentation +# for a list of available options. +# Example: Use Redis Sentinel for high availability +# {"sentinels":[{"host":"sentinel-0","port":26379},{"host":"sentinel-1","port":26379}],"name":"mymaster"} +# REDIS_URL=ioredis://eyJzZW50aW5lbHMiOlt7Imhvc3QiOiJzZW50aW5lbC0wIiwicG9ydCI6MjYzNzl9LHsiaG9zdCI6InNlbnRpbmVsLTEiLCJwb3J0IjoyNjM3OX1dLCJuYW1lIjoibXltYXN0ZXIifQ== + +# URL should point to the fully qualified, publicly accessible URL. If using a +# proxy the port in URL and PORT may be different. +URL=http://127.0.0.1:3000 +PORT=3000 + +# See [documentation](docs/SERVICES.md) on running a separate collaboration +# server, for normal operation this does not need to be set. +COLLABORATION_URL= + +# Specify what storage system to use. Possible value is one of "s3" or "local". +# For "local", the avatar images and document attachments will be saved on local disk. +FILE_STORAGE=local + +# If "local" is configured for FILE_STORAGE above, then this sets the parent directory under +# which all attachments/images go. Make sure that the process has permissions to create +# this path and also to write files to it. +FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data + +# Maximum allowed size for the uploaded attachment. +FILE_STORAGE_UPLOAD_MAX_SIZE=262144000 + +# Override the maximum size of document imports, generally this should be lower +# than the document attachment maximum size. +FILE_STORAGE_IMPORT_MAX_SIZE= + +# Override the maximum size of workspace imports, these can be especially large +# and the files are temporary being automatically deleted after a period of time. +FILE_STORAGE_WORKSPACE_IMPORT_MAX_SIZE= + +# To support uploading of images for avatars and document attachments in a distributed +# architecture an s3-compatible storage can be configured if FILE_STORAGE=s3 above. +AWS_ACCESS_KEY_ID=get_a_key_from_aws +AWS_SECRET_ACCESS_KEY=get_the_secret_of_above_key +AWS_REGION=xx-xxxx-x +AWS_S3_ACCELERATE_URL= +AWS_S3_UPLOAD_BUCKET_URL=http://s3:4569 +AWS_S3_UPLOAD_BUCKET_NAME=bucket_name_here +AWS_S3_FORCE_PATH_STYLE=true +AWS_S3_ACL=private + +# –––––––––––––– AUTHENTICATION –––––––––––––– + +# Third party signin credentials, at least ONE OF EITHER Google, Slack, +# or Microsoft is required for a working installation or you'll have no sign-in +# options. + +# To configure Slack auth, you'll need to create an Application at +# => https://api.slack.com/apps +# +# When configuring the Client ID, add a redirect URL under "OAuth & Permissions": +# https:///auth/slack.callback +SLACK_CLIENT_ID=get_a_key_from_slack +SLACK_CLIENT_SECRET=get_the_secret_of_above_key + +# To configure Google auth, you'll need to create an OAuth Client ID at +# => https://console.cloud.google.com/apis/credentials +# +# When configuring the Client ID, add an Authorized redirect URI: +# https:///auth/google.callback +GOOGLE_CLIENT_ID= +GOOGLE_CLIENT_SECRET= + +# To configure Microsoft/Azure auth, you'll need to create an OAuth Client. See +# the guide for details on setting up your Azure App: +# => https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4 +AZURE_CLIENT_ID= +AZURE_CLIENT_SECRET= +AZURE_RESOURCE_APP_ID= + +# To configure generic OIDC auth, you'll need some kind of identity provider. +# See documentation for whichever IdP you use to acquire the following info: +# Redirect URI is https:///auth/oidc.callback +OIDC_CLIENT_ID= +OIDC_CLIENT_SECRET= +OIDC_AUTH_URI= +OIDC_TOKEN_URI= +OIDC_USERINFO_URI= +OIDC_LOGOUT_URI= + +# Specify which claims to derive user information from +# Supports any valid JSON path with the JWT payload +OIDC_USERNAME_CLAIM=preferred_username + +# Display name for OIDC authentication +OIDC_DISPLAY_NAME=OpenID Connect + +# Space separated auth scopes. +OIDC_SCOPES=openid profile email + +# To configure the GitHub integration, you'll need to create a GitHub App at +# => https://github.com/settings/apps +# +# When configuring the Client ID, add a redirect URL under "Permissions & events": +# https:///api/github.callback +GITHUB_CLIENT_ID= +GITHUB_CLIENT_SECRET= +GITHUB_APP_NAME= +GITHUB_APP_ID= +GITHUB_APP_PRIVATE_KEY= + +# To configure Discord auth, you'll need to create a Discord Application at +# => https://discord.com/developers/applications/ +# +# When configuring the Client ID, add a redirect URL under "OAuth2": +# https:///auth/discord.callback +DISCORD_CLIENT_ID= +DISCORD_CLIENT_SECRET= + +# DISCORD_SERVER_ID should be the ID of the Discord server that Outline is +# integrated with. +# Used to verify that the user is a member of the server as well as server +# metadata such as nicknames, server icon and name. +DISCORD_SERVER_ID= + +# DISCORD_SERVER_ROLES should be a comma separated list of role IDs that are +# allowed to access Outline. If this is not set, all members of the server +# will be allowed to access Outline. +# DISCORD_SERVER_ID and DISCORD_SERVER_ROLES must be set together. +DISCORD_SERVER_ROLES= + +# –––––––––––––––– OPTIONAL –––––––––––––––– + +# Base64 encoded private key and certificate for HTTPS termination. This is only +# required if you do not use an external reverse proxy. See documentation: +# https://wiki.generaloutline.com/share/1c922644-40d8-41fe-98f9-df2b67239d45 +SSL_KEY= +SSL_CERT= + +# If using a Cloudfront/Cloudflare distribution or similar it can be set below. +# This will cause paths to javascript, stylesheets, and images to be updated to +# the hostname defined in CDN_URL. In your CDN configuration the origin server +# should be set to the same as URL. +CDN_URL= + +# Auto-redirect to https in production. The default is true but you may set to +# false if you can be sure that SSL is terminated at an external loadbalancer. +FORCE_HTTPS=false + +# Have the installation check for updates by sending anonymized statistics to +# the maintainers +ENABLE_UPDATES=true + +# How many processes should be spawned. As a reasonable rule divide your servers +# available memory by 512 for a rough estimate +WEB_CONCURRENCY=1 + +# You can remove this line if your reverse proxy already logs incoming http +# requests and this ends up being duplicative +DEBUG=http + +# Configure lowest severity level for server logs. Should be one of +# error, warn, info, http, verbose, debug and silly +LOG_LEVEL=info + +# For a complete Slack integration with search and posting to channels the +# following configs are also needed, some more details +# => https://wiki.generaloutline.com/share/be25efd1-b3ef-4450-b8e5-c4a4fc11e02a +# +SLACK_VERIFICATION_TOKEN=your_token +SLACK_APP_ID=A0XXXXXXX +SLACK_MESSAGE_ACTIONS=true + +# Optionally enable Sentry (sentry.io) to track errors and performance, +# and optionally add a Sentry proxy tunnel for bypassing ad blockers in the UI: +# https://docs.sentry.io/platforms/javascript/troubleshooting/#using-the-tunnel-option) +SENTRY_DSN= +SENTRY_TUNNEL= + +# To support sending outgoing transactional emails such as "document updated" or +# "you've been invited" you'll need to provide authentication for an SMTP server +SMTP_HOST= +SMTP_PORT= +SMTP_USERNAME= +SMTP_PASSWORD= +SMTP_FROM_EMAIL= +SMTP_REPLY_EMAIL= +SMTP_TLS_CIPHERS= +SMTP_SECURE=true + +# The default interface language. See translate.getoutline.com for a list of +# available language codes and their rough percentage translated. +DEFAULT_LANGUAGE=zh_CN + +# Optionally enable rate limiter at application web server +RATE_LIMITER_ENABLED=true + +# Configure default throttling parameters for rate limiter +RATE_LIMITER_REQUESTS=1000 +RATE_LIMITER_DURATION_WINDOW=60 + +# Iframely API config +# https://iframe.ly/api/oembed +# https://iframe.ly/api/iframely +IFRAMELY_URL=https://iframe.ly/api/iframely +# IFRAMELY_API_KEY= diff --git a/dockge/outline_1_7_0/.env b/dockge/outline_1_7_0/.env deleted file mode 100644 index 2e9c1dd49..000000000 --- a/dockge/outline_1_7_0/.env +++ /dev/null @@ -1,54 +0,0 @@ -# Redis 服务 (前置检查) [必填] -PANEL_REDIS_TYPE=redis - -# Postgres 服务 (前置检查) [必填] -PANEL_POSTGRES_TYPE=postgresql - -# 数据持久化路径 [必填] -OUTLINE_ROOT_PATH=/home/outline - -# WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=3000 - -# 加密密钥 [必填] -SECRET_KEY= - -# 工具密钥 [必填] -UTILS_SECRET= - -# 域名 [必填] -URL=http://127.0.0.1:3000 - -# 数据库 主机地址 [必填] -DB_HOSTNAME=127.0.0.1 - -# 数据库 端口 [必填] -DB_PORT=5432 - -# 数据库 用户名 [必填] -DB_USERNAME=outline - -# 数据库 密码 [必填] -DB_PASSWORD= - -# 数据库 名称 [必填] -DB_DATABASE_NAME=outline - -# Redis 链接 [必填] -REDIS_URL=redis://localhost:6379 - -# Slack 客户端 ID (鉴权) -SLACK_CLIENT_ID= - -# Slack 客户端密钥 (鉴权) -SLACK_CLIENT_SECRET= - -# 强制使用 HTTPS [必填] -FORCE_HTTPS=false - -# HTTP 代理 -HTTP_PROXY= - -# 忽略代理 -NO_PROXY=localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,*.local - diff --git a/dockge/outline_1_7_0/envs/outline.env b/dockge/outline_1_7_0/envs/outline.env deleted file mode 100644 index f247c73fb..000000000 --- a/dockge/outline_1_7_0/envs/outline.env +++ /dev/null @@ -1,264 +0,0 @@ -NODE_ENV=production - -# 访问地址 -URL= - -# 服务端口 -PORT=3000 - -# 运行一个独立的协作服务 -COLLABORATION_URL= - -# CDN 分发服务 -CDN_URL= - -# 启动多少个 Web 进程 -WEB_CONCURRENCY=1 - -# 生成一个 32 字节的随机密钥(十六进制编码)。 -# 可在终端中使用命令:`openssl rand -hex 32` -# SECRET_KEY= - -# 生成一个唯一的随机密钥。 -# 格式并不重要,但同样可以使用:`openssl rand -hex 32` -# UTILS_SECRET= - -# 默认界面语言。 -# 可用语言代码及其大致翻译完成度请参考:https://translate.getoutline.com -DEFAULT_LANGUAGE=zh_CN - - -# –––––––––––––––––––––––––––––––––––––– -# ––––––––––––– 数据库(DATABASE) ––––––––––––– -# –––––––––––––––––––––––––––––––––––––– - -# 生产环境数据库连接地址, -# 需包含用户名、密码、主机、端口以及数据库名。 -# DATABASE_URL=postgres://user:pass@postgres:5432/outline - -# 每个进程的数据库连接池(内存中)配置。 -# 请确保连接池大小不会超过数据库允许的最大连接数。 -# 默认最小值为 0,最大值为 5。 -DATABASE_CONNECTION_POOL_MIN=0 -DATABASE_CONNECTION_POOL_MAX=5 - -# 如果你不打算使用 SSL 连接 Postgres,请取消注释此行。 -# 当数据库与应用部署在同一台机器上时,这是可以接受的。 -PGSSLMODE=disable - - -# –––––––––––––––––––––––––––––––––––––– -# –––––––––––––– Redis ––––––––––––––– -# –––––––––––––––––––––––––––––––––––––– - -# Redis 连接地址。 -# 可以是 ioredis 兼容的 URL,或者 Base64 编码后的配置对象。 -# 文档:https://docs.getoutline.com/s/hosting/doc/redis-LGM4BFXYp4 -# REDIS_URL=redis://redis:6379 - -# 若要启用协作服务的横向扩展(多实例),必须提供 Redis 地址。 -# 可以与上面的 REDIS_URL 相同,也可以使用不同的 Redis 服务。 -# 文档:https://docs.getoutline.com/s/hosting/doc/horizontal-scaling-hkfU5Stao7 -# REDIS_COLLABORATION_URL= - - -# –––––––––––––––––––––––––––––––––––––– -# ––––––––––– 文件存储(FILE STORAGE) ––––––––––– -# –––––––––––––––––––––––––––––––––––––– - -# 指定使用的存储系统。 -# 可选值:"s3" 或 "local"。 -# - local:图片和文档附件存储在本地磁盘 -# - s3:存储在兼容 S3 的对象存储服务中 -# 文档:https://docs.getoutline.com/s/hosting/doc/file-storage-N4M0T6Ypu7 -FILE_STORAGE=local - -# 当 FILE_STORAGE=local 时, -# 此路径为所有附件 / 图片的父目录。 -# 请确保进程有权限创建该目录并写入文件。 -FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data - -# 单个附件允许上传的最大大小(字节)。 -FILE_STORAGE_UPLOAD_MAX_SIZE=262144000 - -# 覆盖“文档导入”的最大文件大小, -# 通常应小于普通文档附件的最大限制。 -FILE_STORAGE_IMPORT_MAX_SIZE= - -# 覆盖“工作区导入”的最大文件大小。 -# 该类文件通常非常大,并且是临时文件, -# 在一段时间后会被自动删除。 -FILE_STORAGE_WORKSPACE_IMPORT_MAX_SIZE= - -# 若要在分布式架构中支持头像图片和文档附件上传, -# 当 FILE_STORAGE=s3 时,可配置兼容 S3 的对象存储。 -# AWS_ACCESS_KEY_ID=get_a_key_from_aws -# AWS_SECRET_ACCESS_KEY=get_the_secret_of_above_key -# AWS_REGION=xx-xxxx-x -# AWS_S3_ACCELERATE_URL= -# AWS_S3_UPLOAD_BUCKET_URL=http://s3:4569 -# AWS_S3_UPLOAD_BUCKET_NAME=bucket_name_here -# AWS_S3_FORCE_PATH_STYLE=true -# AWS_S3_ACL=private - - -# –––––––––––––––––––––––––––––––––––––– -# –––––––––––––––– SSL ––––––––––––––– -# –––––––––––––––––––––––––––––––––––––– - -# HTTPS 终止所需的私钥和证书(Base64 编码)。 -# 这是三种 SSL 配置方式之一,可以留空。 -# 文档:https://docs.getoutline.com/s/hosting/doc/ssl-pzk7WO8d1n -SSL_KEY= -SSL_CERT= - -# 在生产环境中是否强制跳转到 HTTPS。 -# 默认值为 true; -# 如果你确定 SSL 已由外部负载均衡器终止,可以设置为 false。 -# FORCE_HTTPS=true - - -# –––––––––––––––––––––––––––––––––––––– -# –––––––––– 认证(AUTHENTICATION) –––––––––– -# –––––––––––––––––––––––––––––––––––––– - -# 第三方登录配置。 -# 至少需要配置以下之一:Google、Slack、Discord 或 Microsoft, -# 否则系统将没有任何登录方式。 - -# Slack 登录 -# 文档:https://docs.getoutline.com/s/hosting/doc/slack-sgMujR8J9J -SLACK_CLIENT_ID= -SLACK_CLIENT_SECRET= - -# Google 登录 -# 文档:https://docs.getoutline.com/s/hosting/doc/google-hOuvtCmTqQ -GOOGLE_CLIENT_ID= -GOOGLE_CLIENT_SECRET= - -# Microsoft Entra / Azure AD 登录 -# 文档:https://docs.getoutline.com/s/hosting/doc/microsoft-entra-UVz6jsIOcv -AZURE_CLIENT_ID= -AZURE_CLIENT_SECRET= -AZURE_RESOURCE_APP_ID= - -# Discord 登录 -# 文档:https://docs.getoutline.com/s/hosting/doc/discord-g4JdWFFub6 -DISCORD_CLIENT_ID= -DISCORD_CLIENT_SECRET= -DISCORD_SERVER_ID= -DISCORD_SERVER_ROLES= - -# 通用 OIDC(OpenID Connect)提供方 -# 文档:https://docs.getoutline.com/s/hosting/doc/oidc-8CPBm6uC0I -OIDC_CLIENT_ID= -OIDC_CLIENT_SECRET= -OIDC_AUTH_URI= -OIDC_TOKEN_URI= -OIDC_USERINFO_URI= -OIDC_LOGOUT_URI= - -# 指定用于派生用户信息的声明(claim)。 -# 支持任何 JWT payload 中的合法 JSON Path。 -OIDC_USERNAME_CLAIM=preferred_username - -# OIDC 登录方式在界面上显示的名称 -OIDC_DISPLAY_NAME=OpenID Connect - -# OIDC 授权作用域(以空格分隔) -OIDC_SCOPES=openid profile email - - -# –––––––––––––––––––––––––––––––––––––– -# –––––––––––––– 邮件(EMAIL) ––––––––––––––– -# –––––––––––––––––––––––––––––––––––––– - -# 若要发送诸如“文档更新通知”或“邮箱登录”等事务性邮件, -# 需要配置一个 SMTP 服务器。 -# 可使用以下列表中的任意服务: -# https://community.nodemailer.com/2-0-0-beta/setup-smtp/well-known-services/ -# 文档:https://docs.getoutline.com/s/hosting/doc/smtp-cqCJyZGMIB -SMTP_SERVICE= -SMTP_USERNAME= -SMTP_PASSWORD= -SMTP_FROM_EMAIL= - - -# –––––––––––––––––––––––––––––––––––––– -# –––––––––– 限流器(RATE LIMITER) –––––––––––– -# –––––––––––––––––––––––––––––––––––––– - -# 是否启用限流器 -RATE_LIMITER_ENABLED=true - -# 各个接口本身有硬编码的限流规则(在启用上项后生效), -# 以下是一个全局限流器配置,作用于所有请求。 -RATE_LIMITER_REQUESTS=1000 -RATE_LIMITER_DURATION_WINDOW=60 - - -# –––––––––––––––––––––––––––––––––––––– -# ––––––––––– 集成(INTEGRATIONS) ––––––––––– -# –––––––––––––––––––––––––––––––––––––– - -# GitHub 集成,用于预览 Issue 和 Pull Request 链接 -# 文档:https://docs.getoutline.com/s/hosting/doc/github-GchT3NNxI9 -GITHUB_CLIENT_ID= -GITHUB_CLIENT_SECRET= -GITHUB_WEBHOOK_SECRET= -GITHUB_APP_NAME= -GITHUB_APP_ID= -GITHUB_APP_PRIVATE_KEY= - -# Linear 集成,用于将 Issue 链接显示为富文本提及 -LINEAR_CLIENT_ID= -LINEAR_CLIENT_SECRET= - -# 若要实现完整的 Slack 集成(搜索、向频道发送消息), -# 除 Slack 登录外,还需要以下配置: -# 文档:https://docs.getoutline.com/s/hosting/doc/slack-G2mc8DOJHk -SLACK_VERIFICATION_TOKEN= -SLACK_APP_ID= -SLACK_MESSAGE_ACTIONS=true - -# Figma 集成,用于将设计文件显示为富文本预览 -FIGMA_CLIENT_ID= -FIGMA_CLIENT_SECRET= - -# Dropbox 集成。 -# 按以下说明获取 key:https://www.dropbox.com/developers/embedder#setup -# 并记得在应用设置中将你的域名加入白名单。 -DROPBOX_APP_KEY= - -# 可选:启用 Sentry(sentry.io)用于错误和性能监控 -# 文档:https://docs.getoutline.com/s/hosting/doc/sentry-jxcFttcDl5 -SENTRY_DSN= -SENTRY_TUNNEL= - -# 启用从 Notion 工作区导入页面 -# 文档:https://docs.getoutline.com/s/hosting/doc/notion-2v6g7WY3l3 -NOTION_CLIENT_ID= -NOTION_CLIENT_SECRET= - -# Iframely 集成,允许在 Outline 中预览第三方内容。 -# 例如:鼠标悬停在外部链接上时显示预览。 -# 文档:https://docs.getoutline.com/s/hosting/doc/iframely-HwLF1EZ9mo -IFRAMELY_URL= -IFRAMELY_API_KEY= - - -# –––––––––––––––––––––––––––––––––––––– -# ––––––––––––– 调试(DEBUGGING) –––––––––––– -# –––––––––––––––––––––––––––––––––––––– - -# 是否通过发送匿名统计信息来检查更新 -ENABLE_UPDATES=false - -# 启用的调试分类。 -# 如果你的代理已经记录了 HTTP 请求日志, -# 可移除默认的 "http",以避免重复日志。 -DEBUG=http - -# 服务器日志的最低级别,可选值: -# error, warn, info, http, verbose, debug, silly -LOG_LEVEL=info