Wiki and knowledge base for growing teams
Go to file
iexos 6a1fb0e4f3
continuous-integration/drone/push Build is failing Details
chore: publish 2.4.2+0.77.3 release
2024-07-15 17:24:35 +02:00
release chore: publish 2.0.1+0.74.0 release 2023-12-19 18:59:29 +01:00
.drone.yml add support for local storage 2023-12-14 12:29:37 +01: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 document how to generate the secrets 2024-05-01 12:42:29 +02:00 increment APP_ENTRYPOINT_VERSION 2023-12-19 18:48:48 +01:00
alaconnect.yml add alakazam integration file alaconnect.yml 2024-05-13 17:33:49 +02:00 add support for local storage 2023-12-14 12:29:37 +01:00 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.4.2+0.77.3 release 2024-07-15 17:24:35 +02:00 Don't run postgres migrate on a new DB 2023-07-19 11:41:20 +01:00 fix entrypoint script 2023-12-17 15:51:28 +01:00


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

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"
  • abra app deploy <domain> -f
    • 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
    • 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