Wiki and knowledge base for growing teams https://github.com/outline/outline
Go to file
3wc 10c074a96b
All checks were successful
continuous-integration/drone/push Build is passing
Add DB_ENTRYPOINT_VERSION for CI test
2024-10-02 14:17:28 -04:00
release chore: publish 2.0.1+0.74.0 release 2023-12-19 18:59:29 +01:00
.drone.yml Add DB_ENTRYPOINT_VERSION for CI test 2024-10-02 14:17:28 -04:00
.env.sample add support for local storage 2023-12-14 12:29:37 +01:00
.gitignore Initial commit 2021-10-28 18:33:56 +00:00
abra.sh add secret generation script 2024-09-23 17:05:52 +02:00
alaconnect.yml add alakazam integration file alaconnect.yml 2024-05-13 17:33:49 +02:00
compose.aws.yml add support for local storage 2023-12-14 12:29:37 +01:00
compose.google.yml feat: add ALOWED_DOMAINS setting 2022-06-25 12:28:36 +01:00
compose.local.yml add backupbot label for local data 2024-07-05 17:47:40 +02:00
compose.oidc.yml remove those unused vars, sort 2022-05-26 12:42:18 +02:00
compose.smtp.yml add smtp support 2023-06-20 12:58:15 +02:00
compose.yml chore: publish 2.7.0+0.80.2 release 2024-10-02 14:14:35 -04:00
entrypoint.postgres.sh.tmpl Don't run postgres migrate on a new DB 2023-07-19 11:41:20 +01:00
entrypoint.sh.tmpl fix entrypoint script 2023-12-17 15:51:28 +01:00
README.md document how to generate the secrets 2024-05-01 12:42:29 +02:00

Outline

Wiki and knowledge base for growing teams

  • Category: Apps
  • Status: 3, beta
  • Image: outlinewiki/outline, 4, upstream
  • Healthcheck: No
  • Backups: Yes
  • Email: Yes
  • Tests: 2
  • SSO: 3 (OAuth)

Basic usage

  1. Set up Docker Swarm and abra
  2. Deploy coop-cloud/traefik
  3. abra app new ${REPO_NAME}
    • WARNING: Choose "n" when abra asks if you'd like to generate secrets
  4. abra app config YOURAPPNAME - be sure to change $DOMAIN to something that resolves to your Docker swarm box
  5. Insert secrets:
    • abra app secret insert YOURAPPNAME secret_key v1 $(openssl rand -hex 32) #12
    • abra app secret generate -a YOURAPPNAME
  6. abra app deploy YOURAPPNAME
  7. Open the configured domain in your browser to finish set-up

Tips & Tricks

Create an initial admin user

abra app cmd YOURAPPNAME app create_email_user test@example.com

Setting up your .env config

Avoid the use of quotes ("...") as much as possible, the NodeJS scripts flip out for some reason on some vars.

Deleting a user (e.g. to fix SSO weirdness)

abra app cmd YOURAPPNAME db delete_user <username-to-delete> <username-to-replace>

Where <username-to-delete> is the username of the user to be removed, and <username-to-replace> is the username of another user, to assign documents and revisions to (instead of deleting them).

Migrate from S3 to local storage

  • abra app config <domain>, add
    • COMPOSE_FILE="$COMPOSE_FILE:compose.local.yml"
    • FILE_STORAGE_UPLOAD_MAX_SIZE=26214400
  • abra app deploy <domain> -f
    • compose.aws.yml should still be deployed!
  • abra app undeploy <domain>
  • on the docker host, find mountpoint of newly created volume via docker volume ls and docker volume inspect
    • volume name is smth like <domain>_storage-data
  • take note which linux user owns <storage_mountpoint> (likely 1001)
  • use s3cmd/rclone/... to sync your bucket to <storage_mountpoint>
  • chown -R <storage_user>:<storage_user> <storage_mountpoint>
  • abra app config <domain>, switch storage backend
    • remove AWS_* vars, SECRET_AWS_SECRET_KEY_VERSION and COMPOSE_FILE="$COMPOSE_FILE:compose.aws.yml"
    • set FILE_STORAGE=local
  • abra app deploy <domain> -f
  • enjoy getting rid of S3 🥳

Single Sign On with Keycloak

abra app config YOURAPPNAME, then uncomment everything in the OIDC_ section.

Create a new client in Keycloak:

  • Valid Redirect URIs: https://YOURAPPDOMAIN/auth/oidc.callback

abra app deploy YOURAPPDOMAIN