Skip to content

Commit 3e6b61c

Browse files
committed
save
1 parent f975264 commit 3e6b61c

File tree

7 files changed

+98
-27
lines changed

7 files changed

+98
-27
lines changed

Dockerfile

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,29 @@ RUN mkdir -p /data/logs
4747
WORKDIR /data/logs
4848
RUN mkdir -p /etc/cas/docs
4949
COPY --from=overlay /tmp/tomcat /usr/local/tomcat/webapps
50+
#copie du theme
5051
COPY --from=overlay /tmp/cas-overlay/build/cas-resources/static/css/cas.css /usr/local/tomcat/webapps/cas/WEB-INF/classes/static/themes/custom/css/
5152
COPY --from=overlay /tmp/cas-overlay/build/cas-resources/static/js/cas.js /usr/local/tomcat/webapps/cas/WEB-INF/classes/static/themes/custom/js/
5253
COPY --from=overlay /tmp/cas-overlay/build/cas-resources/static/favicon.ico /usr/local/tomcat/webapps/cas/WEB-INF/classes/static/themes/custom/images/
5354
COPY --from=overlay /tmp/cas-overlay/build/cas-resources/static/images/cas-logo.png /usr/local/tomcat/webapps/cas/WEB-INF/classes/static/themes/custom/images/mylogo.png
55+
56+
# sauvegarde du theme
57+
RUN mkdir /data/theme
58+
RUN mkdir /data/theme/css
59+
RUN mkdir /data/theme/js
60+
RUN mkdir /data/theme/images
61+
COPY --from=overlay /tmp/cas-overlay/build/cas-resources/static/css/cas.css /data/theme/css/
62+
COPY --from=overlay /tmp/cas-overlay/build/cas-resources/static/js/cas.js /data/theme/js
63+
COPY --from=overlay /tmp/cas-overlay/build/cas-resources/static/favicon.ico /data/theme/images
64+
COPY --from=overlay /tmp/cas-overlay/build/cas-resources/static/images/cas-logo.png /data/theme/images
65+
66+
#some documentations
5467
COPY --from=overlay /tmp/cas-overlay/config-metadata.properties /etc/cas/docs
5568
RUN mkdir /data/templates
5669
COPY --from=overlay /tmp/cas-overlay/build/cas-resources/templates/ /data/templates
5770

58-
COPY /data/templates/ /usr/local/tomcat/webapps/cas/WEB-INF/classes//templates/custom
71+
#templates
72+
COPY --from=overlay /tmp/cas-overlay/build/cas-resources/templates/ /usr/local/tomcat/webapps/cas/WEB-INF/classes/templates/custom
5973
COPY rootfs /
6074

6175
ENTRYPOINT "/entrypoint.sh"

README.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
2+
# CAS Out of the box
3+
## Description
4+
Cette image a pour but de fournir au administrateurs un serveur CAS facile à mettre en place. En effet la compilation et la configuration du serveur CAS Apereo n'est pas évidente sans connaissance profonde des protocoles d'authentification et de l'environnement JAVA
5+
6+
L'image Docker a été conçue pour que l'aspect et le paramêtrage soient aisés.
7+
8+
Elle embarque les protocoles suivant :
9+
* LDAP
10+
* OIDC (Oauth, openId)
11+
* SAML (saml1, saml2)
12+
13+
D'autre protocoles seront ajoutés dans des versions ultérieures comme le MFA.
14+
15+
## Deployment
16+
17+
### Fichier .env
18+
creer un fichier **.env** qui doit se trouver dans le meme repoertoire que docker-compose.yml
19+
Il contient votre environnement :
20+
21+
```
22+
CAS_HOSTNAME=https://cas.mondomain.com
23+
LDAP_HOSTNAME=ldap://ildap.mondomaine.com:389
24+
LDAP_SEARCH_FILTER="(&(uid={user})(objectclass=sogxuser))"
25+
LDAP_BASE=dc=mondamine,dc=com
26+
LDAP_ATTRIBUTES_LIST=cn,givenName,mail,sn,uid,uid:username
27+
LDAP_BIND_DN=CN=restreint,CN=internal,DC=mondomaine,DC=com
28+
LDAP_BIND_CREDENTIAL=MonMotDePasse!
29+
30+
```
31+
Ce fichier contient les variables d'environnement pour le container.
32+
33+
* CAS_HOSTNAME : c'est lde FDQN du serveur lui même (variable **cas.server.prefix** du fichier de configuration /etc/cas/config/cas.properties)
34+
* LDAP_HOSTNAME : Adresse du serveur LDAP sous forme URI
35+
* LDAP_SEARCH : filtre de recherche pour les utilisateur. Le nom d'utilisateur est representé par {user}.
36+
* LDAP_BASE : La base de recherche LDAP
37+
* LDAP_ATTRIBUTES_LIST : la liste des attributs à renvoyer
38+
* LDAP_BIND_DN : le DN pour l authentification LDAP
39+
* LDAP_BIND_CREDENTIAL : le mote de passe pour ce DN
40+
41+
### Fichier docker-compose.yml
42+
pour pouvoir rendre persistant les changements un volume doit pouvoir etre mappé. Si ce volume est vice le container créera automatiquement l'arborescense et les differents fichiers de configuration.
43+
44+
```
45+
version: "3"
46+
services:
47+
cas-server:
48+
container_name: cas-server
49+
build: ghcr.io/libertech-fr/cas-docker:latest
50+
ports:
51+
- "80:80"
52+
- "443:443"
53+
volumes:
54+
- "./conf:/etc/cas"
55+
env_file: .env
56+
```
57+
58+
Au premier demarrage le container va creer :
59+
60+
* /etc/cas/config/cas.properties avec les variables d'environnement renseignées dans .env.
61+
* /etc/cas/config/log4j2.xml
62+
* /etc/cas/theme : le theme (css, js, images)
63+
* /etc/cas/templates/custom : les modeles des pages html du serveur
64+
* /etc/cas/saml : pour la signature des requetes saml
65+
66+
Une fois ces fichiers générés vous pouvez les modifier à volonté. Ils seront exploités par le container mais ils ne seront plus générés.

compose.yml

Lines changed: 0 additions & 23 deletions
This file was deleted.

rootfs/entrypoint.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ if [ ! -f /etc/cas/config/cas.properties ] ; then
1010
cat /data/etc/cas.properties|envsubst >/etc/cas/config/cas.properties
1111
fi
1212
if [ ! -f /etc/cas/config/log4j2.xml ]; then
13-
cp data/etc/log4j2.xml /etc/cas/config/log4j2.xml
13+
cp /data/etc/log4j2.xml /etc/cas/config/log4j2.xml
1414
fi
1515
if [ ! -f /etc/cas/thekeystore ] ; then
1616
echo "generate keystore"
@@ -24,12 +24,16 @@ fi
2424

2525
if [ ! -d /etc/cas/templates/custom ] ; then
2626
mkdir -p /etc/cas/templates/custom 2>/dev/null
27-
cp -r /data/templates/* /etc/cas/templates/custom
27+
cp -r /usr/local/tomcat/webapps/cas/WEB-INF/classes/templates/custom/* /etc/cas/templates/custom
28+
else
29+
echo "Update templates"
30+
cp -r /etc/cas/templates/custom/ /usr/local/tomcat/webapps/cas/WEB-INF/classes/templates/custom/
31+
2832
fi
2933

3034
if [ ! -d /etc/cas/themes/css ] ; then
3135
echo "Creation themes"
32-
mkdir /etc/cas/themes
36+
mkdir /etc/cas/themes 2>/dev/null
3337
cp -r /usr/local/tomcat/webapps/cas/WEB-INF/classes/static/themes/custom/* /etc/cas/themes
3438
else
3539
echo "Update themes"

rootfs/usr/bin/resettemplates

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
cp -r /data/templates/* /etc/cas/templates/custom
3+
echo "Les templates ont été restaurés"

rootfs/usr/bin/resetthemes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/bash
2+
3+
cp -r /data/theme/* /etc/theme
4+
echo "Le theme a été mis à remis par defaut"

rootfs/usr/bin/updatetemplates

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
cp -r /etc/cas/templates/* /usr/local/tomcat/webapps/cas/WEB-INF/classes/templates/
3+
echo "Les templates ont été mis à jour"

0 commit comments

Comments
 (0)