https://github.com/outline/outline
- Install these dependencies if you don't already have them
- Docker for Desktop
- Node.js (v12 LTS preferred)
- Yarn
- Clone this repo
- Register a Slack app at https://api.slack.com/apps
- Copy the file
.env.sample
to.env
- Fill out the following fields:
SECRET_KEY
(follow instructions in the comments at the top of.env
)SLACK_KEY
(this is called "Client ID" in Slack admin)SLACK_SECRET
(this is called "Client Secret" in Slack admin)
- Configure your Slack app's Oauth & Permissions settings
- Slack recently prevented the use of
http
protocol for localhost. For local development, you can use a tool like ngrok or a package likemkcert
. (How to use HTTPS for local development) - Add
https://my_ngrok_address/auth/slack.callback
as an Oauth redirect URL - Ensure that the bot token scope contains at least
users:read
- Slack recently prevented the use of
- Run
make up
. This will download dependencies, build and launch a development version of Outline
https://api.slack.com/apps/A02GQL2NYJU/oauth?
.env
SECRET_KEY=e0c3f75391b103477ea1302c6504104279192b205e7fb684de9b7d49e4dfb520 UTILS_SECRET=e0c3f75391b103477ea1302c6504104279192b205e7fb684de9b7d49e4dfb520 DATABASE_URL=postgres://user:pass@localhost:5532/outline DATABASE_URL_TEST=postgres://user:pass@localhost:5532/outline-test REDIS_URL=redis://localhost:6479 # 这个需要改变成ngrok动态生成的 URL=https://4605-122-200-64-188.ngrok.io PORT=3000 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_UPLOAD_BUCKET_URL=http://s3:4569 AWS_S3_UPLOAD_BUCKET_NAME=bucket_name_here AWS_S3_UPLOAD_MAX_SIZE=26214400 AWS_S3_FORCE_PATH_STYLE=true AWS_S3_ACL=private SLACK_KEY=2544922421314.2568682780640 SLACK_SECRET=5df803c2c4d878da51597466c8302085 GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= AZURE_CLIENT_ID= AZURE_CLIENT_SECRET= AZURE_RESOURCE_APP_ID= OIDC_CLIENT_ID= OIDC_CLIENT_SECRET= OIDC_AUTH_URI= OIDC_TOKEN_URI= OIDC_USERINFO_URI= # Display name for OIDC authentication OIDC_DISPLAY_NAME=OpenID Connect # Space separated auth scopes. OIDC_SCOPES=openid profile email 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=true ENABLE_UPDATES=true WEB_CONCURRENCY=1 MAXIMUM_IMPORT_SIZE=5120000 DEBUG=cache,presenters,events,emails,mailer,utils,http,server,processors ALLOWED_DOMAINS=
# 替换成自己的就好 SLACK_VERIFICATION_TOKEN=nqQ0e7WdSEBHwSqQi7BV6CjT SLACK_APP_ID=A02GQL2NYJU SLACK_MESSAGE_ACTIONS=true GOOGLE_ANALYTICS_ID= SENTRY_DSN= SMTP_HOST= SMTP_PORT= SMTP_USERNAME= SMTP_PASSWORD= SMTP_FROM_EMAIL= SMTP_REPLY_EMAIL= SMTP_TLS_CIPHERS= SMTP_SECURE=true DEFAULT_LANGUAGE=en_US