Giter VIP home page Giter VIP logo

outline-docker-compose's Issues

outline容器启动失败

ERROR: The server does not support SSL connections

yarn run v1.22.18
$ sequelize db:migrate --env=production-ssl-disabled

Sequelize CLI [Node: 16.14.2, CLI: 6.4.1, ORM: 6.20.1]

Loaded configuration file "server/config/database.json".
Using environment "production-ssl-disabled".
No migrations were executed, database schema was already up to date.
Done in 0.85s.
yarn run v1.22.18
$ node ./build/server/index.js
{"label":"lifecycle","level":"info","message":"Note: Restricting process count to 1 due to use of collaborative service"}
{"label":"lifecycle","level":"info","message":"\nIs your team enjoying Outline? Consider supporting future development by sponsoring the project:\n\nhttps://github.com/sponsors/outline\n"}
ERROR: The server does not support SSL connections
error Command failed with exit code 1.
node:child_process:828
    err = new Error(msg);
          ^

Error: Command failed: yarn sequelize db:migrate:status
ERROR: The server does not support SSL connections
error Command failed with exit code 1.

    at checkExecSyncError (node:child_process:828:11)
    at execSync (node:child_process:902:15)
    at checkPendingMigrations (/opt/outline/build/server/utils/startup.js:25:53)
    at master (/opt/outline/build/server/index.js:68:39)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async throng (/opt/outline/node_modules/throng/lib/throng.js:31:3) {
  status: 1,
  signal: null,
  output: [
    null,
    Buffer(303) [Uint8Array] [
       36,  32,  47, 111, 112, 116,  47, 111, 117, 116, 108, 105,
      110, 101,  47, 110, 111, 100, 101,  95, 109, 111, 100, 117,
      108, 101, 115,  47,  46,  98, 105, 110,  47, 115, 101, 113,
      117, 101, 108, 105, 122, 101,  32, 100,  98,  58, 109, 105,
      103, 114,  97, 116, 101,  58, 115, 116,  97, 116, 117, 115,
       10,  10,  27,  91,  52, 109,  83, 101, 113, 117, 101, 108,
      105, 122, 101,  32,  67,  76,  73,  32,  91,  78, 111, 100,
      101,  58,  32,  49,  54,  46,  49,  52,  46,  50,  44,  32,
       67,  76,  73,  58,
      ... 203 more items
    ],
    Buffer(100) [Uint8Array] [
       27,  91,  51,  49, 109,  69,  82,  82,  79,  82,  58,  27,
       91,  51,  57, 109,  32,  84, 104, 101,  32, 115, 101, 114,
      118, 101, 114,  32, 100, 111, 101, 115,  32, 110, 111, 116,
       32, 115, 117, 112, 112, 111, 114, 116,  32,  83,  83,  76,
       32,  99, 111, 110, 110, 101,  99, 116, 105, 111, 110, 115,
       10, 101, 114, 114, 111, 114,  32,  67, 111, 109, 109,  97,
      110, 100,  32, 102,  97, 105, 108, 101, 100,  32, 119, 105,
      116, 104,  32, 101, 120, 105, 116,  32,  99, 111, 100, 101,
       32,  49,  46,  10
    ]
  ],
  pid: 71,
  stdout: Buffer(303) [Uint8Array] [
     36,  32,  47, 111, 112, 116,  47, 111, 117, 116, 108, 105,
    110, 101,  47, 110, 111, 100, 101,  95, 109, 111, 100, 117,
    108, 101, 115,  47,  46,  98, 105, 110,  47, 115, 101, 113,
    117, 101, 108, 105, 122, 101,  32, 100,  98,  58, 109, 105,
    103, 114,  97, 116, 101,  58, 115, 116,  97, 116, 117, 115,
     10,  10,  27,  91,  52, 109,  83, 101, 113, 117, 101, 108,
    105, 122, 101,  32,  67,  76,  73,  32,  91,  78, 111, 100,
    101,  58,  32,  49,  54,  46,  49,  52,  46,  50,  44,  32,
     67,  76,  73,  58,
    ... 203 more items
  ],
  stderr: Buffer(100) [Uint8Array] [
     27,  91,  51,  49, 109,  69,  82,  82,  79,  82,  58,  27,
     91,  51,  57, 109,  32,  84, 104, 101,  32, 115, 101, 114,
    118, 101, 114,  32, 100, 111, 101, 115,  32, 110, 111, 116,
     32, 115, 117, 112, 112, 111, 114, 116,  32,  83,  83,  76,
     32,  99, 111, 110, 110, 101,  99, 116, 105, 111, 110, 115,
     10, 101, 114, 114, 111, 114,  32,  67, 111, 109, 109,  97,
    110, 100,  32, 102,  97, 105, 108, 101, 100,  32, 119, 105,
    116, 104,  32, 101, 120, 105, 116,  32,  99, 111, 100, 101,
     32,  49,  46,  10
  ]
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

内网穿透后地址跳转出错

outline部署在本地hostA服务器,映射端口IP:8888
开启内网穿透映射到公网IP:8888
打开界面欢迎界面正常,点击登录后就会跳转至hostAip:8888
尝试修改config ..URL=127.0.0.1
但会只有本机可访问。映射后还是指向127.0.0.1:8888

V0.67.0-pre.1 install failed

make install logs

$ make install 
......
......
dcbe792704e5: Pull complete
7c51bad60610: Pull complete
eb1b06d22376: Pull complete
Digest: sha256:4acd61f8c19dd1260f010b02626b306540b6ed8882a1f598fdf69a3e8f9ffa1c
Status: Downloaded newer image for minio/mc:RELEASE.2022-11-17T21-20-39Z
Pulling wk-outline (outlinewiki/outline:0.67.0)...
ERROR: manifest for outlinewiki/outline:0.67.0 not found: manifest unknown: manifest unknown
make: *** [start] Error 1


  • V0.67.0-pre.1 Realease notes

    Warning As of this release all documents edits are sent through the collaborative process using websockets, this results in a much better editor experience with full support for realtime collaborative editing but requires websockets. If your self-hosted setup was managing without websocket connections editing will no longer work with this release.

Add "Full Width" as a user configurable option

Unless I am mistaken as of now the "Full width" option is on a per-page basis.

Personally, I want every page to be full width by default and have to remember to check this option on each page I create.

It would be nice if this boolean option could be in a user profile and the default value is taken from there. It can still be over riden on a per page basis.

在Outline中无法识别到管理员角色

不论如何修改用户信息,在Outline中都无法识别到管理员角色,我无法将所有数据导出进行备份,这个问题是Outline的问题还是认证授权服务的问题呢

这是我的Outline用户列表:
image

OIDC用户权限:
image

conf.sh配置:

# The url used to vist this web site.
URL=http://xxx.xxx.xxx.xxx:8888
# The default interface language. See translate.getoutline.com for a list of
# available language codes and their rough percentage translated.
DEFAULT_LANGUAGE=zh_CN
# https://docs.djangoproject.com/en/2.2/ref/settings/#language-code
LANGUAGE_CODE=en-us
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TIME_ZONE=UTC
FORCE_HTTPS=false
# The domain in you email.
# Comma separated list of domains to be allowed (optional).
# If not set, the first user's domain is allowed by default.
ALLOWED_DOMAINS=

# Nginx
# The nginx bind ip and port.
# If you use ip address to access outline, this ip and port should be same as the URL.
# If this server behind a proxy(nginx), you can bind to `127.0.0.1`.
HTTP_IP=0.0.0.0
HTTP_PORT_IP=8888

# Docker
# If you server behind a proxy(nginx), and the proxy created by docker. You can use the proxy's network. Set the `NETWORKS` to proxy's network name, and set `NETWORKS_EXTERNAL` to `true` .
# The sample config for host nginx can be find in `config/sample/nginx_outline.conf`.
NETWORKS=outline
NETWORKS_EXTERNAL=false

# Secret keys, update by script.
# You shouldn't edit it.
MINIO_ACCESS_KEY=bfb3e19b991fe5ee
MINIO_SECRET_KEY=b732dbaa16acf768d615454ee6c8ec71d6b165df16c54187d9c0ee3b074de7ff
OIDC_CLIENT_SECRET=b732dbaa16acf768d615454ee6c8ec71d6b165df16c54187d9c0ee3b074de7ff
OUTLINE_SECRET_KEY=49b40297035f63fa85268789632fcda9fa95170d0fdca4bc0c223bda99145eb3
OUTLINE_UTILS_SECRET=b931674c72e807695c9aa30a3af568a611c85bf0720f676c618162bf0b0b84c1
DJANGO_SECRET_KEY=f7aa9b366378ba5725d16cc1f2fa7bf178c4bfd565be29b7532a0130c4c33bf2

使用make logs查看日志的时候发现有一些报错,不知道和这个有没有关系:
image

使用无修改的 config.sh.sample 同等配置无法启动

$ docker-compose top
outline-docker-compose_wk-minio_1
UID     PID      PPID    C   STIME   TTY     TIME               CMD           
------------------------------------------------------------------------------
root   422932   422897   2   02:38   ?     00:00:00   minio server /minio_root

outline-docker-compose_wk-nginx_1
  UID       PID      PPID    C   STIME   TTY     TIME                        CMD                    
----------------------------------------------------------------------------------------------------
root       423580   423505   0   02:38   ?     00:00:00   nginx: master process nginx -g daemon off;
systemd+   423756   423580   0   02:38   ?     00:00:00   nginx: worker process                     
systemd+   423757   423580   0   02:38   ?     00:00:00   nginx: worker process                     
systemd+   423758   423580   0   02:38   ?     00:00:00   nginx: worker process                     
systemd+   423759   423580   0   02:38   ?     00:00:00   nginx: worker process                     

ERROR: Container 0188c31dab7b89627960faeb166ff0ffda82189918c8f7a3aecfe38cca5ccdc9 is restarting, wait until the container is running

Authelia integration

I really like this project. As an alternative to OIDC server, the authelia server would be nice.

有个小bug

一键启动的时候生成的容器名称不匹配

image

Export uploads do not work

I am trying to upload an export from the cloud version of Outline.

image

The issue is that it doesn't work and I can get a hint of the issue when looking at wk-outline logs:

{
   "error":"Inaccessible host: `127.0.0.1' at port `8888'. This service may not be available in the `xx-xxxx-x' region.",
   "stack":"UnknownEndpoint: Inaccessible host: `127.0.0.1' at port `8888'. This service may not be available in the `xx-xxxx-x' region.\n    at Request.ENOTFOUND_ERROR (/opt/outline/node_modules/aws-sdk/lib/event_listeners.js:557:46)\n    at Request.callListeners (/opt/outline/node_modules/aws-sdk/lib/sequential_executor.js:106:20)\n    at Request.emit (/opt/outline/node_modules/aws-sdk/lib/sequential_executor.js:78:10)\n    at Request.emit (/opt/outline/node_modules/aws-sdk/lib/request.js:686:14)\n    at error (/opt/outline/node_modules/aws-sdk/lib/event_listeners.js:389:22)\n    at ClientRequest.<anonymous> (/opt/outline/node_modules/aws-sdk/lib/http/node.js:99:9)\n    at ClientRequest.emit (node:events:526:28)\n    at ClientRequest.emit (node:domain:475:12)\n    at Socket.socketErrorListener (node:_http_client:442:9)\n    at Socket.emit (node:events:526:28)\n    at Socket.emit (node:domain:475:12)\n    at emitErrorNT (node:internal/streams/destroy:157:8)\n    at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n    at processTicksAndRejections (node:internal/process/task_queues:83:21)",
   "level":"error",
   "message":"Error getting file from S3 by key"
}{
   "error":"Failed to fetch data for import from storage.",
   "stack":"InternalServerError: Failed to fetch data for import from storage.\n    at InternalError (/opt/outline/build/server/errors.js:35:34)\n    at ImportMarkdownZipTask.perform (/opt/outline/build/server/queues/tasks/ImportTask.js:55:41)\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)\n    at async Queue.<anonymous> (/opt/outline/build/server/services/worker.js:132:7)",
   "level":"error",
   "message":"Error processing task in ImportMarkdownZipTask"
}

I think that importing an Outline exports works like this:

  • The user uploads the zip from the frontend
  • The frontend uploads the zip to to minio
  • The frontend gives the attachment id to the Outline server
  • The Outline server tries to download the zip from minio
    As you can see, the outline server tries to connect to 127.0.0.1:8888 but of course it can't because there is no process running on port 8888 inside the container.

It looks like a config error. Is there a variable to define the minio's server side URL? It should be something like http://wk-minio:9000

开启ssl后,无法编辑文章内容

开启ssl后,无法编辑文章内容,关闭ssl后一切正常。ssl在宝塔中配置的。
`server
{
listen 443 ssl http2;
server_name wiki.ssyqq.cn;
index index.php index.html index.htm;
client_max_body_size 20m;

#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
ssl_certificate    /www/server/panel/vhost/cert/wiki.ssyqq.cn/fullchain.pem;
ssl_certificate_key    /www/server/panel/vhost/cert/wiki.ssyqq.cn/privkey.pem;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
error_page 497  https://$host$request_uri;
	#SSL-END

location / {
      proxy_pass  http://127.0.0.1:9999; # 转发规则
      proxy_set_header Host $host; # 修改转发请求头,让8080端口的应用可以受到真实的请求
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade; #此处配置 上面定义的变量
      # proxy_set_header Connection $connection_upgrade;
}

location /realtime {
      proxy_pass http://127.0.0.1:9999/realtime;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection $http_connection;
      proxy_read_timeout 86400;
  }

#一键申请SSL证书验证目录相关设置
location ~ \.well-known{
    allow all;
}

}`

Failed to obtain access token

I am trying to install this on my QNAP NAS. For this, I basically created a deployment on my linux PC and from there I picked the docker-compose file and fixed it for my NAS and installed it there. On the NAS I have an NPM reverse proxy to resolve subdomain and then the Nginx proxy which comes with this stack.

I am able to see the Sign in with OpenID page on outline with my URL. I get redirected to /uc and can login there, but I get authentication failure from outline. Here is the log message,

ERR Error during authentication | error=Failed to obtain access token stack=InternalOAuthError: Failed to obtain access token
    at OAuth2Strategy._createOAuthError (/opt/outline/node_modules/passport-oauth2/lib/strategy.js:423:17)
    at /opt/outline/node_modules/passport-oauth2/lib/strategy.js:177:45
    at /opt/outline/node_modules/oauth/lib/oauth2.js:191:18
    at ClientRequest.<anonymous> (/opt/outline/node_modules/oauth/lib/oauth2.js:162:5)
    at ClientRequest.emit (node:events:526:28)
    at ClientRequest.emit (node:domain:475:12)
    at Socket.socketErrorListener (node:_http_client:442:9)
    at Socket.emit (node:events:526:28)
    at Socket.emit (node:domain:475:12)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)

Here is the log from Nginx

10.0.3.6 - - [02/Mar/2023:11:31:51 +0000] "GET /auth/oidc HTTP/1.1" 302 5 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36" "192.168.0.1"
10.0.3.6 - - [02/Mar/2023:11:31:51 +0000] "GET /uc/oauth/authorize/?response_type=code&redirect_uri=http%3A%2F%2Fsubdomain.domain.com%2Fauth%2Foidc.callback&scope=openid%20profile%20email&state=9e386e6e1ebc8227&client_id=050984 HTTP/1.1" 302 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36" "192.168.0.1"
10.0.3.6 - - [02/Mar/2023:11:31:51 +0000] "GET /auth/oidc.callback?code=101f5f764c1140f28abcd0d56fedxxxx&state=9e386e6e1ebcxxxx HTTP/1.1" 302 69 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36" "192.168.0.1"
10.0.3.6 - - [02/Mar/2023:11:31:51 +0000] "GET /?notice=auth-error HTTP/1.1" 200 1158 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36" "192.168.0.1"
10.0.3.6 - - [02/Mar/2023:11:31:51 +0000] "POST /api/auth.config HTTP/1.1" 200 100 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36" "192.168.0.1"
10.0.3.6 - - [02/Mar/2023:11:31:53 +0000] "GET /static/service-worker.js HTTP/1.1" 200 11540 "https://outline.gauravk.in/static/service-worker.js" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36" "192.168.0.1"

Here is the nginx config

server {
  listen        80;
  client_max_body_size 100m;

  # Proxy requests to the bucket "outline" to MinIO server running on port 9000
  location /outline-bucket {
    include /etc/nginx/conf.d/include/proxy.conf;
    proxy_pass http://wk-minio:9000;
  }

  # Proxy any other request to the application server running on port 9001
  location / {
    include /etc/nginx/conf.d/include/proxy.conf;
    proxy_pass http://wk-outline:3000;
  }

  # Static file FOR OIDC Server
  location /uc/static {
    alias /uc/static_root;
  }

  # OIDC Server
  location /uc {
    include /etc/nginx/conf.d/include/proxy.conf;
    proxy_set_header SCRIPT_NAME /uc;
    proxy_pass http://wk-oidc-server:8000;
  }
}

I can see the auth code and state in the Nginx log, but it looks like these don't get passed to outline. I've spent 2 days trying to figure out what could be wrong. I will greatly appreciate any help in getting this to work!

Minio/mc is not started

Hello!
Thank you for your script, but when I'm trying to start it, all containers is running except one: Minio/mc
Logs contains the following information:

Added minio successfully.
Bucket created successfully minio/outline-bucket.
Access permission for minio/outline-bucket is set to download
Added minio successfully.
mc: Unable to make bucket minio/outline-bucket. Your previous request to create the named bucket succeeded and you already own it.
Access permission for minio/outline-bucket is set to download

Could you help me with that issue?

slack authen

I have created but I tried to add slack via config.sh and clean => then install again but its not work. anyone know how to set it up?

登录提示“Authentication failed..."

Hi,关于部署后登录提示“Authentication failed...",下面是wk-outline的logs:

wk-outline_1        | {"error":"Failed to obtain access token","stack":"InternalOAuthError: Failed to obtain access token\n    at OAuth2Strategy._createOAuthError (/opt/outline/node_modules/passport-oauth2/lib/strategy.js:423:17)\n    at /opt/outline/node_modules/passport-oauth2/lib/strategy.js:177:45\n    at /opt/outline/node_modules/oauth/lib/oauth2.js:191:18\n    at ClientRequest.<anonymous> (/opt/outline/node_modules/oauth/lib/oauth2.js:162:5)\n    at ClientRequest.emit (node:events:390:28)\n    at ClientRequest.emit (node:domain:475:12)\n    at TLSSocket.socketErrorListener (node:_http_client:447:9)\n    at TLSSocket.emit (node:events:390:28)\n    at TLSSocket.emit (node:domain:475:12)\n    at emitErrorNT (node:internal/streams/destroy:157:8)\n    at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n    at processTicksAndRejections (node:internal/process/task_queues:83:21)","level":"error","message":"Error during authentication"}
wk-outline_1        | {"error":"Failed to obtain access token","stack":"InternalOAuthError: Failed to obtain access token\n    at OAuth2Strategy._createOAuthError (/opt/outline/node_modules/passport-oauth2/lib/strategy.js:423:17)\n    at /opt/outline/node_modules/passport-oauth2/lib/strategy.js:177:45\n    at /opt/outline/node_modules/oauth/lib/oauth2.js:191:18\n    at ClientRequest.<anonymous> (/opt/outline/node_modules/oauth/lib/oauth2.js:162:5)\n    at ClientRequest.emit (node:events:390:28)\n    at ClientRequest.emit (node:domain:475:12)\n    at TLSSocket.socketErrorListener (node:_http_client:447:9)\n    at TLSSocket.emit (node:events:390:28)\n    at TLSSocket.emit (node:domain:475:12)\n    at emitErrorNT (node:internal/streams/destroy:157:8)\n    at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n    at processTicksAndRejections (node:internal/process/task_queues:83:21)","level":"error","message":"Error during authentication"}
wk-outline_1        | {"error":"Failed to obtain access token","stack":"InternalOAuthError: Failed to obtain access token\n    at OAuth2Strategy._createOAuthError (/opt/outline/node_modules/passport-oauth2/lib/strategy.js:423:17)\n    at /opt/outline/node_modules/passport-oauth2/lib/strategy.js:177:45\n    at /opt/outline/node_modules/oauth/lib/oauth2.js:191:18\n    at ClientRequest.<anonymous> (/opt/outline/node_modules/oauth/lib/oauth2.js:162:5)\n    at ClientRequest.emit (node:events:390:28)\n    at ClientRequest.emit (node:domain:475:12)\n    at TLSSocket.socketErrorListener (node:_http_client:447:9)\n    at TLSSocket.emit (node:events:390:28)\n    at TLSSocket.emit (node:domain:475:12)\n    at emitErrorNT (node:internal/streams/destroy:157:8)\n    at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n    at processTicksAndRejections (node:internal/process/task_queues:83:21)","level":"error","message":"Error during authentication"}
wk-outline_1        | {"error":"Failed to obtain access token","stack":"InternalOAuthError: Failed to obtain access token\n    at OAuth2Strategy._createOAuthError (/opt/outline/node_modules/passport-oauth2/lib/strategy.js:423:17)\n    at /opt/outline/node_modules/passport-oauth2/lib/strategy.js:177:45\n    at /opt/outline/node_modules/oauth/lib/oauth2.js:191:18\n    at ClientRequest.<anonymous> (/opt/outline/node_modules/oauth/lib/oauth2.js:162:5)\n    at ClientRequest.emit (node:events:390:28)\n    at ClientRequest.emit (node:domain:475:12)\n    at TLSSocket.socketErrorListener (node:_http_client:447:9)\n    at TLSSocket.emit (node:events:390:28)\n    at TLSSocket.emit (node:domain:475:12)\n    at emitErrorNT (node:internal/streams/destroy:157:8)\n    at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n    at processTicksAndRejections (node:internal/process/task_queues:83:21)","level":"error","message":"Error during authentication"}

image

我是部署在公网上,config.sh中URL填的公网地址。这里会不会跟TLS相关?

Instructions for the latest code fails

Issued the following commands:

cp scripts/config.sh.sample scripts/config.sh
make install

and I get the following output:

cd ./scripts && bash ./main.sh init_cfg
/usr/bin/docker-compose up -d
Recreating outline-docker-compose_wk-minio_1 ... 
Recreating outline-docker-compose_wk-oidc-server_1 ... 
Starting outline-docker-compose_wk-postgres_1      ... 
Starting outline-docker-compose_wk-redis_1         ... error

ERROR: for outline-docker-compose_wk-redis_1  Cannot start service wk-redis: failed to create endpoint outline-docker-compose_wk-redStarting outline-docker-compose_wk-postgres_1      ... error
operation not supported

Recreating outline-docker-compose_wk-oidc-server_1 ... error
wk-postgres_1 on network outline-docker-compose_outlinewiki: failed to add the host (veth3887b19) <=> sandbox (vetha491b95) pair interfaces: operation not supported
Recreating outline-docker-compose_wk-minio_1       ... error
ERROR: for outline-docker-compose_wk-oidc-server_1  Cannot start service wk-oidc-server: failed to create endpoint outline-docker-compose_wk-oidc-server_1 on network outline-docker-compose_outlinewiki: failed to add the host (veth69ab0db) <=> sandbox (veth8d0cf33) pair interfaces: operation not supported

ERROR: for outline-docker-compose_wk-minio_1  Cannot start service wk-minio: failed to create endpoint outline-docker-compose_wk-minio_1 on network outline-docker-compose_outlinewiki: failed to add the host (veth1d6f20b) <=> sandbox (vethf39ff84) pair interfaces: operation not supported

ERROR: for wk-redis  Cannot start service wk-redis: failed to create endpoint outline-docker-compose_wk-redis_1 on network outline-docker-compose_outlinewiki: failed to add the host (veth4ad7bc6) <=> sandbox (vethc655f19) pair interfaces: operation not supported

ERROR: for wk-postgres  Cannot start service wk-postgres: failed to create endpoint outline-docker-compose_wk-postgres_1 on network outline-docker-compose_outlinewiki: failed to add the host (veth3887b19) <=> sandbox (vetha491b95) pair interfaces: operation not supported

ERROR: for wk-oidc-server  Cannot start service wk-oidc-server: failed to create endpoint outline-docker-compose_wk-oidc-server_1 on network outline-docker-compose_outlinewiki: failed to add the host (veth69ab0db) <=> sandbox (veth8d0cf33) pair interfaces: operation not supported

ERROR: for wk-minio  Cannot start service wk-minio: failed to create endpoint outline-docker-compose_wk-minio_1 on network outline-docker-compose_outlinewiki: failed to add the host (veth1d6f20b) <=> sandbox (vethf39ff84) pair interfaces: operation not supported
ERROR: Encountered errors while bringing up the project.

图片不能解析

以下符号不能解析与显示,请问是什么问题?outline wiki bug ?

  1. 下面这个markdown语法不能解析,会直接作为字符显示
<br>
  1. 图片解析后,不显示

怎么配置config.sh能够使用域名访问

这是我的config.sh配置

# The url used to vist this web site.
URL=http://118.25.79.194:8888
# The default interface language. See translate.getoutline.com for a list of
# available language codes and their rough percentage translated.
DEFAULT_LANGUAGE=zh_CN
# https://docs.djangoproject.com/en/2.2/ref/settings/#language-code
LANGUAGE_CODE=en_US
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TIME_ZONE=UTC
FORCE_HTTPS=false
# The domain in you email.
# Comma separated list of domains to be allowed (optional).
# If not set, the first user's domain is allowed by default.
ALLOWED_DOMAINS=

# Nginx
# The nginx bind ip and port.
# If you use ip address to access outline, this ip and port should be same as the URL.
# If this server behind a proxy(nginx), you can bind to `127.0.0.1`.
HTTP_IP=0.0.0.0
HTTP_PORT_IP=8888

# Docker
# If you server behind a proxy(nginx), and the proxy created by docker. You can use the proxy's network. Set the `NETWORKS` to proxy's network name, and set `NETWORKS_EXTERNAL` to `true` .
# The sample config for host nginx can be find in `config/sample/nginx_outline.conf`.
NETWORKS=outlinewiki
NETWORKS_EXTERNAL=false

# Secret keys, update by script.
# You shouldn't edit it.
MINIO_ACCESS_KEY=25cbd8fef14df517
MINIO_SECRET_KEY=e96cb9fe938768c87fcea1429198d94c38418ddf51770f518c88c786d8338135
OIDC_CLIENT_SECRET=e96cb9fe938768c87fcea1429198d94c38418ddf51770f518c88c786d8338135
OUTLINE_SECRET_KEY=8bba7dbc5cb45b7a0cd879b3c06ed17ff3b642be9fdea7db00bd0c2b9ecbd1e3
OUTLINE_UTILS_SECRET=68f6e7eb8cb84922de50ebe615de8463e90d35e3e104ce91765de533487e3ced
DJANGO_SECRET_KEY=b6f9599e3be93619f9caacf8f7090170ab7fc9de6f8b4ec7d56b6a2217ad2da0

为了我的域名能够访问,我在我机器上的nginx配置如下:

    server {
        listen 80;
        server_name wiki.lucq.fun;
        location / {
            proxy_pass http://127.0.0.1:8888;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection upgrade;
        }
    }

当我使用 http://wiki.lucq.fun 访问的时候,第一个页面能正常进入,当在第一个页面点击“使用openid继续”之后,他就跳转到了IP的网页。后续访问都是IP的网页。图片如下:

1
2
3

如果强制将IP访问的网页改为域名访问,比如将 http://118.25.79.194:8888/collection/welcome-Imb2SDo8P3 改为
http://wiki.lucq.fun/collection/welcome-Imb2SDo8P3 则又会跳转到认证页面。认证完成之后又会跳转到IP。

我也尝试过将config.sh 中的 URL=http://118.25.79.194:8888 改为 URL=http://wiki.lucq.fun ;但是认证却无法成功。

使用make logs查看日志,有如下关键警告日志:
{"error":"State not return in OAuth flow","stack":"BadRequestError: State not return in OAuth flow\n at OAuthStateMismatchError (/opt/outline/build/server/errors.js:99:34)\n at StateStore.verify (/opt/outline/build/server/utils/passport.js:43:61)\n at OAuth2Strategy.authenticate (/opt/outline/node_modules/passport-oauth2/lib/strategy.js:222:26)\n at attempt (/opt/outline/node_modules/passport/lib/middleware/authenticate.js:366:16)\n at authenticate (/opt/outline/node_modules/passport/lib/middleware/authenticate.js:367:7)\n at /opt/outline/node_modules/@outlinewiki/koa-passport/lib/framework/koa.js:194:7\n at new Promise ()\n at /opt/outline/node_modules/@outlinewiki/koa-passport/lib/framework/koa.js:193:12\n at /opt/outline/node_modules/@outlinewiki/koa-passport/lib/framework/koa.js:143:7\n at new Promise ()\n at passportAuthenticate (/opt/outline/node_modules/@outlinewiki/koa-passport/lib/framework/koa.js:107:15)\n at passportMiddleware (/opt/outline/build/server/middlewares/passport.js:66:7)\n at dispatch (/opt/outline/node_modules/koa-compose/index.js:44:32)\n at next (/opt/outline/node_modules/koa-compose/index.js:45:18)\n at /opt/outline/node_modules/koa-router/lib/router.js:321:16\n at dispatch (/opt/outline/node_modules/koa-compose/index.js:44:32)\n at next (/opt/outline/node_modules/koa-compose/index.js:45:18)\n at methodOverrideMiddleware (/opt/outline/build/server/middlewares/methodOverride.js:22:12)\n at dispatch (/opt/outline/node_modules/koa-compose/index.js:44:32)\n at next (/opt/outline/node_modules/koa-compose/index.js:45:18)\n at /opt/outline/node_modules/koa-router/lib/router.js:321:16\n at dispatch (/opt/outline/node_modules/koa-compose/index.js:44:32)","level":"error","message":"Error during authentication"}

请问:如何配置config.sh我才能全程使用我的域名访问outline服务?
先谢谢你了,打扰你了!

every time start docker makes new volumn

First, thank you for share your standalone docker configuration,

It is very useful for me

even though, I have a humble question.

whenever I restart docker-compose.yml

It creates new docker volumn

below two container always makes new volumn

  • outline-docker-compose-wk-redis-1
  • outline-docker-compose-wk-minio-1

volumn name looks like ramdom hash number

  • 9876d28fa462ad9b7b5bd76a88407a277560314ce32bcd6535cca9744034ddd2
  • 61728a2bb2cf9c570487082699bb327c9ab84285b1df4d0eb161e309f26c04cb

I tried figured it out but it was difficult to find out.

If you have some time for look into, please help me.

thanks

Login using oidc-server and Magic link emails not working

Thanks for this magical installation script! it works for me on Ubuntu 20.

I have issues with the login, it is keep redirecting the user back to the login screen with this parameter in the url. Not sure how to get this working. I have a Nginx proxy running on the server to handle this, this is on a brand new box.

I tried to use the magic link feature because of this issue in login but I am not getting any emails, no errors on screen. It says email sent but I did not get any email. Not sure how to troubleshoot this.

I will be ok if one of this feature works magic link or the login using oidc server.

Thank you!

After configuring ssl, logging in to the outline reports an error verification failure. The error is as follows. (开启ssl后,登录outline提示验证报错,这个怎么解决呢)

After configuring ssl, logging in to the outline reports an error verification failure. The error is as follows:

log: {"error":"Failed to obtain access token","stack":"InternalOAuthError: Failed to obtain access token\n at OAuth2Strategy._createOAuthError (/opt/outline/node_modules/passport-oauth2/lib/strategy.js:423:17)\n at /opt/outline/node_modules/passport-oauth2/lib/strategy.js:177:45\n at /opt/outline/node_modules/oauth/lib/oauth2.js:191:18\n at ClientRequest. (/opt/outline/node_modules/oauth/lib/oauth2.js:162:5)\n at ClientRequest.emit (node:events:526:28)\n at ClientRequest.emit (node:domain:475:12)\n at Socket.socketErrorListener (node:_http_client:442:9)\n at Socket.emit (node:events:526:28)\n at Socket.emit (node:domain:475:12)\n at emitErrorNT (node:internal/streams/destroy:157:8)\n at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n at processTicksAndRejections (node:internal/process/task_queues:83:21)","level":"error","message":"Error during authentication"}

image

登录后无法退出登录

在同一浏览器中首次登录账号后,即便退出登录,下次点击”使用OpenID继续“仍然是首次登录账号

无法切换账号和退出

运行安装命令后无法启动,outline-docker-compose-wk-outline-1无限重启

操作系统:Debian11
Docker版本:20.10.16
docker-compose版本:v2.5.0
按照安装命令执行git clone .. cp.. make install
容器outline-docker-compose-wk-outline-1无限重启
日志如下:
== 20220419052832-create-team-domains: migrating =======
== 20220419052832-create-team-domains: migrated (0.015s)

== 20220421052253-create-file-operation-format: migrating =======
== 20220421052253-create-file-operation-format: migrated (0.006s)

== 20220430043135-collection-sort-backfill: migrating =======
Backfilling collection sort…
== 20220430043135-collection-sort-backfill: migrated (0.007s)

Done in 3.89s.
yarn run v1.22.18
$ node ./build/server/index.js
{"label":"lifecycle","level":"info","message":"Note: Restricting process count to 1 due to use of collaborative service"}
{"level":"warn","message":"Environment configuration is invalid, please check the following:\n\n"}
{"level":"warn","message":"- SLACK_VERIFICATION_TOKEN cannot be used without SLACK_CLIENT_ID."}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
yarn run v1.22.18
$ sequelize db:migrate --env production-ssl-disabled

Sequelize CLI [Node: 16.14.2, CLI: 6.3.0, ORM: 6.9.0]

Loaded configuration file "server/config/database.json".
Using environment "production-ssl-disabled".
No migrations were executed, database schema was already up to date.
Done in 1.01s.
yarn run v1.22.18
$ node ./build/server/index.js
{"label":"lifecycle","level":"info","message":"Note: Restricting process count to 1 due to use of collaborative service"}
{"level":"warn","message":"Environment configuration is invalid, please check the following:\n\n"}
{"level":"warn","message":"- SLACK_VERIFICATION_TOKEN cannot be used without SLACK_CLIENT_ID."}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
yarn run v1.22.18
$ sequelize db:migrate --env production-ssl-disabled

Sequelize CLI [Node: 16.14.2, CLI: 6.3.0, ORM: 6.9.0]

更换其他vps执行相同步骤,也是同样的问题。
未修改config.sh中的内容,输入邮箱和密码也都正常。

First time installation create RSA key failed

hi
If the make install command is executed for the first time, the creation of the RSA key will give an error (Something goes wrong: no such table: oidc_provider_rsakey) and the command must be executed again to create the RSA key.
If the key is not created, it is not possible to login, or the key must be created manually and entered in the admin panel so that the login process works correctly.

❯ make install
cd ./scripts && bash ./main.sh init_cfg
/usr/bin/docker-compose up -d
[+] Running 8/8
 ⠿ Network outline_outlinewiki           Created                                                                                                                                                                                                                                     0.0s
 ⠿ Container outline-wk-redis-1          Started                                                                                                                                                                                                                                     0.8s
 ⠿ Container outline-wk-minio-1          Started                                                                                                                                                                                                                                     0.6s
 ⠿ Container outline-wk-postgres-1       Started                                                                                                                                                                                                                                     0.7s
 ⠿ Container outline-wk-oidc-server-1    Started                                                                                                                                                                                                                                     0.6s
 ⠿ Container outline-wk-createbuckets-1  Started                                                                                                                                                                                                                                     0.9s
 ⠿ Container outline-wk-outline-1        Started                                                                                                                                                                                                                                     1.1s
 ⠿ Container outline-wk-nginx-1          Started                                                                                                                                                                                                                                     1.5s
cd ./scripts && bash ./main.sh reload_nginx
2022/12/10 07:19:45 [notice] 29#29: signal process started
sleep 1
/usr/bin/docker-compose exec wk-oidc-server bash -c "make init"
python manage.py creatersakey
Something goes wrong: no such table: oidc_provider_rsakey
python manage.py createsuperuser

You have 27 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): oidc_provider, sessions.
Run 'python manage.py migrate' to apply them.

Username (leave blank to use 'root'): root

请问宿主机的nginx配置怎么写。

由于服务器限制,需要跟其他服务共存,无法直接映射到80端口进行暴漏。通过宿主机nginx代理参考了nginx_outline.conf。提示找不到winki_nginx。如果直接proxy_pass http://127.0.0.1:8888 的话,提示重定向的次数过多

Error authenticating using OIDC

Hello,

I managed to start this docker-compose project once, but then it stopped working. I was able to start all the containers (even if the depends_on feature is not respected, as PG takes quite some time to spin, but the container wk-outline is already running by then) but I have an issue when logging a user using OIDC.

I am running docker-compose locally.

I can have a hint of the problem by looking at the wk-outline Docker image logs:

{
   "error":"Failed to obtain access token",
   "stack":"InternalOAuthError: Failed to obtain access token\n    at OAuth2Strategy._createOAuthError (/opt/outline/node_modules/passport-oauth2/lib/strategy.js:423:17)\n    at /opt/outline/node_modules/passport-oauth2/lib/strategy.js:177:45\n    at /opt/outline/node_modules/oauth/lib/oauth2.js:191:18\n    at passBackControl (/opt/outline/node_modules/oauth/lib/oauth2.js:132:9)\n    at IncomingMessage.<anonymous> (/opt/outline/node_modules/oauth/lib/oauth2.js:157:7)\n    at IncomingMessage.emit (node:events:538:35)\n    at IncomingMessage.emit (node:domain:475:12)\n    at endReadableNT (node:internal/streams/readable:1345:12)\n    at processTicksAndRejections (node:internal/process/task_queues:83:21)",
   "level":"error",
   "message":"Error during authentication"
}

This happens after creating a root user with a mycompany.com email and with ALLOWED_DOMAINS=mycompany.com inside config.sh

My custom config is pretty straighforward, I didn't chage a thing:

# The url used to vist this web site.
URL=http://127.0.0.1:8888
# The default interface language. See translate.getoutline.com for a list of
# available language codes and their rough percentage translated.
DEFAULT_LANGUAGE=en_US
# https://docs.djangoproject.com/en/2.2/ref/settings/#language-code
LANGUAGE_CODE=en-us
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TIME_ZONE=UTC
FORCE_HTTPS=false
# The domain in you email.
# Comma separated list of domains to be allowed (optional).
# If not set, the first user's domain is allowed by default.
ALLOWED_DOMAINS=mycompany.com

# Docker image version
OUTLINE_VERSION=0.66.3
POSTGRES_VERSION=14.4-alpine3.16

# Nginx
# The nginx bind ip and port.
# If you use ip address to access outline, this ip and port should be same as the URL.
# If this server behind a proxy(nginx), you can bind to `127.0.0.1`.
HTTP_IP=127.0.0.1
HTTP_PORT_IP=8888

# Docker
# If you server behind a proxy(nginx), and the proxy created by docker. You can use the proxy's network. Set the `NETWORKS` to proxy's network name, and set `NETWORKS_EXTERNAL` to `true` .
# The sample config for host nginx can be find in `config/sample/nginx_outline.conf`.
NETWORKS=outlinewiki
NETWORKS_EXTERNAL=false

# Secret keys, update by script.
# You shouldn't edit it.
MINIO_ACCESS_KEY=XXXX
MINIO_SECRET_KEY=XXXX
OIDC_CLIENT_SECRET=XXXX
OUTLINE_SECRET_KEY=XXXX
OUTLINE_UTILS_SECRET=XXXX
DJANGO_SECRET_KEY=XXXX

Has anyone the same issue?

Outline升级问题

我是这个项目比较早期的用户,当时部署完测试良好并且立马在团队内投入使用。不过使用了一段时间发现Outline落后了很多个版本,并且当时正在用的版本(v0.63.0)的确有一些bug,所以打算备份数据做一次升级。

先是尝试直接把所有依赖的docker镜像更新,结果无法正常使用。后来又发现项目的安装脚本更新了,在新的环境上的确能安装到最新的Outline版本,但是依然无法把老版本的数据备份提供给新环境使用。也尝试了多次只把Outline或者个别的镜像更新,其他镜像保留老版本,但都失败而终了。

目前是把Outline固定在v0.63.0这个版本了,Redis、Postgres这些其他镜像也都保留一开始安装时的版本。唯一能升级的办法貌似只能重新搭建一个,但是数据迁移成了问题,手工去重新编辑文章太麻烦了。

有啥好的办法吗?

无法继续登录到outline

第一次进入页面,输入用户名和密码后,点击accept,然后又重新回到登录页面,点击“使用OpenID继续,没反应(一直在此界面循环)

用户无法注销的问题

当一个用户登录了outline之后 ,选择“退出登录”,下次将不需要进行登录,可以直接进入outline

多人实时编辑

outline 开源版本不支持多人实时编辑吗?就是多人编辑,实时显示光标那种?

运行make install后出现You have 6 unapplied migration(s)

运行 make install 后出现:
You have 6 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): oidc_provider, sessions. Run 'python manage.py migrate' to apply them.

按照提示输入 python manage.py migrate 命令后报错:
python: can't open file 'manage.py': [Errno 2] No such file or directory

无法登录outline (可能是上边的原因引起的),登录失败提示:
Authentication failed – we were unable to sign you in at this time. Please try again.

系统:Ubuntu 20
CPU架构:AMD

cd ./scripts && bash ./main.sh init_cfg
docker-compose up -d
Creating outline-docker-compose_wk-oidc-server_1 ... done
Creating outline-docker-compose_wk-redis_1         ... done
Creating outline-docker-compose_wk-minio_1       ... done
Creating outline-docker-compose_wk-postgres_1    ... done
Creating outline-docker-compose_wk-createbuckets_1 ... done
Creating outline-docker-compose_wk-outline_1       ... done
Creating outline-docker-compose_wk-nginx_1         ... done
docker-compose exec wk-oidc-server bash -c "make init"
python manage.py creatersakey
Something goes wrong: no such table: oidc_provider_rsakey
python manage.py createsuperuser

You have 6 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): oidc_provider, sessions.
Run 'python manage.py migrate' to apply them.

Username (leave blank to use 'root'): 
Email address: 
Password: 
Password (again): 
The password is too similar to the email address.
Superuser created successfully.
docker-compose exec wk-oidc-server bash -c "python manage.py loaddata oidc-server-outline-client"
Installed 1 object(s) from 1 fixture(s)
root@ubuntu:~/data/outline-docker-compose# python manage.py migrate
python: can't open file 'manage.py': [Errno 2] No such file or directory

502报错,nginx一直connect() failed

2023/03/28 12:22:50 [error] 28#28: *1 connect() failed (113: No route to host) while connecting to upstream, client: 39.189.44.242, server: , request: "GET / HTTP/1.1", upstream: "http://172.27.0.7:3000/", host: "152.136.132.109:4488"
39.189.44.242 - - [28/Mar/2023:12:22:50 +0000] "GET / HTTP/1.1" 502 559 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.54" "-"
2023/03/28 12:22:53 [error] 28#28: *1 connect() failed (113: No route to host) while connecting to upstream, client: 39.189.44.242, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "http://172.27.0.7:3000/favicon.ico", host: "152.136.132.109:4488", referrer: "http://152.136.132.109:4488/"
39.189.44.242 - - [28/Mar/2023:12:22:53 +0000] "GET /favicon.ico HTTP/1.1" 502 559 "http://152.136.132.109:4488/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.54" "-"

Add upgrade instructions to the README

Hi, thank you for making this -- it was very easy to get outline up and running!

I see that you're managing specific versions of the containers which is nice, however I'm not sure what the procedure for updating should be. It would be nice if there was a section in the README that says what do do when you've updated this project.

Maybe something like this


Upgrading

If there's an update, simply pull the latest version of this repo git pull ...
Then run ??? (maybe this is docker compose pull/up or maybe the upgrade process is more complex?) and you'll be using the latest versions of everything. Your data is stored/persisted in the data folder so everything should just work once the update is done.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.