forked from coop-cloud/outline
		
	Compare commits
	
		
			22 Commits
		
	
	
		
			0.3.0+0.62
			...
			smtp
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 3c9ea7e608 | |||
| 
						
						
							
						
						08ec0295c5
	
				 | 
					
					
						|||
| 
						
						
							
						
						9bc4e9855a
	
				 | 
					
					
						|||
| 
						
						
							
						
						0351cf3e80
	
				 | 
					
					
						|||
| 
						
						
							
						
						3cfd546e5b
	
				 | 
					
					
						|||
| 
						
						
							
						
						b0939968af
	
				 | 
					
					
						|||
| 
						
						
							
						
						042c5a71a6
	
				 | 
					
					
						|||
| 
						
						
							
						
						6051ea5b37
	
				 | 
					
					
						|||
| 
						
						
							
						
						4745b2e836
	
				 | 
					
					
						|||
| 
						
						
							
						
						758d4d6af8
	
				 | 
					
					
						|||
| 
						
						
							
						
						3736e7efbb
	
				 | 
					
					
						|||
| 758d1615f8 | |||
| 18002e6276 | |||
| 37fb7cd5d0 | |||
| 
						
						
							
						
						a748dce34b
	
				 | 
					
					
						|||
| 
						
						
							
						
						cce7b26929
	
				 | 
					
					
						|||
| 
						
						
							
						
						85324a477c
	
				 | 
					
					
						|||
| 
						
						
							
						
						8bac424b47
	
				 | 
					
					
						|||
| 
						
						
							
						
						39c98d7d53
	
				 | 
					
					
						|||
| 4c242219e1 | |||
| 0841e85a57 | |||
| 
						
						
							
						
						6ee580b9de
	
				 | 
					
					
						
							
								
								
									
										28
									
								
								.env.sample
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								.env.sample
									
									
									
									
									
								
							@ -8,8 +8,9 @@ DOMAIN=outline.example.com
 | 
			
		||||
#EXTRA_DOMAINS=', `www.outline.example.com`'
 | 
			
		||||
LETS_ENCRYPT_ENV=production
 | 
			
		||||
 | 
			
		||||
# https://git.coopcloud.tech/coop-cloud-chaos-patchs/outline
 | 
			
		||||
#COMPOSE_FILE="compose.yml:compose.patch.yml"
 | 
			
		||||
COMPOSE_FILE="compose.yml"
 | 
			
		||||
#COMPOSE_YML="compose.yml:compose.oidc.yml"
 | 
			
		||||
#COMPOSE_YML="compose.yml:compose.google.yml"
 | 
			
		||||
 | 
			
		||||
# –––––––––––––––– REQUIRED ––––––––––––––––
 | 
			
		||||
 | 
			
		||||
@ -17,7 +18,6 @@ SECRET_DB_PASSWORD_VERSION=v1
 | 
			
		||||
SECRET_SECRET_KEY_VERSION=v1  # length=64
 | 
			
		||||
SECRET_UTILS_SECRET_VERSION=v1  # length=64
 | 
			
		||||
SECRET_AWS_SECRET_KEY_VERSION=v1
 | 
			
		||||
SECRET_OIDC_CLIENT_SECRET_VERSION=v1
 | 
			
		||||
 | 
			
		||||
AWS_ACCESS_KEY_ID=
 | 
			
		||||
AWS_REGION=
 | 
			
		||||
@ -27,14 +27,6 @@ AWS_S3_UPLOAD_MAX_SIZE=26214400
 | 
			
		||||
AWS_S3_FORCE_PATH_STYLE=true
 | 
			
		||||
AWS_S3_ACL=private
 | 
			
		||||
 | 
			
		||||
OIDC_CLIENT_ID=
 | 
			
		||||
OIDC_AUTH_URI=
 | 
			
		||||
OIDC_TOKEN_URI=
 | 
			
		||||
OIDC_USERINFO_URI=
 | 
			
		||||
OIDC_USERNAME_CLAIM=preferred_username
 | 
			
		||||
OIDC_DISPLAY_NAME="My Cool OpenId Connect Provider"
 | 
			
		||||
OIDC_SCOPES="openid profile email"
 | 
			
		||||
 | 
			
		||||
# –––––––––––––––– OPTIONAL ––––––––––––––––
 | 
			
		||||
 | 
			
		||||
TEAM_LOGO=
 | 
			
		||||
@ -77,3 +69,17 @@ ALLOWED_DOMAINS=
 | 
			
		||||
#SMTP_REPLY_EMAIL=
 | 
			
		||||
#SMTP_TLS_CIPHERS=
 | 
			
		||||
#SMTP_SECURE=true
 | 
			
		||||
 | 
			
		||||
#OIDC_ENABLED=1
 | 
			
		||||
#OIDC_CLIENT_ID=
 | 
			
		||||
#OIDC_AUTH_URI=
 | 
			
		||||
#OIDC_TOKEN_URI=
 | 
			
		||||
#OIDC_USERINFO_URI=
 | 
			
		||||
#OIDC_USERNAME_CLAIM=preferred_username
 | 
			
		||||
#OIDC_DISPLAY_NAME="My Cool OpenId Connect Provider"
 | 
			
		||||
#OIDC_SCOPES="openid profile email"
 | 
			
		||||
#SECRET_OIDC_CLIENT_SECRET_VERSION=v1
 | 
			
		||||
 | 
			
		||||
#GOOGLE_ENABLED=1
 | 
			
		||||
#GOOGLE_CLIENT_ID=
 | 
			
		||||
#SECRET_GOOGLE_CLIENT_SECRET_VERSION=v1
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										29
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								README.md
									
									
									
									
									
								
							@ -5,13 +5,13 @@ Wiki and knowledge base for growing teams
 | 
			
		||||
<!-- metadata -->
 | 
			
		||||
 | 
			
		||||
* **Category**: Apps
 | 
			
		||||
* **Status**:
 | 
			
		||||
* **Status**: 1, alpha
 | 
			
		||||
* **Image**: [outlinewiki/outline](https://hub.docker.com/r/outlinewiki/outline)
 | 
			
		||||
* **Healthcheck**:
 | 
			
		||||
* **Backups**:
 | 
			
		||||
* **Email**:
 | 
			
		||||
* **Tests**:
 | 
			
		||||
* **SSO**:
 | 
			
		||||
* **Healthcheck**: No
 | 
			
		||||
* **Backups**: No
 | 
			
		||||
* **Email**: No
 | 
			
		||||
* **Tests**: No
 | 
			
		||||
* **SSO**: 3 (OAuth)
 | 
			
		||||
 | 
			
		||||
<!-- endmetadata -->
 | 
			
		||||
 | 
			
		||||
@ -34,16 +34,21 @@ Wiki and knowledge base for growing teams
 | 
			
		||||
### Post-deploy migration
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
abra app run YOURAPPNAME app sh
 | 
			
		||||
export DATABASE_PASSWORD=$(cat /run/secrets/db_password)
 | 
			
		||||
export DATABASE_URL="postgres://outline:${DATABASE_PASSWORD}@${STACK_NAME}_postgres:5432/outline"
 | 
			
		||||
yarn db:migrate --env=production-ssl-disabled
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
### Multiple users logging in & generic oauth
 | 
			
		||||
### Deleting a user (e.g. to fix SSO weirdness)
 | 
			
		||||
 | 
			
		||||
`COMPOSE_FILE="compose.yml:compose.patch.yml"`
 | 
			
		||||
`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).
 | 
			
		||||
 | 
			
		||||
_As of 2022-03-30, this requires `abra` RC version, run `abra upgrade --rc`._
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										47
									
								
								abra.sh
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								abra.sh
									
									
									
									
									
								
							@ -1 +1,46 @@
 | 
			
		||||
export APP_ENTRYPOINT_VERSION=v2
 | 
			
		||||
export APP_ENTRYPOINT_VERSION=v5
 | 
			
		||||
 | 
			
		||||
migrate() {
 | 
			
		||||
	export DATABASE_PASSWORD=$(cat /run/secrets/db_password)
 | 
			
		||||
	export DATABASE_URL="postgres://outline:${DATABASE_PASSWORD}@${STACK_NAME}_db:5432/outline"
 | 
			
		||||
	yarn db:migrate --env=production-ssl-disabled
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
delete_user() {
 | 
			
		||||
	if [ -z "$1" ] || [ -z "$2" ]; then
 | 
			
		||||
		echo "Usage: ... delete_user <user-to-delete> <user-to-replace>"
 | 
			
		||||
		exit 1
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	USERID_REMOVE=$(echo "SELECT id FROM users WHERE username = '$1'" | psql -t -A -U outline outline)
 | 
			
		||||
	USERID_REPLACE=$(echo "SELECT id FROM users WHERE username = '$2'" | psql -t -A -U outline outline)
 | 
			
		||||
 | 
			
		||||
	if [ -z "$USERID_REMOVE" ]; then
 | 
			
		||||
		echo "Can't find ID of '$1'"
 | 
			
		||||
		exit 1
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	if [ -z "$USERID_REPLACE" ]; then
 | 
			
		||||
		echo "Can't find ID of '$2'"
 | 
			
		||||
		exit 1
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	psql -U outline outline <<- SQL
 | 
			
		||||
	UPDATE documents SET "userId" = '$USERID_REPLACE' WHERE "userId" = '$USERID_REMOVE';
 | 
			
		||||
	UPDATE groups SET "createdById" = '$USERID_REPLACE' WHERE "createdById" = '$USERID_REMOVE';
 | 
			
		||||
	UPDATE pins SET "createdById" = '$USERID_REPLACE' WHERE "createdById" = '$USERID_REMOVE';
 | 
			
		||||
	UPDATE group_users SET "createdById" = '$USERID_REPLACE' WHERE "createdById" = '$USERID_REMOVE';
 | 
			
		||||
	UPDATE collections SET "createdById" = '$USERID_REPLACE' WHERE "createdById" = '$USERID_REMOVE';
 | 
			
		||||
	UPDATE collection_users SET "createdById" = '$USERID_REPLACE' WHERE "createdById" = '$USERID_REMOVE';
 | 
			
		||||
	UPDATE documents SET "lastModifiedById" = '$USERID_REPLACE' WHERE "lastModifiedById" = '$USERID_REMOVE';
 | 
			
		||||
	UPDATE documents SET "createdById" = '$USERID_REPLACE' WHERE "createdById" = '$USERID_REMOVE';
 | 
			
		||||
	UPDATE revisions SET "userId" = '$USERID_REPLACE' WHERE "userId" = '$USERID_REMOVE';
 | 
			
		||||
	UPDATE attachments SET "userId" = '$USERID_REPLACE' WHERE "userId" = '$USERID_REMOVE';
 | 
			
		||||
	DELETE FROM search_queries WHERE "userId" = '$USERID_REMOVE';
 | 
			
		||||
	DELETE FROM shares WHERE "userId" = '$USERID_REMOVE';
 | 
			
		||||
	DELETE FROM notification_settings WHERE "userId" = '$USERID_REMOVE';
 | 
			
		||||
	DELETE FROM events WHERE "actorId" = '$USERID_REMOVE';
 | 
			
		||||
	DELETE FROM events WHERE "userId" = '$USERID_REMOVE';
 | 
			
		||||
	DELETE FROM users WHERE username = '$1';
 | 
			
		||||
	SQL
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										15
									
								
								compose.google.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								compose.google.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
			
		||||
---
 | 
			
		||||
version: "3.8"
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  app:
 | 
			
		||||
    secrets:
 | 
			
		||||
      - google_client_secret
 | 
			
		||||
    environment:
 | 
			
		||||
      - GOOGLE_CLIENT_ID
 | 
			
		||||
      - GOOGLE_ENABLED
 | 
			
		||||
 | 
			
		||||
secrets:
 | 
			
		||||
  google_client_secret:
 | 
			
		||||
    name: ${STACK_NAME}_google_client_secret_${SECRET_GOOGLE_CLIENT_SECRET_VERSION}
 | 
			
		||||
    external: true
 | 
			
		||||
							
								
								
									
										21
									
								
								compose.oidc.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								compose.oidc.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
			
		||||
---
 | 
			
		||||
version: "3.8"
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  app:
 | 
			
		||||
    secrets:
 | 
			
		||||
      - oidc_client_secret
 | 
			
		||||
    environment:
 | 
			
		||||
      - OIDC_AUTH_URI
 | 
			
		||||
      - OIDC_CLIENT_ID
 | 
			
		||||
      - OIDC_DISPLAY_NAME
 | 
			
		||||
      - OIDC_ENABLED
 | 
			
		||||
      - OIDC_SCOPES
 | 
			
		||||
      - OIDC_TOKEN_URI
 | 
			
		||||
      - OIDC_USERINFO_URI
 | 
			
		||||
      - OIDC_USERNAME_CLAIM
 | 
			
		||||
 | 
			
		||||
secrets:
 | 
			
		||||
  oidc_client_secret:
 | 
			
		||||
    name: ${STACK_NAME}_oidc_client_secret_${SECRET_OIDC_CLIENT_SECRET_VERSION}
 | 
			
		||||
    external: true
 | 
			
		||||
@ -1,6 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
version: "3.8"
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  app:
 | 
			
		||||
    image: thecoopcloud/outline-with-patch:latest
 | 
			
		||||
							
								
								
									
										14
									
								
								compose.smtp.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								compose.smtp.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
			
		||||
---
 | 
			
		||||
version: "3.8"
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  app:
 | 
			
		||||
    environment:
 | 
			
		||||
      - SMTP_HOST
 | 
			
		||||
      - SMTP_PORT
 | 
			
		||||
      - SMTP_USERNAME
 | 
			
		||||
      - SMTP_PASSWORD
 | 
			
		||||
      - SMTP_FROM_EMAIL
 | 
			
		||||
      - SMTP_REPLY_EMAIL
 | 
			
		||||
      - SMTP_SECURE
 | 
			
		||||
      - SMTP_TLS_CIPHERS
 | 
			
		||||
							
								
								
									
										27
									
								
								compose.yml
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								compose.yml
									
									
									
									
									
								
							@ -3,23 +3,22 @@ version: "3.8"
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  app:
 | 
			
		||||
    # entrypoint: ['tail', '-f', '/dev/null']
 | 
			
		||||
    networks:
 | 
			
		||||
      - backend
 | 
			
		||||
      - proxy
 | 
			
		||||
    image: outlinewiki/outline:0.62.0
 | 
			
		||||
    image: outlinewiki/outline:0.64.3
 | 
			
		||||
    secrets:
 | 
			
		||||
      - aws_secret_key
 | 
			
		||||
      - db_password
 | 
			
		||||
      - oidc_client_secret
 | 
			
		||||
      - secret_key
 | 
			
		||||
      - utils_secret
 | 
			
		||||
    configs:
 | 
			
		||||
      - source: app_entrypoint
 | 
			
		||||
        target: /docker-entrypoint.sh
 | 
			
		||||
        mode: 0555
 | 
			
		||||
    volumes:
 | 
			
		||||
      - outline_data:/opt/outline
 | 
			
		||||
    environment:
 | 
			
		||||
      - DEBUG
 | 
			
		||||
      - AWS_ACCESS_KEY_ID
 | 
			
		||||
      - AWS_REGION
 | 
			
		||||
      - AWS_S3_ACL
 | 
			
		||||
@ -31,16 +30,8 @@ services:
 | 
			
		||||
      - AWS_SECRET_KEY_FILE=/run/secrets/aws_secret_key
 | 
			
		||||
      - DATABASE_PASSWORD_FILE=/run/secrets/db_password
 | 
			
		||||
      - FORCE_HTTPS=true
 | 
			
		||||
      - OIDC_AUTH_URI
 | 
			
		||||
      - OIDC_CLIENT_ID
 | 
			
		||||
      - OIDC_CLIENT_SECRET_FILE=/run/secrets/oidc_client_secret
 | 
			
		||||
      - OIDC_DISPLAY_NAME
 | 
			
		||||
      - OIDC_SCOPES
 | 
			
		||||
      - OIDC_TOKEN_URI
 | 
			
		||||
      - OIDC_USERINFO_URI
 | 
			
		||||
      - OIDC_USERNAME_CLAIM
 | 
			
		||||
      - PGSSLMODE=disable
 | 
			
		||||
      - REDIS_URL=redis://${STACK_NAME}_redis:6379
 | 
			
		||||
      - REDIS_URL=redis://${STACK_NAME}_cache:6379
 | 
			
		||||
      - SECRET_KEY_FILE=/run/secrets/secret_key
 | 
			
		||||
      - STACK_NAME
 | 
			
		||||
      - TEAM_LOGO
 | 
			
		||||
@ -54,18 +45,18 @@ services:
 | 
			
		||||
        - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
 | 
			
		||||
        - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
 | 
			
		||||
        - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
 | 
			
		||||
        - "coop-cloud.${STACK_NAME}.version=0.3.0+0.62.0"
 | 
			
		||||
        - "coop-cloud.${STACK_NAME}.version=0.4.0+0.64.3"
 | 
			
		||||
        ## Redirect from EXTRA_DOMAINS to DOMAIN
 | 
			
		||||
        #- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
 | 
			
		||||
        #- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
 | 
			
		||||
        #- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
 | 
			
		||||
 | 
			
		||||
  redis:
 | 
			
		||||
  cache:
 | 
			
		||||
    image: redis:6.2.6
 | 
			
		||||
    networks:
 | 
			
		||||
      - backend
 | 
			
		||||
 | 
			
		||||
  postgres:
 | 
			
		||||
  db:
 | 
			
		||||
    image: postgres:11
 | 
			
		||||
    networks:
 | 
			
		||||
      - backend
 | 
			
		||||
@ -88,9 +79,6 @@ secrets:
 | 
			
		||||
  aws_secret_key:
 | 
			
		||||
    name: ${STACK_NAME}_aws_secret_key_${SECRET_AWS_SECRET_KEY_VERSION}
 | 
			
		||||
    external: true
 | 
			
		||||
  oidc_client_secret:
 | 
			
		||||
    name: ${STACK_NAME}_oidc_client_secret_${SECRET_OIDC_CLIENT_SECRET_VERSION}
 | 
			
		||||
    external: true
 | 
			
		||||
  db_password:
 | 
			
		||||
    name: ${STACK_NAME}_db_password_${SECRET_DB_PASSWORD_VERSION}
 | 
			
		||||
    external: true
 | 
			
		||||
@ -101,7 +89,6 @@ networks:
 | 
			
		||||
  backend:
 | 
			
		||||
 | 
			
		||||
volumes:
 | 
			
		||||
  outline_data:
 | 
			
		||||
  postgres_data:
 | 
			
		||||
 | 
			
		||||
configs:
 | 
			
		||||
 | 
			
		||||
@ -1,10 +1,18 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
export AWS_SECRET_ACCESS_KEY=$(cat /run/secrets/aws_secret_key)
 | 
			
		||||
 | 
			
		||||
{{ if eq (env "OIDC_ENABLED") "1" }}
 | 
			
		||||
export OIDC_CLIENT_SECRET=$(cat /run/secrets/oidc_client_secret)
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ if eq (env "GOOGLE_ENABLED") "1" }}
 | 
			
		||||
export GOOGLE_CLIENT_SECRET=$(cat /run/secrets/google_client_secret)
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
export UTILS_SECRET=$(cat /run/secrets/utils_secret)
 | 
			
		||||
export SECRET_KEY=$(cat /run/secrets/secret_key)
 | 
			
		||||
export DATABASE_PASSWORD=$(cat /run/secrets/db_password)
 | 
			
		||||
export DATABASE_URL="postgres://outline:${DATABASE_PASSWORD}@${STACK_NAME}_postgres:5432/outline"
 | 
			
		||||
export DATABASE_URL="postgres://outline:${DATABASE_PASSWORD}@${STACK_NAME}_db:5432/outline"
 | 
			
		||||
 | 
			
		||||
/usr/local/bin/yarn start "$@"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										30
									
								
								release/0.4.0+0.64.3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								release/0.4.0+0.64.3
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,30 @@
 | 
			
		||||
WARNING: This is a breaking release, you will certainly need to read this & fix
 | 
			
		||||
your config to have a successful deployment! There has been a lot of churn on
 | 
			
		||||
this recipe due to the experimental nature of getting things up and running.
 | 
			
		||||
We're hoping things will stabilise soon. It's a lovely software after all and
 | 
			
		||||
users are enjoying using it.
 | 
			
		||||
 | 
			
		||||
- Additional login methods have been added e.g. Google (yep...). You now need
 | 
			
		||||
  to make a choice of which authentication you want to make. This can be done by
 | 
			
		||||
  using the usual `$AUTH_ENABLED=1` environment variable condition. See the
 | 
			
		||||
  recipe `.env.sample` for more.
 | 
			
		||||
 | 
			
		||||
- If you were using the generic OpenID Connect authentication method (e.g.
 | 
			
		||||
  Keycloak, Authentik) then you will now need to use
 | 
			
		||||
  `COMPOSE_FILE=compose.yml:compose.oidc.yml` and provide the `OIDC_*`
 | 
			
		||||
  environment variables in your `.env` file. See the recipe `.env.sample` for
 | 
			
		||||
  more.
 | 
			
		||||
 | 
			
		||||
- We are no longer using a fork of Outline for the recipe (yay!). If you were
 | 
			
		||||
  using the old patched version, you'll have to deal with some migration issues.
 | 
			
		||||
  See https://git.coopcloud.tech/coop-cloud/outline#deleting-a-user-e-g-to-fix-sso-weirdness
 | 
			
		||||
  for more.
 | 
			
		||||
 | 
			
		||||
- Furthermore, following https://git.coopcloud.tech/coop-cloud/outline/issues/9, you will
 | 
			
		||||
  need to undeploy your stack and re-deploy as some of the services have been renamed to
 | 
			
		||||
  maintain naming conventions with other recipes.
 | 
			
		||||
 | 
			
		||||
There has been a lot of changes. Please add to this file if you see more
 | 
			
		||||
weirdness to help the rest of the Co-op Cloud Comrades.
 | 
			
		||||
 | 
			
		||||
@decentral1se (Autonomic Co-op)
 | 
			
		||||
		Reference in New Issue
	
	Block a user