Code Monkey home page Code Monkey logo

outline-wiki-docker-compose's Introduction

Docker compose for outline wiki

http://chsasank.github.io/outline-self-hosted-wiki.html

Features:

  • A simple make and interactive bash script to help you generate all the conf required
  • A docker-compose to run your service
  • Dummy https certificate generator. Replace with your certificates after generation
  • Use minio instead of AWS S3, so that everything is really self-hosted
  • nginx reverse proxy for outline and minio

Runs the outline server with https if required

How to use

git clone https://github.com/chsasank/outline-wiki-docker-compose.git
cd outline-wiki-docker-compose
make install

And follow the instructions.

make_install

outline-wiki-docker-compose's People

Contributors

chsasank avatar mdxdave avatar rukeba avatar tommoor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

outline-wiki-docker-compose's Issues

Installing on port 80

Hi.

Thanks for solution, it really helps.

I think there is should be no option to install for 80 port (or at least this should not be default) because slack will not let you define callback url with http (only https is suitable).

Thanks

Slack Authentication Failed Error

Hi @chsasank

I am running into an issue installing the Outline service. For context, I have a Synology NAS DS 920+ model and have docker installed and use Portainer to manage all of my containers.

I installed Outline using the following docker compose file and I have made it all the way to near the end where I am supposed to authenticate using Slack.

The exact error I get varies a bit but I have provided both errors below:

at /opt/outline/node_modules/passport-oauth2/lib/strategy.js:175:45, at Strategy.OAuth2Strategy._createOAuthError (/opt/outline/node_modules/passport-oauth2/lib/strategy.js:408:17), InternalOAuthError: Failed to obtain access token, 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 (events.js:315:20), at ClientRequest.EventEmitter.emit (domain.js:467:12), at TLSSocket.socketErrorListener (_http_client.js:469:9), at TLSSocket.emit (events.js:315:20), at TLSSocket.EventEmitter.emit (domain.js:467:12), at emitErrorNT (internal/streams/destroy.js:106:8), at emitErrorCloseNT (internal/streams/destroy.js:74:3), oauthError: Error: getaddrinfo EAI_AGAIN slack.com, at processTicksAndRejections (internal/process/task_queues.js:80:21) {, at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26) {

And this error:

Error: Invalid key length, at Cipheriv.createCipherBase (internal/crypto/cipher.js:103:19), at Cipheriv.createCipherWithIV (internal/crypto/cipher.js:121:20), at new Cipheriv (internal/crypto/cipher.js:227:22), at Object.createCipheriv (crypto.js:123:10), at model.set (/opt/outline/node_modules/sequelize-encrypted/index.js:48:33), at model.set (/opt/outline/node_modules/sequelize/lib/model.js:3609:32), at model.set (/opt/outline/node_modules/sequelize/lib/model.js:3590:18), at model._initValues (/opt/outline/node_modules/sequelize/lib/model.js:171:10), at new Model (/opt/outline/node_modules/sequelize/lib/model.js:118:10), at Function.build (/opt/outline/node_modules/sequelize/lib/model.js:2157:12), at new user_authentications (/opt/outline/node_modules/sequelize/lib/sequelize.js:438:19), at Array.map (<anonymous>), at /opt/outline/node_modules/sequelize/lib/model.js:2175:41, at Function.bulkBuild (/opt/outline/node_modules/sequelize/lib/model.js:2175:22), at model._setInclude (/opt/outline/node_modules/sequelize/lib/model.js:3774:83), at model.set (/opt/outline/node_modules/sequelize/lib/model.js:3621:14)

I cannot understand what the problem is. I have provided some snapshots of the Slack API settings, I am pretty sure I have configured everything properly but wanted to double check with you.

image

My Settings are as follows (taken from the .env file):
SLACK_KEY - taken from the Client ID field in the picture above
SLACK_SECRET - taken from the Client Secret field in the picture above
----(in the optional section of the .env file)
SLACK_VERIFICATION_TOKEN= taken from the verification token field in the picture above
SLACK_APP_ID= taken from the APP ID field in the picture above
SLACK_MESSAGE_ACTIONS=false

1) Does my mapping above look correct to you?

2) Do app level tokens need to be set up? I'm not sure if that has anything to do with the authentication issue. Picture below of what I have so far

image

I use Nginx Reverse Proxy Manager (NPM) as a reverse proxy in front of my web services.
3) Is it possible that not setting up NPM is causing the authentication issue? Do I need to add some custom nginx configuration to the 'advanced' tab of NPM ? I dont have any custom nginx setup for either the outline or the minio service in NPM currently and was wondering what I would need to put in if that is the case.

Your review of this problem would be MOST appreciated!!!

Email Verification with Mailgun

Listening on http://localhost:3000
outline_outline.1.ne86gzh3mdkv@manager    |
outline_outline.1.ne86gzh3mdkv@manager    | 2021-09-20T00:00:36.018Z emails Sending email "Magic signin link" to [email protected]
outline_outline.1.ne86gzh3mdkv@manager    | (node:71) UnhandledPromiseRejectionWarning: Error: Connection timeout
outline_outline.1.ne86gzh3mdkv@manager    |     at SMTPConnection._formatError (/opt/outline/node_modules/nodemailer/lib/smtp-connection/index.js:774:19)
outline_outline.1.ne86gzh3mdkv@manager    |     at SMTPConnection._onError (/opt/outline/node_modules/nodemailer/lib/smtp-connection/index.js:760:20)
outline_outline.1.ne86gzh3mdkv@manager    |     at Timeout.<anonymous> (/opt/outline/node_modules/nodemailer/lib/smtp-connection/index.js:229:22)
outline_outline.1.ne86gzh3mdkv@manager    |     at listOnTimeout (internal/timers.js:557:17)
outline_outline.1.ne86gzh3mdkv@manager    |     at processTimers (internal/timers.js:500:7)
outline_outline.1.ne86gzh3mdkv@manager    | (Use `node --trace-warnings ...` to show where the warning was created)
outline_outline.1.ne86gzh3mdkv@manager    | (node:71) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
outline_outline.1.ne86gzh3mdkv@manager    | (node:71) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
# with docker this should mostly work out of the box other than setting the Slack
# keys (for auth) and the SECRET_KEY.
#
# Please use `openssl rand -hex 32` to create SECRET_KEY
SECRET_KEY=xxx
UTILS_SECRET=xxx


# Must point to the publicly accessible URL for the installation
URL=https://outline.xxx.com
PORT=3000

# Optional. If using a Cloudfront distribution or similar the origin server
# should be set to the same as URL.
CDN_URL=http://localhost

# enforce (auto redirect to) https in production, (optional) default is true.
# set to false if your SSL is terminated at a loadbalancer, for example
FORCE_HTTPS=false

ENABLE_UPDATES=true
DEBUG=cache,presenters,events,emails,mailer,utils,multiplayer,server,services

# Third party signin credentials (at least one is required)
SLACK_KEY=xxx
SLACK_SECRET=xxx

# 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://<your Outline URL>/auth/google.callback
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

# Comma separated list of domains to be allowed (optional)
# If not set, all Google apps domains are allowed by default
GOOGLE_ALLOWED_DOMAINS=

# Third party credentials (optional)
SLACK_VERIFICATION_TOKEN=
SLACK_APP_ID=
SLACK_MESSAGE_ACTIONS=true
GOOGLE_ANALYTICS_ID=
SENTRY_DSN=

# AWS credentials (optional in development)
AWS_ACCESS_KEY_ID=xxx
AWS_SECRET_ACCESS_KEY=xxx
AWS_REGION=xx-xxxx-x
AWS_S3_UPLOAD_BUCKET_URL=http://localhost
AWS_S3_UPLOAD_BUCKET_NAME=outline-bucket
AWS_S3_UPLOAD_MAX_SIZE=26214400
AWS_S3_FORCE_PATH_STYLE=true
# uploaded s3 objects permission level, default is private
# set to "public-read" to allow public access
AWS_S3_ACL=private

# Emails configuration (optional)
SMTP_HOST=smtp.mailgun.org
SMTP_PORT=587
SMTP_USERNAME=postmaster
SMTP_PASSWORD=xxx
[email protected]
[email protected]
SMTP_TLS_CIPHERS=STARTTLS
SMTP_SECURE=false

# Custom logo that displays on the authentication screen, scaled to height: 60px
TEAM_LOGO=xxx

# See translate.getoutline.com for a list of available language codes and their
# percentage translated.
DEFAULT_LANGUAGE=en_US
HOST=localhost
HTTP_PORT=3000
PGSSLMODE=disable

I cannot get Mailgun to work with the above settings. I am unable to send a verification email to a new user. I receive the error (at the top). I am unsure how to fix this or even troubleshoot it.

I have tried various SMTP_TLS_CIPHERS settings with SMTP_SECURE on, as well as turning SMTP_SECURE off (as shown in current env) and switching ports.

Thank you so much for your time and assistance!

Profile photo error

Everything works fine except for 1 small error: The profile photo and organization logo do not show.
image
This error only happens to profile photos & logo (uploading images in docs is still working fine).

When I open the console, there are some errors:
Error with Permissions-Policy header: Unrecognized feature: 'interest-cohort'.
Failed to load resource: (/path to the image in avatars folder) the server responded with a status of 403 ()
and a lot of "WebSocket connection to ... failed"

Something's broke after re-install (when logging in)

I re-installed my wiki using make clean make start using same slack api credential keys.

docker containers are all running fine, but when I try to log in, I get :

image

chrome console says :

slack.callback:1 Failed to load resource: the server responded with a status of 500 (Internal Server Error)

outline container console says :

Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt

can you help me? is it possible to use my original data??

File uploads to S3 not working

I configured AWS S3 to be used for file uploads instead of local minio. The file uploads seem successful on the wiki UI but do not see them on the S3 bucket files list.
Please help.

This is my configuration

AWS_ACCESS_KEY_ID=A***
AWS_SECRET_ACCESS_KEY=y***************
AWS_REGION=ap-south-1
AWS_S3_UPLOAD_BUCKET_URL=https://.s3.ap-south-1.amazonaws.com
AWS_S3_UPLOAD_BUCKET_NAME=

AWS_S3_UPLOAD_MAX_SIZE=26214400
AWS_S3_FORCE_PATH_STYLE=false

Slack Authentication Issue

Hi,

I'm getting this error

redirect_uri did not match any configured URIs. Passed URI: http://test.something.com/auth/slack.callback

I've added Redirect URL in slack which is https://test.something.com/auth/slack.callback becasue slack only supports https.
What am I doing wrong here?

How can i fix this?


ClientError [BadRequestError]: State returned in OAuth flow did not match


    at new OAuthStateMismatchError (/opt/outline/build/server/errors.js:97:34)


    at StateStore.verify (/opt/outline/build/server/utils/passport.js:49:25)


    at Strategy.OAuth2Strategy.authenticate (/opt/outline/node_modules/passport-oauth2/lib/strategy.js:219:26)


    at attempt (/opt/outline/node_modules/passport/lib/middleware/authenticate.js:366:16)


    at authenticate (/opt/outline/node_modules/passport/lib/middleware/authenticate.js:367:7)


    at /opt/outline/node_modules/@outlinewiki/koa-passport/lib/framework/koa.js:194:7


    at new Promise (<anonymous>)


    at /opt/outline/node_modules/@outlinewiki/koa-passport/lib/framework/koa.js:193:12


    at /opt/outline/node_modules/@outlinewiki/koa-passport/lib/framework/koa.js:143:7


    at new Promise (<anonymous>)


    at passportAuthenticate (/opt/outline/node_modules/@outlinewiki/koa-passport/lib/framework/koa.js:107:15)


    at passportMiddleware (/opt/outline/build/server/middlewares/passport.js:53:7)


    at dispatch (/opt/outline/node_modules/koa-compose/index.js:44:32)


    at next (/opt/outline/node_modules/koa-compose/index.js:45:18)


    at /opt/outline/node_modules/koa-router/lib/router.js:321:16


    at dispatch (/opt/outline/node_modules/koa-compose/index.js:44:32) {


  id: 'state_mismatch'


}

SSL Cert for 'not' localhost

Can your script be editted to allow for HTTPS for a server which is not localhost?

This would allow it to be made secure for those installs which are not localhost driven

Currently using this on a Digital Ocean Droplet

Profile picture is not shown

Hi,
I've successfully set up outline and everything seems to be working. The only problem I have is, that profile pictures and the website logo can't be shown. It gives me an access denied error. I can update the images though and they are also uploaded.
It seems like I can't access the images in the public folder. Do you know how to fix that issue?
Thanks.

Can upload files but cannot retrieve using DigitalOcean Spaces

I have tried connecting Outline with DO Spaces for files. Currently it can upload to the DigitalOcean Space (confirmed by manually looking for the file) but I cannot download or view (images). When I click on the file it redirects to https://outline.s3.sgp1.amazonaws.com/uploads/... instead of https://link.sgp1.digitaloceanspaces.com/outline/uploads...

This is my current setting for the .env

AWS_ACCESS_KEY_ID=xxx
AWS_SECRET_ACCESS_KEY=xxx
AWS_REGION=sgp1
AWS_S3_UPLOAD_BUCKET_URL=https://link.sgp1.digitaloceanspaces.com
AWS_S3_UPLOAD_BUCKET_NAME=outline
AWS_S3_UPLOAD_MAX_SIZE=26214400
AWS_S3_FORCE_PATH_STYLE=false
AWS_S3_ACL=private

Files upload didn't work

Hi.

Got everything installed and working, but file uploads.

Dockers says all images are running (so mini too), but for some reason it tells that where is an error uploading file.

make install issue

I am getting an error when running "make install" :

Removing: /Users/i304143/Library/Caches/Homebrew/Cask/codelite-official--16.2.0.tar.gz... (87.1MB)
Removing: /Users/i304143/Library/Logs/Homebrew/kubernetes-cli... (64B)
Pruned 0 symbolic links and 13 directories from /usr/local
Enter hostname [localhost]:
Enter http port number [80]:
sed: -i: No such file or directory
version: "3"
services:
redis:
image: redis
restart: always
postgres:
image: postgres
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
POSTGRES_DB: outline
volumes:
- ./data/pgdata:/var/lib/postgresql/data
restart: always
minio:
image: minio/minio
volumes:
- ./data/minio_root:/minio_root:z
- ./data/certs:/root/.minio/certs:z
command: "minio server /minio_root"
env_file: ./env.minio
restart: always
outline:
image: outlinewiki/outline:latest
command: sh -c "yarn sequelize:migrate --env production-ssl-disabled && yarn start"
environment:
- DATABASE_URL=postgres://user:pass@postgres:5432/outline
- DATABASE_URL_TEST=postgres://user:pass@postgres:5432/outline-test
- REDIS_URL=redis://redis:6379
env_file:
- ./env.outline
- ./env.slack
restart: always
depends_on:
- postgres
- redis
- minio
nginx:
image: nginx
ports:
- 80:80
- 4443:443
volumes:
- ./data/nginx/:/etc/nginx/conf.d/:z
- ./data/certs/:/etc/ssl/certs/:z
restart: always
depends_on:
- outline
make: *** [env.outline] Error 1

Slack Redirect URL

I have outline running on an EC2 on AWS and when I click "Continue with Slack" I get redirected to "http://localhost/auth/slack" which clearly isn't a valid URL. What am I supposed to add to the config on make?

Nevermind, I'm not a smart man. Add the URL of the hosted location, not literally "localhost"

How to use own reverse proxy as traefik ?

Hello,

How can I run Outline behind a Traefik reverse proxy ?

[Outline wiki:3000] <-> Traefik reverse proxy (domain_com:443)

Or I just want to run Outline at any port (ex: 3000): http://IP_ADDRESS:3000

Thanks !

Python error when running make start

Hi, I'm trying to deploy outline via docker following your repo and guide. I run git clone, cd, make install, insert all required vars, run make https, then I run make start. When I run make install, it triggers this error:

root@debian:~/outline-wiki-docker-compose$ make start
=> Open https://api.slack.com/apps and Create New App
=> After creating, scroll down to 'Add features and functionality' -> 'Permissions'
=> 'https://localhost/auth/slack.callback'
Copy the above to Redirect URLs. Press Enter to continue...
=> Save, go back and scroll down to 'App Credentials'
Enter App ID [(hidden)] :
Enter Client ID [(hidden)] :
Enter Client Secret [(hidden)]:
Enter Verification Token (*not* Signing Secret) [(hidden)]:
=>run 'make start' and your server should be ready shortly.
docker-compose up -d
Creating network "outline-wiki-docker-compose_default" with the default driver
Pulling outline (outlinewiki/outline:latest)...
latest: Pulling from outlinewiki/outline
e95f33c60a64: Already exists
0f691a8bb887: Already exists
daf9b71c0a0d: Already exists
d92a928c7b7d: Already exists
23cbee05658a: Already exists
5d0f7b2ff41d: Already exists
80aae438b810: Already exists
57459f6b266a: Extracting [========================>                          ]  192.2MB/392.5MB
54efad743faf: Download complete
6af689169215: Download complete
Traceback (most recent call last):
  File "/usr/lib/python3.7/http/client.py", line 554, in _get_chunk_left
    chunk_left = self._read_next_chunk_size()
  File "/usr/lib/python3.7/http/client.py", line 521, in _read_next_chunk_size
    return int(line, 16)
ValueError: invalid literal for int() with base 16: b''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/http/client.py", line 586, in _readinto_chunked
    chunk_left = self._get_chunk_left()
  File "/usr/lib/python3.7/http/client.py", line 556, in _get_chunk_left
    raise IncompleteRead(b'')
http.client.IncompleteRead: IncompleteRead(0 bytes read)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/response.py", line 360, in _error_catcher
    yield
  File "/usr/lib/python3/dist-packages/urllib3/response.py", line 442, in read
    data = self._fp.read(amt)
  File "/usr/lib/python3.7/http/client.py", line 457, in read
    n = self.readinto(b)
  File "/usr/lib/python3.7/http/client.py", line 491, in readinto
    return self._readinto_chunked(b)
  File "/usr/lib/python3.7/http/client.py", line 602, in _readinto_chunked
    raise IncompleteRead(bytes(b[0:total_bytes]))
http.client.IncompleteRead: IncompleteRead(0 bytes read)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 11, in <module>
    load_entry_point('docker-compose==1.21.0', 'console_scripts', 'docker-compose')()
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 71, in main
    command()
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 127, in perform_command
    handler(command, command_options)
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1052, in up
    to_attach = up(False)
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1048, in up
    silent=options.get('--quiet-pull'),
  File "/usr/lib/python3/dist-packages/compose/project.py", line 466, in up
    svc.ensure_image_exists(do_build=do_build, silent=silent)
  File "/usr/lib/python3/dist-packages/compose/service.py", line 324, in ensure_image_exists
    self.pull(silent=silent)
  File "/usr/lib/python3/dist-packages/compose/service.py", line 1149, in pull
    stream_output(output, sys.stdout))
  File "/usr/lib/python3/dist-packages/compose/progress_stream.py", line 26, in stream_output
    for event in utils.json_stream(output):
  File "/usr/lib/python3/dist-packages/compose/utils.py", line 61, in split_buffer
    for data in stream_as_text(stream):
  File "/usr/lib/python3/dist-packages/compose/utils.py", line 37, in stream_as_text
    for data in stream:
  File "/usr/lib/python3/dist-packages/docker/api/client.py", line 311, in _stream_helper
    data = reader.read(1)
  File "/usr/lib/python3/dist-packages/urllib3/response.py", line 459, in read
    raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
  File "/usr/lib/python3.7/contextlib.py", line 130, in __exit__
    self.gen.throw(type, value, traceback)
  File "/usr/lib/python3/dist-packages/urllib3/response.py", line 378, in _error_catcher
    raise ProtocolError('Connection broken: %r' % e, e)
urllib3.exceptions.ProtocolError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))
make: *** [Makefile:26: start] Error 1

I already tried to update all system packages, deleted all docker containers, images and network (using prune) and outline local git clone folder, and reinstall outline (with and without make https) and still trigers this error.

Collaborative Editing

Hello,

If you want to be able to use Collaborative Editing features you have to add this two lines :

  • proxy_set_header Upgrade $http_upgrade;
  • proxy_set_header Connection "upgrade";

There /data/nginx/include/proxy.conf

Like that :
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

proxy_connect_timeout 300;

Default is HTTP/1, keepalive is only enabled in HTTP/1.1

proxy_http_version 1.1;

proxy_set_header Connection "";

chunked_transfer_encoding off;

If not you can not use this Features.

Keep doing good job.

Peace ✌️

Sending eMail invites

Thanks, this works really well. The only thing that doesn't seem to work is the sending of invites and signing up with an eMail address. Is there anything I can do to make it work?

Upgrading from 0.45.0

Has anyone been able to upgrade from outlinewiki/outline:version-0.45.0? I tried just updating the docker image but got some missing command errors when running docker-compose up (exited with code 127 from /bin/sh: i18next: not found docker).

When I updated all docker images, the errors started to be about the postgres database version. Is there a easy(ish) way to migrate my existing outline wiki to the latest version?

Should I just make a new server and manually port all the docs over?

Add Google Auth?

Is it possible to add Google Auth to the "make install" script, so that it can add this to the .env file as well?

(External) Nginx Reverse Proxy Config

In order to use a external nginx with reverse proxy, you have to configure your files after the first init manually like this:

env.outline:

url=https://outline.example.com # without port
...
AWS_S3_UPLOAD_BUCKET_URL=https://outline.example.com # without port
...
host=outline.example.com

docker-compose.yml:

...
nginx:
    image: nginx
    ports:
      # Bind to localhost, instead of 8082 you can use any other (free) port
      - "127.0.0.1:8082:80"
      # Comment out - 4443:443
...

After this rebuild your container:

docker-compose up --build -d

Create a nginx config file for your external nginx (dont forget to replace IPv4/IPv6 with your real ip address):

server {
    listen IPv4:443 ssl http2;
    listen [IPv6]:443 ssl http2;
    listen IPv4:80;
    listen [IPv6]:80;
    server_name outline.example.com;

    ssl_certificate /etc/ssl/outline.example.com.pem;
    ssl_certificate_key /etc/ssl/outline.example.com.key;
 
    add_header Strict-Transport-Security "max-age=31536000; preload";
    add_header HTTPS "on";
    
    root /var/www/default;

    if ($ssl_protocol = "") {
        return 301 https://$server_name$request_uri;
    }
   
     location / {
        ssi on;
        proxy_pass http://localhost:8082/;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    
     location /realtime {
        proxy_pass http://localhost:8082/realtime;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;
        proxy_read_timeout 86400;
    }
}

ERR_SSL_NO_CIPHER_MATCH

Error: error:1410D0B9:SSL routines:SSL_CTX_set_cipher_list:no cipher match
outline_outline.1.r1wquypqaqmh@manager    |     at Object.createSecureContext (_tls_common.js:217:13)
outline_outline.1.r1wquypqaqmh@manager    |     at Object.connect (_tls_wrap.js:1605:48)
outline_outline.1.r1wquypqaqmh@manager    |     at SMTPConnection._upgradeConnection (/opt/outline/node_modules/nodemailer/lib/smtp-connection/index.js:876:28)
outline_outline.1.r1wquypqaqmh@manager    |     at SMTPConnection._actionSTARTTLS (/opt/outline/node_modules/nodemailer/lib/smtp-connection/index.js:1346:14)
outline_outline.1.r1wquypqaqmh@manager    |     at SMTPConnection._processResponse (/opt/outline/node_modules/nodemailer/lib/smtp-connection/index.js:932:20)
outline_outline.1.r1wquypqaqmh@manager    |     at SMTPConnection._onData (/opt/outline/node_modules/nodemailer/lib/smtp-connection/index.js:739:14)
outline_outline.1.r1wquypqaqmh@manager    |     at Socket.SMTPConnection._onSocketData (/opt/outline/node_modules/nodemailer/lib/smtp-connection/index.js:189:44)
outline_outline.1.r1wquypqaqmh@manager    |     at Socket.emit (events.js:400:28)
outline_outline.1.r1wquypqaqmh@manager    |     at Socket.emit (domain.js:470:12)
outline_outline.1.r1wquypqaqmh@manager    |     at addChunk (internal/streams/readable.js:290:12)
outline_outline.1.r1wquypqaqmh@manager    |     at readableAddChunk (internal/streams/readable.js:265:9)
outline_outline.1.r1wquypqaqmh@manager    |     at Socket.Readable.push (internal/streams/readable.js:204:10)
outline_outline.1.r1wquypqaqmh@manager    |     at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {
outline_outline.1.r1wquypqaqmh@manager    |   library: 'SSL routines',
outline_outline.1.r1wquypqaqmh@manager    |   function: 'SSL_CTX_set_cipher_list',
outline_outline.1.r1wquypqaqmh@manager    |   reason: 'no cipher match',
outline_outline.1.r1wquypqaqmh@manager    |   code: 'ERR_SSL_NO_CIPHER_MATCH'
outline_outline.1.r1wquypqaqmh@manager    | }

Could anyone perhaps assist me with this? I have tried having the cipher in every which way, including switching to Mailhog from Mailgun... Anyone have any ideas?

I just need users to be able to sign up to my Linode's Outline, is all. (I have already gotten Linode to open up the requisite ports/SMTP for me!)

I can successfully send emails locally as a test via Mailhog
image

Thank you!

P.S. I also had #27 but I resolved it by getting with Linode--however this error persists.

env.outline is malformed after running setup script

Hi! Thanks for this - it let me try out outline in no time at all.

Wanted to file a lil bug for something a friend and I both caught independently. After going through make install I was receiving a 502 error. The logs mentioned something along the lines of: "Validation isIn on language failed." Curious, I poked around some of the env files and noticed the following at the bottom of env.outline

DEFAULT_LANGUAGE=en_USHOST=outline.jordanscales.com

(No space after en_US, which seemed relevant to "isIn on language failed"). Adding a newline to change the text to:

DEFAULT_LANGUAGE=en_US
HOST=outline.jordanscales.com

Fixed the issue on restart.

Bad Gateway - 502

Hi!
I am stuck in a 502 - Bad Gateway problem when trying to access the application. I have followed all the steps, but I can get out of this problem. I have already tried on localhost and in a EC2 instance in AWS. Do you have some idea about what could be the cause of the problem?

No Connection to Server

Hello
I have installed everything successfully, but after opening Outline and logging in I can't edit any documents and after a few seconds I get the error message "connection to server lost".
I use a raspberryPI 4b with 8GB ram
Thanks for the help in advance

/outline command

When I add the slack integration, it does not add the /outline command to my slack env.
Do we need to add a /outline command in https://api.slack.com/apps for /outline? What call do we have to use?

nginx proxy wss

nginx proxy need add

location /realtime/ {
proxy_pass http://outline:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}

Make https not working

# make https Generating HTTPS configuration error on line -1 of /dev/fd/63 140291538564752:error:02001002:system library:fopen:No such file or directory:bss_file.c:175:fopen('/dev/fd/63','rb') 140291538564752:error:2006D080:BIO routines:BIO_new_file:no such file:bss_file.c:182: 140291538564752:error:0E078072:configuration file routines:DEF_LOAD:no such file:conf_def.c:201: make: *** [Makefile:9: data/certs/private.key] Error 1 [/share/Download/outline_installer/outline-wiki-docker-compose] #

Unraid

Is this possible to use on the unraid docker system?

Ive tried some basic things, but im far some an expert.

Thinks it should as - as docker 'is docker' and would definatly help alot of people!

make install ERROR

[root@server-01 outline-wiki-docker-compose-master]# make install
Enter hostname [localhost]:
Enter http port number [80]:
Enter bucket name to store images [outline-bucket]:
make: *** [env.minio] 错误 4

nginx 502 / "113: No route to host"

Hi everyone,

Thanks for the great work with this. I'm running into this issue as well.

cloned this repo and just made an edit to the docker-compose.yml to use tobi312/minio as I'm trying to run this on a Raspberry pi 4.

image

Here's my terminal output:
Capture d’écran, le 2021-09-26 à 12 35 07

and my docker-compose.yml:

version: "3"
services:
  redis:
    image: redis
    restart: always
  postgres:
    image: postgres
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: pass
      POSTGRES_DB: outline
    volumes:
      - ./data/pgdata:/var/lib/postgresql/data
    restart: always
  minio:
    image: tobi312/minio
    volumes:
      - ./data/minio_root:/minio_root:z
      - ./data/certs:/root/.minio/certs:z
    command: "minio server /minio_root"
    env_file: ./env.minio
    restart: always
  outline:
    image: outlinewiki/outline:latest
    command: sh -c "yarn sequelize:migrate --env production-ssl-disabled && yarn start"
    environment:
      - DATABASE_URL=postgres://user:pass@postgres:5432/outline
      - DATABASE_URL_TEST=postgres://user:pass@postgres:5432/outline-test
      - REDIS_URL=redis://redis:6379
    env_file:
      - ./env.outline
      - ./env.slack
    restart: always
    depends_on:
      - postgres
      - redis
      - minio
  nginx:
    image: nginx
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./data/nginx/:/etc/nginx/conf.d/:z
      - ./data/certs/:/etc/ssl/certs/:z
    restart: always
    depends_on:
      - outline

Checking the logs for the nginx container:

2021/09/26 23:55:22 [error] 31#31: *1 connect() failed (113: No route to host) while connecting to upstream, client: 172.19.0.1, server: , request: "GET / HTTP/2.0", upstream: "http://172.19.0.3:3000/", host: "pi4.local"
172.19.0.1 - - [26/Sep/2021:23:55:22 +0000] "GET / HTTP/2.0" 502 157 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:92.0) Gecko/20100101 Firefox/92.0" "-"
172.19.0.1 - - [26/Sep/2021:23:55:22 +0000] "GET /favicon.ico HTTP/2.0" 499 0 "https://pi4.local/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:92.0) Gecko/20100101 Firefox/92.0" "-"

Anybody ran into this before? Any suggestions?

Thanks in advance for your help,

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.