Skip to content
Snippets Groups Projects
Commit 7fcd3f45 authored by git's avatar git
Browse files

fix oidc

parent 6b2f362e
No related branches found
No related tags found
No related merge requests found
Pipeline #162815 passed
version: '2.2'
services:
sharelatex:
restart: always
# Server Pro users:
# image: quay.io/sharelatex/sharelatex-pro
image: registry.gitlab.fachschaften.org/newton/overleaf:latest
container_name: sharelatex
depends_on:
mongo:
condition: service_healthy
redis:
condition: service_started
ports:
- 80:80
links:
- mongo
- redis
stop_grace_period: 60s
volumes:
- ~/sharelatex_data:/var/lib/sharelatex
########################################################################
#### Server Pro: Uncomment the following line to mount the docker ####
#### socket, required for Sibling Containers to work ####
########################################################################
# - /var/run/docker.sock:/var/run/docker.sock
environment:
OIDC_ISSUER: ${OIDC_ISSUER}
OIDC_CLIENT_ID: ${OIDC_CLIENT_ID}
OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET}
OIDC_CALLBACK_URL: ${OIDC_CALLBACK_URL}
OIDC_USERINFO_URL: ${OIDC_USERINFO_URL}
OIDC_TOKEN_URL: ${OIDC_TOKEN_URL}
OIDC_AUTHORIZATION_URL: ${OIDC_AUTHORIZATION_URL}
SHARELATEX_APP_NAME: Overleaf Community Edition
SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex
# Same property, unfortunately with different names in
# different locations
SHARELATEX_REDIS_HOST: redis
REDIS_HOST: redis
ENABLED_LINKED_FILE_TYPES: 'project_file,project_output_file'
# Enables Thumbnail generation using ImageMagick
ENABLE_CONVERSIONS: 'true'
# Disables email confirmation requirement
EMAIL_CONFIRMATION_DISABLED: 'true'
# temporary fix for LuaLaTex compiles
# see https://github.com/overleaf/overleaf/issues/695
TEXMFVAR: /var/lib/sharelatex/tmp/texmf-var
## Set for SSL via nginx-proxy
#VIRTUAL_HOST: 103.112.212.22
# SHARELATEX_SITE_URL: http://sharelatex.mydomain.com
SHARELATEX_NAV_TITLE: Overleaf Ruhr
# SHARELATEX_HEADER_IMAGE_URL: http://somewhere.com/mylogo.png
SHARELATEX_ADMIN_EMAIL: ${SHARELATEX_ADMIN_EMAIL}
SHARELATEX_ALLOW_ANONYMOUS_READ_AND_WRITE_SHARING: 'true'
SHARELATEX_ALLOW_PUBLIC_ACCESS: 'true'
SHARELATEX_LEFT_FOOTER: '[{"text": "Powered by Overleaf and Faculties Computer Science Ruhr 2023"}]'
# SHARELATEX_RIGHT_FOOTER: '[{"text": "Hello I am on the Right"} ]'
# SHARELATEX_EMAIL_FROM_ADDRESS: "team@sharelatex.com"
# SHARELATEX_EMAIL_AWS_SES_ACCESS_KEY_ID:
# SHARELATEX_EMAIL_AWS_SES_SECRET_KEY:
# SHARELATEX_EMAIL_SMTP_HOST: smtp.mydomain.com
# SHARELATEX_EMAIL_SMTP_PORT: 587
# SHARELATEX_EMAIL_SMTP_SECURE: false
# SHARELATEX_EMAIL_SMTP_USER:
# SHARELATEX_EMAIL_SMTP_PASS:
# SHARELATEX_EMAIL_SMTP_TLS_REJECT_UNAUTH: true
# SHARELATEX_EMAIL_SMTP_IGNORE_TLS: false
# SHARELATEX_EMAIL_SMTP_NAME: '127.0.0.1'
# SHARELATEX_EMAIL_SMTP_LOGGER: true
# SHARELATEX_CUSTOM_EMAIL_FOOTER: "This system is run by department x"
################
## Server Pro ##
################
# SANDBOXED_COMPILES: 'true'
# SANDBOXED_COMPILES_SIBLING_CONTAINERS: 'true'
# SANDBOXED_COMPILES_HOST_DIR: '/var/sharelatex_data/data/compiles'
# DOCKER_RUNNER: 'false'
## Works with test LDAP server shown at bottom of docker compose
# SHARELATEX_LDAP_URL: 'ldap://ldap:389'
# SHARELATEX_LDAP_SEARCH_BASE: 'ou=people,dc=planetexpress,dc=com'
# SHARELATEX_LDAP_SEARCH_FILTER: '(uid={{username}})'
# SHARELATEX_LDAP_BIND_DN: 'cn=admin,dc=planetexpress,dc=com'
# SHARELATEX_LDAP_BIND_CREDENTIALS: 'GoodNewsEveryone'
# SHARELATEX_LDAP_EMAIL_ATT: 'mail'
# SHARELATEX_LDAP_NAME_ATT: 'cn'
# SHARELATEX_LDAP_LAST_NAME_ATT: 'sn'
# SHARELATEX_LDAP_UPDATE_USER_DETAILS_ON_LOGIN: 'true'
# SHARELATEX_TEMPLATES_USER_ID: "578773160210479700917ee5"
# SHARELATEX_NEW_PROJECT_TEMPLATE_LINKS: '[ {"name":"All Templates","url":"/templates/all"}]'
# SHARELATEX_PROXY_LEARN: "true"
mongo:
restart: always
image: mongo:4.4
container_name: mongo
expose:
- 27017
volumes:
- ~/mongo_data:/data/db
healthcheck:
test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet
interval: 10s
timeout: 10s
retries: 5
redis:
restart: always
image: redis:5
container_name: redis
expose:
- 6379
volumes:
- ~/redis_data:/data
# ldap:
# restart: always
# image: rroemhild/test-openldap
# container_name: ldap
# expose:
# - 389
# See https://github.com/jwilder/nginx-proxy for documentation on how to configure the nginx-proxy container,
# and https://github.com/overleaf/overleaf/wiki/HTTPS-reverse-proxy-using-Nginx for an example of some recommended
# settings. We recommend using a properly managed nginx instance outside of the Overleaf Server Pro setup,
# but the example here can be used if you'd prefer to run everything with docker-compose
# nginx-proxy:
# image: jwilder/nginx-proxy
# container_name: nginx-proxy
# ports:
# #- "80:80"
# - "443:443"
# volumes:
# - /var/run/docker.sock:/tmp/docker.sock:ro
# - /home/sharelatex/tmp:/etc/nginx/certs
version: '2.2'
version: "3"
networks:
proxynet:
external: true
services:
sharelatex:
restart: always
sharelatex_ruhr:
restart: unless-stopped
# Server Pro users:
# image: quay.io/sharelatex/sharelatex-pro
image: registry.gitlab.fachschaften.org/newton/overleaf:latest
container_name: sharelatex
container_name: sharelatex_ruhr
networks:
- "proxynet"
depends_on:
mongo:
mongo_ruhr:
condition: service_healthy
redis:
redis_ruhr:
condition: service_started
ports:
- 80:80
links:
- mongo
- redis
stop_grace_period: 60s
volumes:
- ~/sharelatex_data:/var/lib/sharelatex
- "/home/admin/dockersystems/volumes/sharelatex-datastore:/var/lib/sharelatex"
########################################################################
#### Server Pro: Uncomment the following line to mount the docker ####
#### socket, required for Sibling Containers to work ####
########################################################################
# - /var/run/docker.sock:/var/run/docker.sock
environment:
OIDC_ISSUER: ${OIDC_ISSUER}
OIDC_CLIENT_ID: ${OIDC_CLIENT_ID}
OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET}
OIDC_CALLBACK_URL: ${OIDC_CALLBACK_URL}
OIDC_USERINFO_URL: ${OIDC_USERINFO_URL}
OIDC_TOKEN_URL: ${OIDC_TOKEN_URL}
OIDC_AUTHORIZATION_URL: ${OIDC_AUTHORIZATION_URL}
- "OIDC_ISSUER=${OIDC_ISSUER}"
- "OIDC_CLIENT_ID=${OIDC_CLIENT_ID}"
- "OIDC_CLIENT_SECRET=${OIDC_CLIENT_SECRET}"
- "OIDC_CALLBACK_URL=${OIDC_CALLBACK_URL}"
- "OIDC_USERINFO_URL=${OIDC_USERINFO_URL}"
- "OIDC_TOKEN_URL=${OIDC_TOKEN_URL}"
- "OIDC_AUTHORIZATION_URL=${OIDC_AUTHORIZATION_URL}"
SHARELATEX_APP_NAME: Overleaf Community Edition
- "SHARELATEX_APP_NAME=Overleaf Ruhr"
SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex
- "SHARELATEX_MONGO_URL=mongodb://mongo_ruhr/sharelatex"
# Same property, unfortunately with different names in
# different locations
SHARELATEX_REDIS_HOST: redis
REDIS_HOST: redis
- "SHARELATEX_REDIS_HOST=redis_ruhr"
- "SHARELATEX_PROXY_LEARN=true"
- "REDIS_HOST=redis_ruhr"
ENABLED_LINKED_FILE_TYPES: 'project_file,project_output_file'
- "ENABLED_LINKED_FILE_TYPES=project_file,project_output_file"
# Enables Thumbnail generation using ImageMagick
ENABLE_CONVERSIONS: 'true'
- "ENABLE_CONVERSIONS=true"
# Disables email confirmation requirement
EMAIL_CONFIRMATION_DISABLED: 'true'
- "EMAIL_CONFIRMATION_DISABLED=true"
# temporary fix for LuaLaTex compiles
# see https://github.com/overleaf/overleaf/issues/695
TEXMFVAR: /var/lib/sharelatex/tmp/texmf-var
- "TEXMFVAR=/var/lib/sharelatex/tmp/texmf-var"
## Set for SSL via nginx-proxy
#VIRTUAL_HOST: 103.112.212.22
# SHARELATEX_SITE_URL: http://sharelatex.mydomain.com
SHARELATEX_NAV_TITLE: Overleaf Ruhr
# SHARELATEX_HEADER_IMAGE_URL: http://somewhere.com/mylogo.png
SHARELATEX_ADMIN_EMAIL: ${SHARELATEX_ADMIN_EMAIL}
SHARELATEX_ALLOW_ANONYMOUS_READ_AND_WRITE_SHARING: 'true'
SHARELATEX_ALLOW_PUBLIC_ACCESS: 'true'
- "SHARELATEX_NAV_TITLE=Overleaf Ruhr"
- "SHARELATEX_ADMIN_EMAIL=${SHARELATEX_ADMIN_EMAIL}"
- "SHARELATEX_ALLOW_ANONYMOUS_READ_AND_WRITE_SHARING=true"
- "SHARELATEX_ALLOW_PUBLIC_ACCESS=true"
SHARELATEX_LEFT_FOOTER: '[{"text": "Powered by Overleaf and Faculties Computer Science Ruhr 2023"}]'
- "SHARELATEX_LEFT_FOOTER=[{\"text\": \"Powered by Overleaf and pimped up for the Ruhr valley\"}]"
# SHARELATEX_RIGHT_FOOTER: '[{"text": "Hello I am on the Right"} ]'
# SHARELATEX_EMAIL_FROM_ADDRESS: "team@sharelatex.com"
......@@ -108,50 +110,24 @@ services:
# SHARELATEX_TEMPLATES_USER_ID: "578773160210479700917ee5"
# SHARELATEX_NEW_PROJECT_TEMPLATE_LINKS: '[ {"name":"All Templates","url":"/templates/all"}]'
# SHARELATEX_PROXY_LEARN: "true"
mongo:
restart: always
image: mongo:4.4
container_name: mongo
expose:
- 27017
mongo_ruhr:
restart: unless-stopped
image: mongo:4
container_name: mongo_ruhr
volumes:
- ~/mongo_data:/data/db
- "/home/admin/dockersystems/volumes/sharelatex-mongo:/data/db"
networks:
- proxynet
healthcheck:
test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet
test: echo 'db.stats().ok' | mongo mongo_ruhr:27017/test --quiet
interval: 10s
timeout: 10s
retries: 5
redis:
restart: always
redis_ruhr:
restart: unless-stopped
image: redis:5
container_name: redis
expose:
- 6379
container_name: redis_ruhr
volumes:
- ~/redis_data:/data
# ldap:
# restart: always
# image: rroemhild/test-openldap
# container_name: ldap
# expose:
# - 389
# See https://github.com/jwilder/nginx-proxy for documentation on how to configure the nginx-proxy container,
# and https://github.com/overleaf/overleaf/wiki/HTTPS-reverse-proxy-using-Nginx for an example of some recommended
# settings. We recommend using a properly managed nginx instance outside of the Overleaf Server Pro setup,
# but the example here can be used if you'd prefer to run everything with docker-compose
# nginx-proxy:
# image: jwilder/nginx-proxy
# container_name: nginx-proxy
# ports:
# #- "80:80"
# - "443:443"
# volumes:
# - /var/run/docker.sock:/tmp/docker.sock:ro
# - /home/sharelatex/tmp:/etc/nginx/certs
- "/home/admin/dockersystems/volumes/sharelatex-redis:/data"
networks:
- proxynet
......@@ -575,14 +575,14 @@ const AuthenticationController = {
UserCreator.createNewUser({
holdingAccount: false,
email: profile.emails[0].value,
first_name: profile.name.givenName,
last_name: profile.name.familyName
first_name: profile.name[process.env.OIDC_FIRST_NAME ?? "givenName"],
last_name: profile.name[process.env.OIDC_LAST_NAME ?? "familyName"]
}, function (user) {
return callback(null, user);
})
} else {
user.first_name = profile.name.givenName;
user.last_name = profile.name.familyName;
user.first_name = profile.name[process.env.OIDC_FIRST_NAME ?? "givenName"],
user.last_name = profile.name[process.env.OIDC_LAST_NAME ?? "familyName"]
user.save(function (error) {
if (error) {
return callback(error);
......
......@@ -34,7 +34,7 @@ SHARELATEX_SAML_CALLBACK_URL=http://saml/saml/callback
SHARELATEX_SAML_ISSUER=sharelatex-test-saml
SHARELATEX_SAML_IDENTITY_SERVICE_NAME="SAML Test Server"
SHARELATEX_SAML_EMAIL_FIELD=email
SHARELATEX_SAML_FIRST_NAME_FIELD=givenName
SHARELATEX_SAML_FIRST_NAME_FIELD=name
SHARELATEX_SAML_LAST_NAME_FIELD=sn
SHARELATEX_SAML_UPDATE_USER_DETAILS_ON_LOGIN=true
# simplesaml cert from https://github.com/overleaf/google-ops/tree/master/docker-images/saml-test/var-simplesamlphp/cert
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment