first commit

This commit is contained in:
2025-04-09 21:00:56 +02:00
parent f8addc15f4
commit cf7e856de4
9 changed files with 19 additions and 15 deletions

View File

@ -28,4 +28,7 @@ RUN mkdir -p /app/var
RUN chown apache /app/var -R
RUN chmod u+w /app/var -R
RUN chown apache /app/misc/sample -R
RUN chmod u+w /app/misc/sample -R
CMD /app/misc/script/reconfigure.sh && /etc/apache2/apache2.sh

View File

@ -1,7 +1,7 @@
LoadModule rewrite_module modules/mod_rewrite.so
ServerName nineapache.local
DocumentRoot "/app/public"
Alias /ninewiki /app/public
Alias /nineconfig /app/public
<Directory "/app/public">
Options Indexes FollowSymLinks
AllowOverride All

220
misc/sample/dicos/dicos.yml Normal file
View File

@ -0,0 +1,220 @@
global:
id: global
label: Global
style: col-md-12
vars:
APP_ENV:
id: APP_ENV
label: Type d'environnement
source: env/.env
type: choice
choices: "PROD,DEV"
required: true
WEB_URL:
id: WEB_URL
label: Hostname
source: env/.env
type: text
required: true
PROTOCOLE:
id: PROTOCOLE
label: Protocole
source: env/.env
type: choice
choices: "http,https"
required: true
REDIRECT_PATH:
id: REDIRECT_PATH
label: Redirection par défaut
source: env/.env
type: text
required: false
authentification:
id: authentification
label: Authentification
style: col-md-12
vars:
MODE_AUTH:
id: MODE_AUTH
label: Mode d'Authentification
source: env/.env
type: choice
choices: "SQL,CAS"
required: true
master: modeauth
KEYCLOAK_ACTIVATE:
id: KEYCLOAK_ACTIVATE
label: Activer Keycloak
source: env/.env
type: bool
required: true
master: keycloakactive
slave: modeauth=CAS
CAS_HOST:
id: CAS_HOST
label: Host du serveur CAS
source: env/.env
type: string
required: true
slave: modeauth=CAS
CAS_PORT:
id: CAS_PORT
label: Port du serveur CAS
source: env/.env
type: string
required: true
slave: modeauth=CAS
CAS_PATH:
id: CAS_PATH
label: Path du serveur CAS
source: env/.env
type: string
required: true
slave: modeauth=CAS
admin:
id: admin
label: Compte Administrateur
style: col-md-12
vars:
ADMIN_USER:
id: ADMIN_USER
label: Login du compte administrateur
source: env/.env
type: text
required: true
KEYCLOAK_USER:
id: KEYCLOAK_USER
label: Login de Keycloak
source: env/.env
type: string
required: true
slave: keycloakactive=1
ADMIN_EMAIL:
id: ADMIN_EMAIL
label: Email du compte administrateur
source: env/.env
type: text
required: true
# password:
# CAS_PASSWORD=${ADMIN_PASSWORD}-keycloak
applications:
id: applications
label: Applications
style: col-md-12
vars:
KOMGA_ACTIVATE:
id: KOMGA_ACTIVATE
label: Activer Komga
source: env/.env
type: bool
required: true
master: komgaactivate
NINEBOARD_ACTIVATE:
id: NINEBOARD_ACTIVATE
label: Activer Nineboard
source: env/.env
type: bool
required: true
master: nineboardactivate
NINECOMPTA_ACTIVATE:
id: NINECOMPTA_ACTIVATE
label: Activer Ninecompta
source: env/.env
type: bool
required: true
master: ninecomptaactivate
NINEFOLIO_ACTIVATE:
id: NINEFOLIO_ACTIVATE
label: Activer Ninefolio
source: env/.env
type: bool
required: true
master: ninefolioactivate
komga:
id: komga
label: Komga
style: col-md-6
vars:
KOMGA_LOCAL:
id: KOMGA_LOCAL
label: Komba local
source: env/.env
type: bool
required: true
slave: komgaactivate=1
master: komgalocal
KOMGA_URL:
id: KOMGA_URL
label: Url du Komga distant
source: env/.env
type: text
required: true
slave: komgalocal=0
nineboard:
id: nineboard
label: Nineboard
style: col-md-6
vars:
NINEBOARD_LOCAL:
id: NINEBOARD_LOCAL
label: Nineboard local
source: env/.env
type: bool
required: true
slave: nineboardactivate=1
master: nineboardlocal
NINEBOARD_URL:
id: NINEBOARD_URL
label: Url du Nineboard distant
source: env/.env
type: text
required: true
slave: nineboardlocal=0
ninecompta:
id: ninecompta
label: Ninecompta
style: col-md-6
vars:
NINECOMPTA_LOCAL:
id: NINECOMPTA_LOCAL
label: Ninecompta local
source: env/.env
type: bool
required: true
slave: ninecomptaactivate=1
master: ninecomptalocal
NINECOMPTA_URL:
id: NINECOMPTA_URL
label: Url du Ninecompta distant
source: env/.env
type: text
required: true
slave: ninecomptalocal=0
ninefolio:
id: ninefolio
label: Ninefolio
style: col-md-6
vars:
NINEFOLIO_LOCAL:
id: NINEFOLIO_LOCAL
label: Ninefolio local
source: env/.env
type: bool
required: true
slave: ninefolioactivate=1
master: ninefoliolocal
NINEFOLIO_URL:
id: NINEFOLIO_URL
label: Url du Ninefolio distant
source: env/.env
type: text
required: true
slave: ninefoliolocal=0

246
misc/sample/env/.env vendored Normal file
View File

@ -0,0 +1,246 @@
# == GLOBAL ===============================================================================================================================
# ATTENTION
# si vous souhaiter faire tourner nine sur localhost vous devez ajouter dans votre host = 127.0.0.0 nine.local
# votre localhost devra aussi disposer d'un certificat
# si vous changer le web_url penser à modifier nine.local par votre web_url dans volume/keycloak/nine/realm-export.json
# sinon il vous faudra vous connecter à keycloak pour changer l'url du client nine
# Si vous souhaitez faire marcher wordpress il est indispensable que nineapache écoute soit le port 80 ou 443
# RELEASE SYSTEM = linux ou eole si eole le réseau du compose sera supprimé et regénéré à chaque UP
RELEASE_SYSTEM=linux
# GLOBAL
APP_ENV=PROD
WEB_URL=nine.local
PROTOCOLE=https
REDIRECT_PATH=/ninegate
# ADMIN USER
ADMIN_USER=admin
ADMIN_PASSWORD=changeme
ADMIN_EMAIL=admin@noreply.fr
# MASTERIDENTITY
# SQL or SSO or (to do LDAP)
MASTERIDENTITY=SQL
# AUTHENTIFICATION
# SQL or CAS (todo LDAP or OPENID)
MODE_AUTH=CAS
# REGISTRATION
# none or byadmin or byuser
MODEREGISTRATION=byadmin
# SERVER SMTP
MAILER_DSN=sendmail://default
# NINEAPACHE
# Il sert de reverse proxy
NINEAPACHE_SERVICE_NAME=nineapache
NINEAPACHE_ACTIVATE=1
NINEAPACHE_LOCAL=1
NINEAPACHE_LETSENCRYPT=0
# FAKESMTP
# fake-smtp server
FAKESMTP_SERVICE_NAME=fakesmtp
FAKESMTP_LOCAL=0
FAKESMTP_ACTIVATE=1
# MTA
# passerelle courriel
MTA_SERVICE_NAME=mta
MTA_ACTIVATE=0
MTA_LOCAL=1
MTA_RELAY_HOST=
MTA_RELAY_PORT=
MTA_RELAY_USER="user"
MTA_RELAY_HOST="$FAKESMTP_SERVICE_NAME"
MTA_RELAY_PORT=2525
# MARIADB
MARIADB_SERVICE_NAME=mariadb
MARIADB_ACTIVATE=1
MARIADB_LOCAL=1
MARIADB_HOST=${MARIADB_SERVICE_NAME}
MARIADB_PORT=3306
MARIADB_ROOT_PASSWORD=${ADMIN_PASSWORD}
MARIADB_USER=user
MARIADB_PASSWORD=${ADMIN_PASSWORD}
# REDIS
REDIS_SERVICE_NAME=redis
REDIS_ACTIVATE=1
REDIS_LOCAL=1
REDIS_HOST=${REDIS_SERVICE_NAME}
REDIS_PORT=6379
# SENTINEL
SENTINEL_SERVICE_NAME=sentinel
SENTINEL_ACTIVATE=0
SENTINEL_LOCAL=1
SENTINEL_HOST=${SENTINEL_SERVICE_NAME}
SENTINEL_PORT=26379
# MINIO
MINIO_SERVICE_NAME=minio
MINIO_ACTIVATE=0
MINIO_LOCAL=1
MINIO_HOST=${MINIO_SERVICE_NAME}
MINIO_PORT=9000
MINIO_URL=${PROTOCOLE}://${WEB_URL}:9001
# OPENLDAP
# LDAP_SYNC Si MASTERIDENTITY = SQL permet la synchronisation des utilisateurs SQL vers LDAP
OPENLDAP_SERVICE_NAME=openldap
OPENLDAP_ACTIVATE=1
OPENLDAP_LOCAL=1
# LDAP
LDAP_ACTIVATE=${OPENLDAP_ACTIVATE}
LDAP_TYPE=LDAP
LDAP_HOST=${OPENLDAP_SERVICE_NAME}
LDAP_PORT=1389
LDAP_TLS=0
LDAP_BASEDN=dc=nine,dc=org
LDAP_ADMIN_USERNAME=${ADMIN_USER}
LDAP_USER=cn=${LDAP_ADMIN_USERNAME},${LDAP_BASEDN}
LDAP_PASSWORD=${ADMIN_PASSWORD}
LDAP_OUORGANISATION=nine
LDAP_OUNIVEAU01=niveau01
LDAP_OUNIVEAU02=niveau02
LDAP_OUNIVEAU03=niveau03
LDAP_OUNIVEAU04=niveau04
LDAP_OUGROUP=groups
LDAP_BASEORGANISATION=ou=${LDAP_OUORGANISATION},${LDAP_BASEDN}
LDAP_BASENIVEAU01=ou=${LDAP_OUNIVEAU01},${LDAP_BASEORGANISATION}
LDAP_BASENIVEAU02=ou=${LDAP_OUNIVEAU02},${LDAP_BASEORGANISATION}
LDAP_BASENIVEAU03=ou=${LDAP_OUNIVEAU03},${LDAP_BASEORGANISATION}
LDAP_BASENIVEAU04=ou=${LDAP_OUNIVEAU04},${LDAP_BASEORGANISATION}
LDAP_BASEUSER=ou=users,${LDAP_BASEORGANISATION}
LDAP_BASEGROUP=ou=${LDAP_OUGROUP},${LDAP_BASEORGANISATION}
LDAP_SYNC=1
LDAP_TEMPLATE=open
LDAP_USERNAME=uid
LDAP_FIRSTNAME=givenName
LDAP_LASTNAME=sn
LDAP_DISPLAYNAME=displayName
LDAP_EMAIL=mail
LDAP_MEMBEROF=memberOf
LDAP_GROUP_GID=gidnumber
LDAP_GROUP_NAME=cn
LDAP_GROUP_MEMBER=memberUid
LDAP_GROUP_MEMBERISDN=0
LDAP_LOGIN_FILTER="(&(${LDAP_USERNAME}=%uid)(objectClass=person)(!(description=Computer)))"
LDAP_USER_FILTER="(&(${LDAP_USERNAME}=*)(objectClass=person)(!(description=Computer)))"
LDAP_GROUP_FILTER="(&(objectClass=posixGroup))"
SCRIBE_GROUP=1
SCRIBE_MASTER=1
OPENLDAPREQNIVEAU01="(&(uid=*)(objectclass=inetOrgPerson)(!(description=Computer)))"
OPENLDAPSYNCHROGROUP=0
OPENLDAPREQGROUP=
# KEYCLOAK
KEYCLOAK_SERVICE_NAME=keycloak
KEYCLOAK_ACTIVATE=1
KEYCLOAK_LOCAL=1
KEYCLOAK_USER=${ADMIN_USER}-keycloak
KEYCLOAK_PASSWORD=${ADMIN_PASSWORD}-keycloak
# CAS
CAS_HOST=${WEB_URL}
CAS_PORT=443
CAS_PATH=/auth/realms/nine/protocol/cas
CAS_URL=${PROTOCOLE}://${CAS_HOST}:${CAS_PORT}
CAS_USERNAME=${LDAP_USERNAME}
CAS_MAIL=${LDAP_EMAIL}
CAS_LASTNAME=${LDAP_LASTNAME}
CAS_FIRSTNAME=${LDAP_FIRSTNAME}
# DOKUWIKI
DOKUWIKI_SERVICE_NAME=dokuwiki
DOKUWIKI_ACTIVATE=0
DOKUWIKI_LOCAL=1
DOKUWIKI_URL=${PROTOCOLE}://${WEB_URL}/dokuwiki
# KOMGA
KOMGA_SERVICE_NAME=komga
KOMGA_ACTIVATE=0
KOMGA_LOCAL=1
KOMGA_URL=${PROTOCOLE}://${WEB_URL}/komga
# NEXTCLOUD
NEXTCLOUD_SERVICE_NAME=nextcloud
NEXTCLOUD_ACTIVATE=1
NEXTCLOUD_LOCAL=1
NEXTCLOUD_URL=${PROTOCOLE}://${WEB_URL}/nextcloud
NEXTCLOUD_SAMBA=0
# NINEBOARD
NINEBOARD_SERVICE_NAME=nineboard
NINEBOARD_ACTIVATE=1
NINEBOARD_LOCAL=1
NINEBOARD_URL=${PROTOCOLE}://${WEB_URL}/nineboard
# NINECOMPTA
NINECOMPTA_SERVICE_NAME=ninecompta
NINECOMPTA_ACTIVATE=0
NINECOMPTA_LOCAL=1
NINECOMPTA_URL=${PROTOCOLE}://${WEB_URL}/ninecompta
# NINEFOLIO
NINEFOLIO_SERVICE_NAME=ninefolio
NINEFOLIO_ACTIVATE=0
NINEFOLIO_LOCAL=1
NINEFOLIO_URL=${PROTOCOLE}://${WEB_URL}/ninefolio
# NINEGATE
NINEGATE_SERVICE_NAME=ninegate
NINEGATE_ACTIVATE=1
NINEGATE_LOCAL=1
NINEGATE_URL=${PROTOCOLE}://${WEB_URL}/ninegate
# NINESCHOOL
NINESCHOOL_SERVICE_NAME=nineschool
NINESCHOOL_ACTIVATE=1
NINESCHOOL_LOCAL=1
NINESCHOOL_URL=${PROTOCOLE}://${WEB_URL}/nineschool
# NINESKELETOR
NINESKELETOR_SERVICE_NAME=nineskeletor
NINESKELETOR_ACTIVATE=0
NINESKELETOR_LOCAL=1
NINESKELETOR_URL=${PROTOCOLE}://${WEB_URL}/nineskeletor
# PIWIGO
PIWIGO_SERVICE_NAME=piwigo
PIWIGO_ACTIVATE=0
PIWIGO_LOCAL=1
PIWIGO_URL=${PROTOCOLE}://${WEB_URL}/piwigo
# WORDPRESS
WORDPRESS_SERVICE_NAME=wordpress
WORDPRESS_ACTIVATE=1
WORDPRESS_LOCAL=1
WORDPRESS_URL=${PROTOCOLE}://${WEB_URL}/wordpress
# ADMINER
ADMINER_SERVICE_NAME=adminer
ADMINER_ACTIVATE=1
ADMINER_LOCAL=1
ADMINER_URL="${PROTOCOLE}://${WEB_URL}/adminer/?server=${MARIADB_SERVICE_NAME}&username=${MARIADB_USER}"
# PHPLDAPADMIN
PHPLDAPADMIN_SERVICE_NAME=phpldapadmin
PHPLDAPADMIN_ACTIVATE=1
PHPLDAPADMIN_LOCAL=1
PHPLDAPADMIN_URL=${PROTOCOLE}://${WEB_URL}/phpldapadmin

4
misc/sample/env/.env.local vendored Normal file
View File

@ -0,0 +1,4 @@
APP_ENV=DEV
KOMGA_ACTIVATE=1
NINECOMPTA_ACTIVATE=1
NINEFOLIO_ACTIVATE=1