Merge pull request 'split sso compose into two compose' (#6) from two-compose into main
Reviewed-on: https://git.coopcloud.tech/coop-cloud/cryptpad/pulls/6
This commit is contained in:
@ -1,5 +1,6 @@
|
|||||||
TYPE=cryptpad
|
TYPE=cryptpad
|
||||||
|
|
||||||
|
COMPOSE_FILE="compose.yml"
|
||||||
|
|
||||||
DOMAIN=cryptpad.example.com
|
DOMAIN=cryptpad.example.com
|
||||||
|
|
||||||
@ -17,7 +18,8 @@ SANDBOX_DOMAIN=sandbox.cryptpad.example.com
|
|||||||
#EXTRA_DOMAINS=', `www.cryptpad.example.com`'
|
#EXTRA_DOMAINS=', `www.cryptpad.example.com`'
|
||||||
LETS_ENCRYPT_ENV=production
|
LETS_ENCRYPT_ENV=production
|
||||||
|
|
||||||
## SSO / OIDC (optional — defaults to false)
|
## SSO / OIDC (optional — uncomment below and add compose.sso.yml to COMPOSE_FILE to enable)
|
||||||
|
# COMPOSE_FILE="$COMPOSE_FILE:compose.sso.yml"
|
||||||
#SSO_ENABLED=true
|
#SSO_ENABLED=true
|
||||||
#SSO_ENFORCED=false
|
#SSO_ENFORCED=false
|
||||||
#SSO_PROVIDER_NAME=Authentik
|
#SSO_PROVIDER_NAME=Authentik
|
||||||
|
|||||||
@ -42,7 +42,14 @@ you should be able to access the admin interface for this cryptpad instance.
|
|||||||
|
|
||||||
## SSO
|
## SSO
|
||||||
|
|
||||||
To enable SSO, run `abra app config YOURAPPDOMAIN` and set `SSO_ENABLED=true`. On the next deploy, the [CryptPad SSO plugin](https://github.com/cryptpad/sso) will be installed automatically.
|
SSO support is provided by `compose.sso.yml`. To enable it, add the SSO compose file and set the SSO variables in your app config:
|
||||||
|
|
||||||
|
```
|
||||||
|
COMPOSE_FILE="compose.yml:compose.sso.yml"
|
||||||
|
SSO_ENABLED=true
|
||||||
|
```
|
||||||
|
|
||||||
|
On the next deploy, the [CryptPad SSO plugin](https://github.com/cryptpad/sso) will be installed automatically.
|
||||||
|
|
||||||
You also need to configure the remaining SSO environment variables for your OIDC provider:
|
You also need to configure the remaining SSO environment variables for your OIDC provider:
|
||||||
|
|
||||||
|
|||||||
41
compose.sso.yml
Normal file
41
compose.sso.yml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
---
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
entrypoint: ["/sso-entrypoint.sh", "/cryptpad/docker-entrypoint.sh"]
|
||||||
|
environment:
|
||||||
|
- SSO_PLUGIN_VERSION
|
||||||
|
- "SSO_ENABLED=${SSO_ENABLED:-false}"
|
||||||
|
- SSO_ENFORCED
|
||||||
|
- SSO_PROVIDER_NAME
|
||||||
|
- SSO_OIDC_URL
|
||||||
|
- SSO_CLIENT_ID
|
||||||
|
- SSO_JWT_ALG
|
||||||
|
secrets:
|
||||||
|
- sso_client_s
|
||||||
|
volumes:
|
||||||
|
- cryptpad_plugins:/cryptpad/lib/plugins
|
||||||
|
configs:
|
||||||
|
- source: sso_entrypoint
|
||||||
|
target: /sso-entrypoint.sh
|
||||||
|
mode: 0755
|
||||||
|
- source: sso_js
|
||||||
|
target: /sso.js
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
cryptpad_plugins:
|
||||||
|
|
||||||
|
secrets:
|
||||||
|
sso_client_s:
|
||||||
|
external: true
|
||||||
|
name: ${STACK_NAME}_sso_client_s_${SSO_CLIENT_SECRET_VERSION}
|
||||||
|
|
||||||
|
configs:
|
||||||
|
sso_entrypoint:
|
||||||
|
name: ${STACK_NAME}_sso_entrypoint_${SSO_ENTRYPOINT_VERSION}
|
||||||
|
file: sso-entrypoint.sh
|
||||||
|
sso_js:
|
||||||
|
name: ${STACK_NAME}_sso_js_${SSO_JS_VERSION}
|
||||||
|
file: sso.js.tmpl
|
||||||
|
template_driver: golang
|
||||||
30
compose.yml
30
compose.yml
@ -4,7 +4,6 @@ version: "3.8"
|
|||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
image: cryptpad/cryptpad:version-2026.2.0
|
image: cryptpad/cryptpad:version-2026.2.0
|
||||||
entrypoint: ["/sso-entrypoint.sh", "/cryptpad/docker-entrypoint.sh"]
|
|
||||||
command: ["npm", "start"]
|
command: ["npm", "start"]
|
||||||
networks:
|
networks:
|
||||||
- backend
|
- backend
|
||||||
@ -17,16 +16,6 @@ services:
|
|||||||
- "CPAD_HTTP2_DISABLE=true"
|
- "CPAD_HTTP2_DISABLE=true"
|
||||||
- "CPAD_TRUST_PROXY=1"
|
- "CPAD_TRUST_PROXY=1"
|
||||||
- "CPAD_CONF=/cryptpad/config/config.js"
|
- "CPAD_CONF=/cryptpad/config/config.js"
|
||||||
# SSO plugin
|
|
||||||
- SSO_PLUGIN_VERSION
|
|
||||||
- "SSO_ENABLED=${SSO_ENABLED:-false}"
|
|
||||||
- SSO_ENFORCED
|
|
||||||
- SSO_PROVIDER_NAME
|
|
||||||
- SSO_OIDC_URL
|
|
||||||
- SSO_CLIENT_ID
|
|
||||||
- SSO_JWT_ALG
|
|
||||||
secrets:
|
|
||||||
- sso_client_s
|
|
||||||
volumes:
|
volumes:
|
||||||
- cryptpad_blob:/cryptpad/blob
|
- cryptpad_blob:/cryptpad/blob
|
||||||
- cryptpad_block:/cryptpad/block
|
- cryptpad_block:/cryptpad/block
|
||||||
@ -34,15 +23,9 @@ services:
|
|||||||
- cryptpad_data:/cryptpad/data
|
- cryptpad_data:/cryptpad/data
|
||||||
- cryptpad_files:/cryptpad/datastore
|
- cryptpad_files:/cryptpad/datastore
|
||||||
- cryptpad_config:/cryptpad/config/
|
- cryptpad_config:/cryptpad/config/
|
||||||
- cryptpad_plugins:/cryptpad/lib/plugins
|
|
||||||
configs:
|
configs:
|
||||||
- source: config_js
|
- source: config_js
|
||||||
target: /cryptpad/config/config.js
|
target: /cryptpad/config/config.js
|
||||||
- source: sso_entrypoint
|
|
||||||
target: /sso-entrypoint.sh
|
|
||||||
mode: 0755
|
|
||||||
- source: sso_js
|
|
||||||
target: /sso.js
|
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
restart_policy:
|
restart_policy:
|
||||||
@ -93,12 +76,6 @@ volumes:
|
|||||||
cryptpad_data:
|
cryptpad_data:
|
||||||
cryptpad_files:
|
cryptpad_files:
|
||||||
cryptpad_config:
|
cryptpad_config:
|
||||||
cryptpad_plugins:
|
|
||||||
|
|
||||||
secrets:
|
|
||||||
sso_client_s:
|
|
||||||
external: true
|
|
||||||
name: ${STACK_NAME}_sso_client_s_${SSO_CLIENT_SECRET_VERSION}
|
|
||||||
|
|
||||||
configs:
|
configs:
|
||||||
config_js:
|
config_js:
|
||||||
@ -109,10 +86,3 @@ configs:
|
|||||||
name: ${STACK_NAME}_nginx_conf_${NGINX_CONF_VERSION}
|
name: ${STACK_NAME}_nginx_conf_${NGINX_CONF_VERSION}
|
||||||
file: nginx.conf.tmpl
|
file: nginx.conf.tmpl
|
||||||
template_driver: golang
|
template_driver: golang
|
||||||
sso_entrypoint:
|
|
||||||
name: ${STACK_NAME}_sso_entrypoint_${SSO_ENTRYPOINT_VERSION}
|
|
||||||
file: sso-entrypoint.sh
|
|
||||||
sso_js:
|
|
||||||
name: ${STACK_NAME}_sso_js_${SSO_JS_VERSION}
|
|
||||||
file: sso.js.tmpl
|
|
||||||
template_driver: golang
|
|
||||||
|
|||||||
Reference in New Issue
Block a user