# Outline Wiki and knowledge base for growing teams * **Category**: Apps * **Status**: 3, beta * **Image**: [outlinewiki/outline](https://hub.docker.com/r/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. For Minio, you'll want: - `AWS_ACCESS_KEY_ID=` - `AWS_REGION="us-east-1"` - `AWS_S3_UPLOAD_BUCKET_URL=https://minio.example.com` - `AWS_S3_UPLOAD_BUCKET_NAME= 5. `abra app deploy YOURAPPNAME` 7. Open the configured domain in your browser to finish set-up [`abra`]: https://git.coopcloud.tech/coop-cloud/abra [`coop-cloud/traefik`]: https://git.coopcloud.tech/coop-cloud/traefik ## Tips & Tricks ### Create an initial admin user ``` abra app cmd YOURAPPNAME app create_email_user test@example.com ``` ### Post-deploy migration ``` abra app cmd YOURAPPNAME app migrate ``` _As of 2022-03-30, this requires `abra` RC version, run `abra upgrade --rc`._ ### 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 ` Where `` is the username of the user to be removed, and `` is the username of another user, to assign documents and revisions to (instead of deleting them). _As of 2022-03-30, this requires `abra` RC version, run `abra upgrade --rc`._ ## 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`