From 3823cd85a81091f91e4998b69c0a251c6481abab Mon Sep 17 00:00:00 2001 From: afornerot Date: Fri, 19 Jul 2024 14:34:55 +0200 Subject: [PATCH] svg --- docker-compose.yml | 130 ++- env/.env | 30 +- env/.env.zapp.keycloak | 3 +- env/.env.zapp.minio | 4 + env/.env.zapp.nextcloud | 2 +- env/.env.zapp.nineboard | 1 + env/.env.zapp.ninegate | 3 +- env/.env.zapp.wiki | 29 + env/.env.zapp.wordpress | 5 +- .../dokuwiki/containers/dokuwiki/Dockerfile | 18 + .../dokuwiki/containers/dokuwiki/apache.conf | 19 + .../dokuwiki/containers/dokuwiki/local.php | 3 + .../dokuwiki/volumes/conf/license.php | 1 + .../dokuwiki/volumes/conf/local.php | 3 + .../dokuwiki/volumes/conf/plugins.local.php | 8 + .../dokuwiki/volumes/data/.htaccess | 7 + .../containers/dokuwiki/volumes/data/_dummy | 1 + .../dokuwiki/volumes/data/attic/_dummy | 1 + .../0/0c2b1c22d674380dfa888b2dbf240627.i | 1 + .../0/0c2b1c22d674380dfa888b2dbf240627.xhtml | 9 + .../dokuwiki/volumes/data/cache/_dummy | 1 + .../b/b3a3afdac05fdf0522fa9361d0763186.updmsg | 0 .../dokuwiki/volumes/data/deleted.files | 988 ++++++++++++++++++ ...your-directory-permissions-are-correct.png | Bin 0 -> 6516 bytes ...your-directory-permissions-are-correct.xcf | Bin 0 -> 12093 bytes .../dokuwiki/volumes/data/index/_dummy | 1 + .../dokuwiki/volumes/data/index/page.idx | 0 .../dokuwiki/volumes/data/locks/_dummy | 1 + .../dokuwiki/volumes/data/log/_dummy | 1 + .../volumes/data/media/wiki/dokuwiki-128.png | Bin 0 -> 27895 bytes .../volumes/data/media/wiki/dokuwiki.svg | 84 ++ .../dokuwiki/volumes/data/media_attic/_dummy | 1 + .../dokuwiki/volumes/data/media_meta/_dummy | 1 + .../dokuwiki/volumes/data/meta/_dummy | 1 + .../data/pages/playground/playground.txt | 1 + .../volumes/data/pages/wiki/dokuwiki.txt | 62 ++ .../volumes/data/pages/wiki/syntax.txt | 475 +++++++++ .../volumes/data/pages/wiki/welcome.txt | 30 + .../dokuwiki/volumes/data/tmp/_dummy | 1 + .../dokuwiki/volumes/lib/plugins/acl | 1 + .../dokuwiki/volumes/lib/plugins/action.php | 1 + .../dokuwiki/volumes/lib/plugins/admin.php | 1 + .../dokuwiki/volumes/lib/plugins/auth.php | 1 + .../dokuwiki/volumes/lib/plugins/authad | 1 + .../dokuwiki/volumes/lib/plugins/authldap | 1 + .../dokuwiki/volumes/lib/plugins/authpdo | 1 + .../dokuwiki/volumes/lib/plugins/authplain | 1 + .../dokuwiki/volumes/lib/plugins/cli.php | 1 + .../dokuwiki/volumes/lib/plugins/config | 1 + .../dokuwiki/volumes/lib/plugins/extension | 1 + .../dokuwiki/volumes/lib/plugins/index.html | 1 + .../dokuwiki/volumes/lib/plugins/info | 1 + .../dokuwiki/volumes/lib/plugins/logviewer | 1 + .../dokuwiki/volumes/lib/plugins/popularity | 1 + .../dokuwiki/volumes/lib/plugins/remote.php | 1 + .../dokuwiki/volumes/lib/plugins/revert | 1 + .../dokuwiki/volumes/lib/plugins/safefnrecode | 1 + .../dokuwiki/volumes/lib/plugins/styling | 1 + .../dokuwiki/volumes/lib/plugins/syntax.php | 1 + .../dokuwiki/volumes/lib/plugins/usermanager | 1 + .../dokuwiki/volumes/lib/tpl/dokuwiki | 1 + .../dokuwiki/volumes/lib/tpl/index.php | 1 + .../containers/nineapache/apache.conf | 37 + misc/images/dokuwiki/docker-compose.yml | 29 + .../containers/wordpress/entrypoint.sh | 1 + nine.sh | 94 +- volume/nineapache/nine/apache.conf | 31 +- volume/wiki/nine/config.yml | 20 + 68 files changed, 2061 insertions(+), 100 deletions(-) create mode 100644 env/.env.zapp.wiki create mode 100755 misc/images/dokuwiki/containers/dokuwiki/Dockerfile create mode 100644 misc/images/dokuwiki/containers/dokuwiki/apache.conf create mode 100644 misc/images/dokuwiki/containers/dokuwiki/local.php create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/conf/license.php create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/conf/local.php create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/conf/plugins.local.php create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/.htaccess create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/_dummy create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/attic/_dummy create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/cache/0/0c2b1c22d674380dfa888b2dbf240627.i create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/cache/0/0c2b1c22d674380dfa888b2dbf240627.xhtml create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/cache/_dummy create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/cache/b/b3a3afdac05fdf0522fa9361d0763186.updmsg create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/deleted.files create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/dont-panic-if-you-see-this-in-your-logs-it-means-your-directory-permissions-are-correct.png create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/dont-panic-if-you-see-this-in-your-logs-it-means-your-directory-permissions-are-correct.xcf create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/index/_dummy create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/index/page.idx create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/locks/_dummy create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/log/_dummy create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/media/wiki/dokuwiki-128.png create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/media/wiki/dokuwiki.svg create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/media_attic/_dummy create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/media_meta/_dummy create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/meta/_dummy create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/playground/playground.txt create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/wiki/dokuwiki.txt create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/wiki/syntax.txt create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/wiki/welcome.txt create mode 100644 misc/images/dokuwiki/containers/dokuwiki/volumes/data/tmp/_dummy create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/acl create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/action.php create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/admin.php create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/auth.php create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authad create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authldap create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authpdo create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authplain create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/cli.php create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/config create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/extension create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/index.html create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/info create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/logviewer create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/popularity create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/remote.php create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/revert create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/safefnrecode create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/styling create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/syntax.php create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/usermanager create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/tpl/dokuwiki create mode 120000 misc/images/dokuwiki/containers/dokuwiki/volumes/lib/tpl/index.php create mode 100755 misc/images/dokuwiki/containers/nineapache/apache.conf create mode 100755 misc/images/dokuwiki/docker-compose.yml create mode 100644 volume/wiki/nine/config.yml diff --git a/docker-compose.yml b/docker-compose.yml index 00e4789..8f78ad2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,10 +1,16 @@ version: '3' services: + +#== SERVICES OUTILS ======================================================================================================================= + + # Nineapache + # Reverse proxy de l'ensemble des services + # Seul port ouvert sur l'exterieur nineapache: image: reg.cadoles.com/envole/nineapache:8.1 container_name: nine-nineapache - restart: always + restart: unless-stopped healthcheck: test: curl --fail http://localhost || exit 1 interval: 1s @@ -17,10 +23,13 @@ services: volumes: - ./volume/nineapache/nine/apache.conf:/etc/apache2/conf.d/zapp.conf + # Mariadb + # Base de données des services + # Port interne 3306 mariadb: image: docker.io/library/mariadb container_name: nine-mariadb - restart: always + restart: unless-stopped healthcheck: test: /nine/check.sh interval: 1s @@ -28,38 +37,40 @@ services: env_file: ./tmp/.env.mariadb networks: - nine-network - ports: - - "3306:3306" volumes: - ./volume/mariadb/mysql:/var/lib/mysql - ./volume/mariadb/nine:/nine + # Redis + # Base de données redis pour les services qui souhaitent stocker leur session en bdd + # Port interne 6379 redis: image: redis:4.0 container_name: nine-redis - ports: - - 6379:6379 environment: - TZ=Europe/Paris + # Minio + # Stocakge S3 + # Port interne 9000 pour le stockage / Port interne 9001 pour l'interface web minio: image: minio/minio container_name: nine-minio - restart: always + restart: unless-stopped env_file: ./tmp/.env.minio networks: - nine-network - ports: - - '7200:9000' - - '7201:9001' volumes: - './volume/minio/data:/data' command: server /data --console-address ":9001" + # Openldap + # Annuaire + # Port interne 1389 & 1636 openldap: image: docker.io/bitnami/openldap:2 container_name: nine-openldap - restart: always + restart: unless-stopped healthcheck: test: /nine/check.sh interval: 1s @@ -67,24 +78,17 @@ services: env_file: ./tmp/.env.openldap networks: - nine-network - ports: - - '1389:1389' - - '1636:1636' - #entrypoint: /nine/debug/debug.sh - #command: sleep 1d volumes: - './volume/openldap/data:/bitnami/openldap' - './volume/openldap/nine:/nine' + # Keycloak + # serveur SSO + # Port interne 8999 & 8443 keycloak: image: reg.cadoles.com/envole/keycloak:24.0.5 container_name: nine-keycloak - restart: always - #entrypoint: /bin/bash # Spécifiez le point d'entrée souhaité (dans cet exemple, /bin/bash) - #command: - #tty: true - #stdin_open: true - + restart: unless-stopped healthcheck: test: curl --fail http://127.0.0.1:9990 || exit 1 interval: 1s @@ -101,27 +105,15 @@ services: - start-dev - --import-realm - ninegate: - image: reg.cadoles.com/envole/ninegate - container_name: nine-ninegate - restart: always - healthcheck: - test: curl --fail http://localhost/ninegate || exit 1 - interval: 1s - timeout: 60s - env_file: ./tmp/.env.ninegate - networks: - - nine-network - ports: - - "9000:80" - volumes: - - ./volume/ninegate/data/private:/app/uploads - - ./volume/ninegate/data/public:/app/public/uploads +#== SERVICES APPLICATIF ======================================================================================================================= + # Nextcloud + # Hébergement de fichiers et une plateforme de collaboration + # Port interne 80 nextcloud: image: reg.cadoles.com/envole/nextcloud container_name: nine-nextcloud - restart: always + restart: unless-stopped healthcheck: test: curl --fail http://localhost || exit 1 interval: 1s @@ -129,8 +121,6 @@ services: env_file: ./tmp/.env.nextcloud networks: - nine-network - ports: - - 9001:80 volumes: - ./volume/nextcloud/html:/var/www/html - ./volume/nextcloud/app:/var/www/html/custom_apps @@ -138,10 +128,13 @@ services: - ./volume/nextcloud/nine:/nine - ./volume/nextcloud/prestart:/docker-entrypoint-hooks.d/before-starting + # Nineboard + # Tableaux de bord collaboratif + # Port interne 80 nineboard: image: reg.cadoles.com/envole/nineboard container_name: nine-nineboard - restart: always + restart: unless-stopped healthcheck: test: curl --fail http://localhost/nineboard || exit 1 interval: 1s @@ -149,16 +142,47 @@ services: env_file: ./tmp/.env.nineboard networks: - nine-network - ports: - - "9002:80" volumes: - ./volume/nineboard/data/private:/app/uploads - ./volume/nineboard/data/public:/app/public/uploads + # Ninegate + # Portail collaboratif + # Port interne 80 + ninegate: + image: reg.cadoles.com/envole/ninegate + container_name: nine-ninegate + restart: unless-stopped + healthcheck: + test: curl --fail http://localhost/ninegate || exit 1 + interval: 1s + timeout: 60s + env_file: ./tmp/.env.ninegate + networks: + - nine-network + volumes: + - ./volume/ninegate/data/private:/app/uploads + - ./volume/ninegate/data/public:/app/public/uploads + + # Wiki.js + # Wiki + # Port interne 3000 + wiki: + image: linuxserver/dokuwiki + container_name: nine-wiki + env_file: ./tmp/.env.wiki + networks: + - nine-network + ports: + - 9000:80 + + # Wordpress + # Reseau de blog + # Port interne 80 wordpress: image: reg.cadoles.com/envole/wordpress container_name: nine-wordpress - restart: always + restart: unless-stopped healthcheck: test: curl --fail http://localhost/wordpress || exit 1 interval: 1s @@ -168,31 +192,39 @@ services: nine-network: aliases: - blog - ports: - - "9003:80" volumes: - ./volume/wordpress/data:/app/public/wp-content +#== SERVIVES DEVELOPPEUR ================================================================================================================== + + # Adminer + # Gestionnaire BDD + # Port interne 8080 adminer: image: docker.io/library/adminer container_name: nine-adminer - restart: always + restart: unless-stopped env_file: ./tmp/.env.adminer networks: - nine-network ports: - 9100:8080 + # Phpldapadmin + # Gestionnaire Annuaire + # Port interne 80 phpldapadmin: image: docker.io/osixia/phpldapadmin:latest container_name: nine-phpldapadmin - restart: always + restart: unless-stopped env_file: ./tmp/.env.phpldapadmin networks: - nine-network ports: - "9101:80" +#== NETWORKS ============================================================================================================================== + networks: nine-network: name: nine-network diff --git a/env/.env b/env/.env index 1bde0cc..5842c5f 100644 --- a/env/.env +++ b/env/.env @@ -18,6 +18,7 @@ PROTOCOLE=http # ADMIN USER ADMIN_USER=admin ADMIN_PASSWORD=changeme +ADMIN_EMAIL=admin@noreply.fr # MASTERIDENTITY # SQL or SSO or (to do LDAP) @@ -37,6 +38,8 @@ NINEAPACHE_LOCAL=1 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} @@ -100,11 +103,11 @@ CAS_PORT=8999 CAS_PATH=/auth/realms/nine/protocol/cas CAS_URL=${PROTOCOLE}://${CAS_HOST}:${CAS_PORT} -# NINEGATE -NINEGATE_SERVICE_NAME=ninegate -NINEGATE_ACTIVATE=1 -NINEGATE_LOCAL=1 -NINEGATE_URL=${PROTOCOLE}://${WEB_URL}/ninegate +# NINEBOARD +NINEBOARD_SERVICE_NAME=nineboard +NINEBOARD_ACTIVATE=1 +NINEBOARD_LOCAL=1 +NINEBOARD_URL=${PROTOCOLE}://${WEB_URL}/nineboard # NEXTCLOUD NEXTCLOUD_SERVICE_NAME=nextcloud @@ -113,11 +116,17 @@ 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 +# NINEGATE +NINEGATE_SERVICE_NAME=ninegate +NINEGATE_ACTIVATE=1 +NINEGATE_LOCAL=1 +NINEGATE_URL=${PROTOCOLE}://${WEB_URL}/ninegate + +# WIKI +WIKI_SERVICE_NAME=wiki +WIKI_ACTIVATE=1 +WIKI_LOCAL=1 +WIKI_URL=${PROTOCOLE}://${WEB_URL}/wiki # WORDPRESS WORDPRESS_SERVICE_NAME=wordpress @@ -136,3 +145,4 @@ PHPLDAPADMIN_SERVICE_NAME=phpldapadmin PHPLDAPADMIN_ACTIVATE=1 PHPLDAPADMIN_LOCAL=1 PHPLDAPADMIN_URL=${PROTOCOLE}://${WEB_URL}/phpldapadmin + diff --git a/env/.env.zapp.keycloak b/env/.env.zapp.keycloak index dcd6a74..57917c2 100644 --- a/env/.env.zapp.keycloak +++ b/env/.env.zapp.keycloak @@ -5,7 +5,7 @@ KEYCLOAK_ADMIN=${CAS_USER} KEYCLOAK_ADMIN_PASSWORD=${CAS_PASSWORD} KC_DB=mariadb -KC_DB_URL=jdbc:mariadb://${MARIADB_SERVICE_NAME}:3306/keycloak +KC_DB_URL=jdbc:mariadb://${MARIADB_HOST}:${MARIADB_PORT}/keycloak KC_DB_USERNAME=${MARIADB_USER} KC_DB_PASSWORD=${MARIADB_PASSWORD} @@ -20,3 +20,4 @@ KC_PROXY_HEADERS=xforwarded KC_HTTP_ENABLED=true KC_IMPORT=/nine/realm-export.json + diff --git a/env/.env.zapp.minio b/env/.env.zapp.minio index dcf683e..d3c16b8 100644 --- a/env/.env.zapp.minio +++ b/env/.env.zapp.minio @@ -1,3 +1,7 @@ + +# == MINIO ================================================================================================================================ + MINIO_ROOT_USER=${ADMIN_USER} MINIO_ROOT_PASSWORD=${ADMIN_PASSWORD} MINIO_DEFAULT_BUCKETS=nine + diff --git a/env/.env.zapp.nextcloud b/env/.env.zapp.nextcloud index 1b53403..b2ec794 100644 --- a/env/.env.zapp.nextcloud +++ b/env/.env.zapp.nextcloud @@ -1,7 +1,7 @@ # == NEXTCLOUD ============================================================================================================================ -MYSQL_HOST=mariadb +MYSQL_HOST=${MARIADB_HOST} MYSQL_DATABASE=nextcloud MYSQL_USER=${MARIADB_USER} MYSQL_PASSWORD=${MARIADB_PASSWORD} diff --git a/env/.env.zapp.nineboard b/env/.env.zapp.nineboard index 7cb2d29..69cf2f8 100644 --- a/env/.env.zapp.nineboard +++ b/env/.env.zapp.nineboard @@ -3,3 +3,4 @@ APP_AUTH=${MODE_AUTH} APP_ALIAS=nineboard + diff --git a/env/.env.zapp.ninegate b/env/.env.zapp.ninegate index ab8bdb2..e3d107f 100644 --- a/env/.env.zapp.ninegate +++ b/env/.env.zapp.ninegate @@ -20,4 +20,5 @@ WIDWORDPRESS_URL=${WORDPRESS_URL} ACTIVATE_WIDGENCONFIG=${GENCONFIG_ACTIVATE} WIDGENCONFIG_URL=${GENCONFIG_URL} -INITPWDADMIN=${ADMIN_PASSWORD} \ No newline at end of file +INITPWDADMIN=${ADMIN_PASSWORD} + diff --git a/env/.env.zapp.wiki b/env/.env.zapp.wiki new file mode 100644 index 0000000..ad11244 --- /dev/null +++ b/env/.env.zapp.wiki @@ -0,0 +1,29 @@ + +# == WIKI ================================================================================================================================= + +#DB_TYPE=mariadb +#DB_HOST=${MARIADB_HOST} +#DB_PORT=${MARIADB_PORT} +#DB_USER=${MARIADB_USER} +#DB_PASS=${MARIADB_PASSWORD} +#DB_NAME=wiki +#LOG_LEVEL=debug + +#PUID=1000 +#PGID=1000 +#TZ=Europe/Paris +#APP_URL=${PROTOCOLE}://${WEB_URL}/${WIKI_SERVICE_NAME} +#DB_HOST=${MARIADB_HOST} +#DB_PORT=${MARIADB_PORT} +#DB_USER=${MARIADB_USER} +#DB_PASS=${MARIADB_PASSWORD} +#DB_DATABASE=${WIKI_SERVICE_NAME} +#APP_KEY=base64:5iSqRGawPnvl5VzRnEqV+K1ElTQ1nDt2bYayD8nh2F4= +#ADMIN_EMAIL=${ADMIN_EMAIL} +#ADMIN_PASSWORD=${ADMIN_PASSWORD} + +PUID=1000 +PGID=1000 +TZ=Europe/Paris +DOKUWIKI_USERNAME=${ADMIN_USER} +DOKUWIKI_PASSWORD=${ADMIN_PASSWORD} \ No newline at end of file diff --git a/env/.env.zapp.wordpress b/env/.env.zapp.wordpress index 69852ac..39f265c 100644 --- a/env/.env.zapp.wordpress +++ b/env/.env.zapp.wordpress @@ -1,7 +1,7 @@ # == WORDPRESS ============================================================================================================================ -WORDPRESS_DB_HOST=mariadb +WORDPRESS_DB_HOST=${MARIADB_HOST} WORDPRESS_DB_NAME=wordpress WORDPRESS_DB_USER=${MARIADB_USER} WORDPRESS_DB_PASSWORD=${MARIADB_PASSWORD} @@ -11,4 +11,5 @@ WORDPRESS_PASSWORD=${ADMIN_PASSWORD} WORDPRESS_EMAIL=${ADMIN_USER}@noreply.fr WORDPRESS_PROTOCOL=${PROTOCOLE} WORDPRESS_DOMAINE=${WEB_URL} -WORDPRESS_ALIAS=/wordpress/ \ No newline at end of file +WORDPRESS_ALIAS=/wordpress/ + diff --git a/misc/images/dokuwiki/containers/dokuwiki/Dockerfile b/misc/images/dokuwiki/containers/dokuwiki/Dockerfile new file mode 100755 index 0000000..6aa22f9 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/Dockerfile @@ -0,0 +1,18 @@ +FROM reg.cadoles.com/envole/nineapache:8.1 + +COPY apache.conf /etc/apache2/conf.d/zapp.conf + +RUN cd /app +RUN rm -rf public +RUN wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz +RUN tar zxvf dokuwiki-stable.tgz +RUN rm dokuwiki-stable.tgz +RUN mv dokuwiki-2024-02-06a public +RUN chown -R apache:apache public +RUN chmod -R 700 public/ + +RUN cd /app/public + +# Installation de wp-cli +#COPY local.php /config/dokuwiki/conf/local.php + diff --git a/misc/images/dokuwiki/containers/dokuwiki/apache.conf b/misc/images/dokuwiki/containers/dokuwiki/apache.conf new file mode 100644 index 0000000..d89e1aa --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/apache.conf @@ -0,0 +1,19 @@ +LoadModule rewrite_module modules/mod_rewrite.so +ServerName nineapache.local +DocumentRoot "/app/public" +Alias /dokuwiki /app/public + + Options Indexes FollowSymLinks + AllowOverride All + Require all granted + + RewriteEngine On + RewriteCond %{REQUEST_URI}::$0 ^(/.+)/(.*)::\2$ + RewriteRule .* - [E=BASE:%1] + RewriteCond %{HTTP:Authorization} .+ + RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0] + RewriteCond %{ENV:REDIRECT_STATUS} ="" + RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L] + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ %{ENV:BASE}/index.php [L] + \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/local.php b/misc/images/dokuwiki/containers/dokuwiki/local.php new file mode 100644 index 0000000..1af7946 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/local.php @@ -0,0 +1,3 @@ + + Require all denied + + + Order allow,deny + Deny from all + diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/_dummy b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/_dummy new file mode 100644 index 0000000..e492265 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/_dummy @@ -0,0 +1 @@ +You can safely delete this file. \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/attic/_dummy b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/attic/_dummy new file mode 100644 index 0000000..e492265 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/attic/_dummy @@ -0,0 +1 @@ +You can safely delete this file. \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/cache/0/0c2b1c22d674380dfa888b2dbf240627.i b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/cache/0/0c2b1c22d674380dfa888b2dbf240627.i new file mode 100644 index 0000000..9157745 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/cache/0/0c2b1c22d674380dfa888b2dbf240627.i @@ -0,0 +1 @@ +a:12:{i:0;a:3:{i:0;s:14:"document_start";i:1;a:0:{}i:2;i:0;}i:1;a:3:{i:0;s:6:"header";i:1;a:3:{i:0;s:29:"This topic does not exist yet";i:1;i:1;i:2;i:1;}i:2;i:1;}i:2;a:3:{i:0;s:12:"section_open";i:1;a:1:{i:0;i:1;}i:2;i:1;}i:3;a:3:{i:0;s:6:"p_open";i:1;a:0:{}i:2;i:1;}i:4;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:113:"You've followed a link to a topic that doesn't exist yet. If permissions allow, you may create it by clicking on ";}i:2;i:46;}i:5;a:3:{i:0;s:11:"strong_open";i:1;a:0:{}i:2;i:159;}i:6;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:16:"Create this page";}i:2;i:161;}i:7;a:3:{i:0;s:12:"strong_close";i:1;a:0:{}i:2;i:177;}i:8;a:3:{i:0;s:5:"cdata";i:1;a:1:{i:0;s:1:".";}i:2;i:179;}i:9;a:3:{i:0;s:7:"p_close";i:1;a:0:{}i:2;i:180;}i:10;a:3:{i:0;s:13:"section_close";i:1;a:0:{}i:2;i:181;}i:11;a:3:{i:0;s:12:"document_end";i:1;a:0:{}i:2;i:181;}} \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/cache/0/0c2b1c22d674380dfa888b2dbf240627.xhtml b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/cache/0/0c2b1c22d674380dfa888b2dbf240627.xhtml new file mode 100644 index 0000000..51789b1 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/cache/0/0c2b1c22d674380dfa888b2dbf240627.xhtml @@ -0,0 +1,9 @@ + +

This topic does not exist yet

+
+ +

+You've followed a link to a topic that doesn't exist yet. If permissions allow, you may create it by clicking on Create this page. +

+ +
diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/cache/_dummy b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/cache/_dummy new file mode 100644 index 0000000..e492265 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/cache/_dummy @@ -0,0 +1 @@ +You can safely delete this file. \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/cache/b/b3a3afdac05fdf0522fa9361d0763186.updmsg b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/cache/b/b3a3afdac05fdf0522fa9361d0763186.updmsg new file mode 100644 index 0000000..e69de29 diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/deleted.files b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/deleted.files new file mode 100644 index 0000000..bf5942e --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/deleted.files @@ -0,0 +1,988 @@ +# This is a list of files that were present in previous DokuWiki releases +# but were removed later. An up to date DokuWiki should not have any of +# the files installed + +# removed in 2022-06-26 +.travis.yml +appveyor.yml +inc/IXR_Library.php +inc/cli.php +lib/images/interwiki/amazon.de.gif +lib/images/interwiki/amazon.gif +lib/images/interwiki/amazon.uk.gif +lib/images/interwiki/callto.gif +lib/images/interwiki/doku.gif +lib/images/interwiki/google.gif +lib/images/interwiki/paypal.gif +lib/images/interwiki/phpfn.gif +lib/images/interwiki/skype.gif +lib/images/interwiki/tel.gif +lib/images/interwiki/user.png +lib/images/interwiki/wp.gif +lib/images/interwiki/wpde.gif +lib/images/interwiki/wpes.gif +lib/images/interwiki/wpfr.gif +lib/images/interwiki/wpjp.gif +lib/images/interwiki/wpmeta.gif +lib/images/interwiki/wppl.gif +lib/images/smileys/delete.gif +lib/images/smileys/facepalm.gif +lib/images/smileys/fixme.gif +lib/images/smileys/icon_arrow.gif +lib/images/smileys/icon_biggrin.gif +lib/images/smileys/icon_confused.gif +lib/images/smileys/icon_cool.gif +lib/images/smileys/icon_cry.gif +lib/images/smileys/icon_doubt.gif +lib/images/smileys/icon_doubt2.gif +lib/images/smileys/icon_eek.gif +lib/images/smileys/icon_evil.gif +lib/images/smileys/icon_exclaim.gif +lib/images/smileys/icon_frown.gif +lib/images/smileys/icon_fun.gif +lib/images/smileys/icon_idea.gif +lib/images/smileys/icon_kaddi.gif +lib/images/smileys/icon_lol.gif +lib/images/smileys/icon_mrgreen.gif +lib/images/smileys/icon_neutral.gif +lib/images/smileys/icon_question.gif +lib/images/smileys/icon_razz.gif +lib/images/smileys/icon_redface.gif +lib/images/smileys/icon_rolleyes.gif +lib/images/smileys/icon_sad.gif +lib/images/smileys/icon_silenced.gif +lib/images/smileys/icon_smile.gif +lib/images/smileys/icon_smile2.gif +lib/images/smileys/icon_surprised.gif +lib/images/smileys/icon_twisted.gif +lib/images/smileys/icon_wink.gif +vendor/paragonie/random_compat/LICENSE +vendor/paragonie/random_compat/composer.json +vendor/paragonie/random_compat/lib/byte_safe_strings.php +vendor/paragonie/random_compat/lib/cast_to_int.php +vendor/paragonie/random_compat/lib/error_polyfill.php +vendor/paragonie/random_compat/lib/random.php +vendor/paragonie/random_compat/lib/random_bytes_com_dotnet.php +vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php +vendor/paragonie/random_compat/lib/random_bytes_libsodium.php +vendor/paragonie/random_compat/lib/random_bytes_libsodium_legacy.php +vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php +vendor/paragonie/random_compat/lib/random_int.php +lib/images/smileys/icon_cool.gif +lib/images/smileys/icon_eek.gif +lib/images/smileys/icon_eek.gif +lib/images/smileys/icon_sad.gif +lib/images/smileys/icon_smile.gif +lib/images/smileys/icon_smile2.gif +lib/images/smileys/icon_doubt.gif +lib/images/smileys/icon_doubt2.gif +lib/images/smileys/icon_confused.gif +lib/images/smileys/icon_biggrin.gif +lib/images/smileys/icon_razz.gif +lib/images/smileys/icon_surprised.gif +lib/images/smileys/icon_surprised.gif +lib/images/smileys/icon_silenced.gif +lib/images/smileys/icon_silenced.gif +lib/images/smileys/icon_neutral.gif +lib/images/smileys/icon_wink.gif +lib/images/smileys/facepalm.gif +lib/images/smileys/icon_fun.gif +lib/images/smileys/icon_question.gif +lib/images/smileys/icon_exclaim.gif +lib/images/smileys/icon_lol.gif +lib/images/smileys/fixme.gif +lib/images/smileys/delete.gif + +# removed in 2020-06-01 +inc/PluginInterface.php +inc/PluginTrait.php +inc/HTTPClient.php +inc/PassHash.class.php +inc/remote.php +inc/RemoteAPICore.php +inc/Sitemapper.php +lib/plugins/config/_test/configuration.test.php +inc/Input.class.php +inc/JSON.php +inc/Plugin.php +inc/events.php +inc/lang/.htaccess +inc/lang/az/wordblock.txt +inc/lang/gl/wordblock.txt +inc/lang/ru/wordblock.txt +inc/parser/lexer.php +inc/plugincontroller.class.php +inc/subscription.php +lib/plugins/authmysql/auth.php +lib/plugins/authmysql/conf/default.php +lib/plugins/authmysql/conf/metadata.php +lib/plugins/authmysql/lang/bg/lang.php +lib/plugins/authmysql/lang/bg/settings.php +lib/plugins/authmysql/lang/cs/lang.php +lib/plugins/authmysql/lang/cs/settings.php +lib/plugins/authmysql/lang/cy/lang.php +lib/plugins/authmysql/lang/cy/settings.php +lib/plugins/authmysql/lang/da/lang.php +lib/plugins/authmysql/lang/da/settings.php +lib/plugins/authmysql/lang/de-informal/lang.php +lib/plugins/authmysql/lang/de-informal/settings.php +lib/plugins/authmysql/lang/de/lang.php +lib/plugins/authmysql/lang/de/settings.php +lib/plugins/authmysql/lang/en/lang.php +lib/plugins/authmysql/lang/en/settings.php +lib/plugins/authmysql/lang/eo/lang.php +lib/plugins/authmysql/lang/eo/settings.php +lib/plugins/authmysql/lang/es/lang.php +lib/plugins/authmysql/lang/es/settings.php +lib/plugins/authmysql/lang/eu/lang.php +lib/plugins/authmysql/lang/eu/settings.php +lib/plugins/authmysql/lang/fa/lang.php +lib/plugins/authmysql/lang/fa/settings.php +lib/plugins/authmysql/lang/fi/settings.php +lib/plugins/authmysql/lang/fr/lang.php +lib/plugins/authmysql/lang/fr/settings.php +lib/plugins/authmysql/lang/he/settings.php +lib/plugins/authmysql/lang/hr/lang.php +lib/plugins/authmysql/lang/hr/settings.php +lib/plugins/authmysql/lang/hu/lang.php +lib/plugins/authmysql/lang/hu/settings.php +lib/plugins/authmysql/lang/it/lang.php +lib/plugins/authmysql/lang/it/settings.php +lib/plugins/authmysql/lang/ja/lang.php +lib/plugins/authmysql/lang/ja/settings.php +lib/plugins/authmysql/lang/ko/lang.php +lib/plugins/authmysql/lang/ko/settings.php +lib/plugins/authmysql/lang/lv/settings.php +lib/plugins/authmysql/lang/nl/lang.php +lib/plugins/authmysql/lang/nl/settings.php +lib/plugins/authmysql/lang/no/lang.php +lib/plugins/authmysql/lang/no/settings.php +lib/plugins/authmysql/lang/pl/lang.php +lib/plugins/authmysql/lang/pl/settings.php +lib/plugins/authmysql/lang/pt-br/lang.php +lib/plugins/authmysql/lang/pt-br/settings.php +lib/plugins/authmysql/lang/pt/lang.php +lib/plugins/authmysql/lang/pt/settings.php +lib/plugins/authmysql/lang/ru/lang.php +lib/plugins/authmysql/lang/ru/settings.php +lib/plugins/authmysql/lang/sk/lang.php +lib/plugins/authmysql/lang/sk/settings.php +lib/plugins/authmysql/lang/sl/settings.php +lib/plugins/authmysql/lang/sr/lang.php +lib/plugins/authmysql/lang/sr/settings.php +lib/plugins/authmysql/lang/sv/lang.php +lib/plugins/authmysql/lang/sv/settings.php +lib/plugins/authmysql/lang/tr/lang.php +lib/plugins/authmysql/lang/tr/settings.php +lib/plugins/authmysql/lang/uk/lang.php +lib/plugins/authmysql/lang/zh-tw/settings.php +lib/plugins/authmysql/lang/zh/lang.php +lib/plugins/authmysql/lang/zh/settings.php +lib/plugins/authmysql/plugin.info.txt +lib/plugins/authpgsql/auth.php +lib/plugins/authpgsql/conf/default.php +lib/plugins/authpgsql/conf/metadata.php +lib/plugins/authpgsql/lang/bg/settings.php +lib/plugins/authpgsql/lang/cs/settings.php +lib/plugins/authpgsql/lang/cy/settings.php +lib/plugins/authpgsql/lang/da/settings.php +lib/plugins/authpgsql/lang/de-informal/settings.php +lib/plugins/authpgsql/lang/de/settings.php +lib/plugins/authpgsql/lang/en/settings.php +lib/plugins/authpgsql/lang/eo/settings.php +lib/plugins/authpgsql/lang/es/settings.php +lib/plugins/authpgsql/lang/fa/settings.php +lib/plugins/authpgsql/lang/fr/settings.php +lib/plugins/authpgsql/lang/hr/settings.php +lib/plugins/authpgsql/lang/hu/settings.php +lib/plugins/authpgsql/lang/it/settings.php +lib/plugins/authpgsql/lang/ja/settings.php +lib/plugins/authpgsql/lang/ko/settings.php +lib/plugins/authpgsql/lang/lv/settings.php +lib/plugins/authpgsql/lang/nl/settings.php +lib/plugins/authpgsql/lang/no/settings.php +lib/plugins/authpgsql/lang/pl/settings.php +lib/plugins/authpgsql/lang/pt-br/settings.php +lib/plugins/authpgsql/lang/pt/settings.php +lib/plugins/authpgsql/lang/ru/settings.php +lib/plugins/authpgsql/lang/sk/settings.php +lib/plugins/authpgsql/lang/sl/settings.php +lib/plugins/authpgsql/lang/sr/settings.php +lib/plugins/authpgsql/lang/sv/settings.php +lib/plugins/authpgsql/lang/tr/settings.php +lib/plugins/authpgsql/lang/uk/settings.php +lib/plugins/authpgsql/lang/zh-tw/settings.php +lib/plugins/authpgsql/lang/zh/settings.php +lib/plugins/authpgsql/plugin.info.txt +lib/plugins/config/settings/config.class.php +lib/plugins/config/settings/extra.class.php +lib/plugins/styling/iris.js +lib/scripts/jquery/jquery-migrate.min.js +vendor/paragonie/random_compat/psalm-autoload.php +vendor/paragonie/random_compat/psalm.xml + +# removed in 2018-04-22 +data/security.png +data/security.xcf +inc/EmailAddressValidator.php +inc/blowfish.php +inc/feedcreator.class.php +inc/lessc.inc.php +inc/plugin.php +lib/images/loading.gif +lib/tpl/dokuwiki/css/_search.css +vendor/easybook/geshi +vendor/phpseclib/phpseclib/composer.lock + +# remove in 2017-02-19 +inc/SimplePie.php +inc/Tar.class.php +inc/ZipLib.class.php +inc/phpseclib/Crypt_AES.php +inc/phpseclib/Crypt_Rijndael.php +inc/phpseclib/update.sh +inc/phpseclib/LICENSE +inc/phpseclib/Crypt_Base.php +inc/phpseclib/Crypt_Hash.php +inc/phpseclib/Math_BigInteger.php +lib/scripts/jquery/jquery-migrate.js +lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_0_aaaaaa_40x100.png +lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_75_ffffff_40x100.png +lib/scripts/jquery/jquery-ui.js +lib/scripts/jquery/jquery.js +lib/tpl/dokuwiki/css/_admin.css + +# removed in 2016-06-26 +inc/cliopts.php +lib/tpl/dokuwiki/css/mixins.less + +# removed in 2015-08-10 +inc/TarLib.class.php +inc/geshi.php +inc/geshi/4cs.php +inc/geshi/6502acme.php +inc/geshi/6502kickass.php +inc/geshi/6502tasm.php +inc/geshi/68000devpac.php +inc/geshi/abap.php +inc/geshi/actionscript-french.php +inc/geshi/actionscript.php +inc/geshi/actionscript3.php +inc/geshi/ada.php +inc/geshi/algol68.php +inc/geshi/apache.php +inc/geshi/applescript.php +inc/geshi/apt_sources.php +inc/geshi/arm.php +inc/geshi/asm.php +inc/geshi/asp.php +inc/geshi/asymptote.php +inc/geshi/autoconf.php +inc/geshi/autohotkey.php +inc/geshi/autoit.php +inc/geshi/avisynth.php +inc/geshi/awk.php +inc/geshi/bascomavr.php +inc/geshi/bash.php +inc/geshi/basic4gl.php +inc/geshi/bf.php +inc/geshi/bibtex.php +inc/geshi/blitzbasic.php +inc/geshi/bnf.php +inc/geshi/boo.php +inc/geshi/c.php +inc/geshi/c_loadrunner.php +inc/geshi/c_mac.php +inc/geshi/caddcl.php +inc/geshi/cadlisp.php +inc/geshi/cfdg.php +inc/geshi/cfm.php +inc/geshi/chaiscript.php +inc/geshi/cil.php +inc/geshi/clojure.php +inc/geshi/cmake.php +inc/geshi/cobol.php +inc/geshi/coffeescript.php +inc/geshi/cpp-qt.php +inc/geshi/cpp.php +inc/geshi/csharp.php +inc/geshi/css.php +inc/geshi/cuesheet.php +inc/geshi/d.php +inc/geshi/dcl.php +inc/geshi/dcpu16.php +inc/geshi/dcs.php +inc/geshi/delphi.php +inc/geshi/diff.php +inc/geshi/div.php +inc/geshi/dos.php +inc/geshi/dot.php +inc/geshi/e.php +inc/geshi/ecmascript.php +inc/geshi/eiffel.php +inc/geshi/email.php +inc/geshi/epc.php +inc/geshi/erlang.php +inc/geshi/euphoria.php +inc/geshi/f1.php +inc/geshi/falcon.php +inc/geshi/fo.php +inc/geshi/fortran.php +inc/geshi/freebasic.php +inc/geshi/freeswitch.php +inc/geshi/fsharp.php +inc/geshi/gambas.php +inc/geshi/gdb.php +inc/geshi/genero.php +inc/geshi/genie.php +inc/geshi/gettext.php +inc/geshi/glsl.php +inc/geshi/gml.php +inc/geshi/gnuplot.php +inc/geshi/go.php +inc/geshi/groovy.php +inc/geshi/gwbasic.php +inc/geshi/haskell.php +inc/geshi/haxe.php +inc/geshi/hicest.php +inc/geshi/hq9plus.php +inc/geshi/html4strict.php +inc/geshi/html5.php +inc/geshi/icon.php +inc/geshi/idl.php +inc/geshi/ini.php +inc/geshi/inno.php +inc/geshi/intercal.php +inc/geshi/io.php +inc/geshi/j.php +inc/geshi/java.php +inc/geshi/java5.php +inc/geshi/javascript.php +inc/geshi/jquery.php +inc/geshi/kixtart.php +inc/geshi/klonec.php +inc/geshi/klonecpp.php +inc/geshi/latex.php +inc/geshi/lb.php +inc/geshi/ldif.php +inc/geshi/lisp.php +inc/geshi/llvm.php +inc/geshi/locobasic.php +inc/geshi/logtalk.php +inc/geshi/lolcode.php +inc/geshi/lotusformulas.php +inc/geshi/lotusscript.php +inc/geshi/lscript.php +inc/geshi/lsl2.php +inc/geshi/lua.php +inc/geshi/m68k.php +inc/geshi/magiksf.php +inc/geshi/make.php +inc/geshi/mapbasic.php +inc/geshi/matlab.php +inc/geshi/mirc.php +inc/geshi/mmix.php +inc/geshi/modula2.php +inc/geshi/modula3.php +inc/geshi/mpasm.php +inc/geshi/mxml.php +inc/geshi/mysql.php +inc/geshi/nagios.php +inc/geshi/netrexx.php +inc/geshi/newlisp.php +inc/geshi/nsis.php +inc/geshi/oberon2.php +inc/geshi/objc.php +inc/geshi/objeck.php +inc/geshi/ocaml-brief.php +inc/geshi/ocaml.php +inc/geshi/octave.php +inc/geshi/oobas.php +inc/geshi/oorexx.php +inc/geshi/oracle11.php +inc/geshi/oracle8.php +inc/geshi/oxygene.php +inc/geshi/oz.php +inc/geshi/parasail.php +inc/geshi/parigp.php +inc/geshi/pascal.php +inc/geshi/pcre.php +inc/geshi/per.php +inc/geshi/perl.php +inc/geshi/perl6.php +inc/geshi/pf.php +inc/geshi/php-brief.php +inc/geshi/php.php +inc/geshi/pic16.php +inc/geshi/pike.php +inc/geshi/pixelbender.php +inc/geshi/pli.php +inc/geshi/plsql.php +inc/geshi/postgresql.php +inc/geshi/povray.php +inc/geshi/powerbuilder.php +inc/geshi/powershell.php +inc/geshi/proftpd.php +inc/geshi/progress.php +inc/geshi/prolog.php +inc/geshi/properties.php +inc/geshi/providex.php +inc/geshi/purebasic.php +inc/geshi/pycon.php +inc/geshi/pys60.php +inc/geshi/python.php +inc/geshi/q.php +inc/geshi/qbasic.php +inc/geshi/rails.php +inc/geshi/rebol.php +inc/geshi/reg.php +inc/geshi/rexx.php +inc/geshi/robots.php +inc/geshi/rpmspec.php +inc/geshi/rsplus.php +inc/geshi/ruby.php +inc/geshi/sas.php +inc/geshi/scala.php +inc/geshi/scheme.php +inc/geshi/scilab.php +inc/geshi/sdlbasic.php +inc/geshi/smalltalk.php +inc/geshi/smarty.php +inc/geshi/spark.php +inc/geshi/sparql.php +inc/geshi/sql.php +inc/geshi/stonescript.php +inc/geshi/systemverilog.php +inc/geshi/tcl.php +inc/geshi/teraterm.php +inc/geshi/text.php +inc/geshi/thinbasic.php +inc/geshi/tsql.php +inc/geshi/typoscript.php +inc/geshi/unicon.php +inc/geshi/upc.php +inc/geshi/urbi.php +inc/geshi/uscript.php +inc/geshi/vala.php +inc/geshi/vb.php +inc/geshi/vbnet.php +inc/geshi/vedit.php +inc/geshi/verilog.php +inc/geshi/vhdl.php +inc/geshi/vim.php +inc/geshi/visualfoxpro.php +inc/geshi/visualprolog.php +inc/geshi/whitespace.php +inc/geshi/whois.php +inc/geshi/winbatch.php +inc/geshi/xbasic.php +inc/geshi/xml.php +inc/geshi/xorg_conf.php +inc/geshi/xpp.php +inc/geshi/yaml.php +inc/geshi/z80.php +inc/geshi/zxbasic.php +lib/images/interwiki/coral.gif +lib/images/interwiki/dokubug.gif +lib/images/interwiki/sb.gif +lib/scripts/drag.js +lib/scripts/jquery/jquery-ui-theme/images/animated-overlay.gif +lib/scripts/tw-sack.js + +# removed in 2014-05-05 +lib/images/fileicons/audio.png +lib/plugins/plugin/admin.php +lib/plugins/plugin/classes/ap_delete.class.php +lib/plugins/plugin/classes/ap_download.class.php +lib/plugins/plugin/classes/ap_enable.class.php +lib/plugins/plugin/classes/ap_info.class.php +lib/plugins/plugin/classes/ap_manage.class.php +lib/plugins/plugin/classes/ap_update.class.php +lib/plugins/plugin/lang/af/lang.php +lib/plugins/plugin/lang/ar/admin_plugin.txt +lib/plugins/plugin/lang/ar/lang.php +lib/plugins/plugin/lang/bg/admin_plugin.txt +lib/plugins/plugin/lang/bg/lang.php +lib/plugins/plugin/lang/ca-valencia/admin_plugin.txt +lib/plugins/plugin/lang/ca-valencia/lang.php +lib/plugins/plugin/lang/ca/admin_plugin.txt +lib/plugins/plugin/lang/ca/lang.php +lib/plugins/plugin/lang/cs/admin_plugin.txt +lib/plugins/plugin/lang/cs/lang.php +lib/plugins/plugin/lang/da/admin_plugin.txt +lib/plugins/plugin/lang/da/lang.php +lib/plugins/plugin/lang/de-informal/admin_plugin.txt +lib/plugins/plugin/lang/de-informal/lang.php +lib/plugins/plugin/lang/de/admin_plugin.txt +lib/plugins/plugin/lang/de/lang.php +lib/plugins/plugin/lang/el/admin_plugin.txt +lib/plugins/plugin/lang/el/lang.php +lib/plugins/plugin/lang/en/admin_plugin.txt +lib/plugins/plugin/lang/en/lang.php +lib/plugins/plugin/lang/eo/admin_plugin.txt +lib/plugins/plugin/lang/eo/lang.php +lib/plugins/plugin/lang/es/admin_plugin.txt +lib/plugins/plugin/lang/es/lang.php +lib/plugins/plugin/lang/et/lang.php +lib/plugins/plugin/lang/eu/admin_plugin.txt +lib/plugins/plugin/lang/eu/lang.php +lib/plugins/plugin/lang/fa/admin_plugin.txt +lib/plugins/plugin/lang/fa/lang.php +lib/plugins/plugin/lang/fi/admin_plugin.txt +lib/plugins/plugin/lang/fi/lang.php +lib/plugins/plugin/lang/fr/admin_plugin.txt +lib/plugins/plugin/lang/fr/lang.php +lib/plugins/plugin/lang/gl/admin_plugin.txt +lib/plugins/plugin/lang/gl/lang.php +lib/plugins/plugin/lang/he/admin_plugin.txt +lib/plugins/plugin/lang/he/lang.php +lib/plugins/plugin/lang/hi/lang.php +lib/plugins/plugin/lang/hr/lang.php +lib/plugins/plugin/lang/hu/admin_plugin.txt +lib/plugins/plugin/lang/hu/lang.php +lib/plugins/plugin/lang/ia/admin_plugin.txt +lib/plugins/plugin/lang/ia/lang.php +lib/plugins/plugin/lang/id-ni/lang.php +lib/plugins/plugin/lang/id/lang.php +lib/plugins/plugin/lang/is/lang.php +lib/plugins/plugin/lang/it/admin_plugin.txt +lib/plugins/plugin/lang/it/lang.php +lib/plugins/plugin/lang/ja/admin_plugin.txt +lib/plugins/plugin/lang/ja/lang.php +lib/plugins/plugin/lang/kk/lang.php +lib/plugins/plugin/lang/ko/admin_plugin.txt +lib/plugins/plugin/lang/ko/lang.php +lib/plugins/plugin/lang/la/admin_plugin.txt +lib/plugins/plugin/lang/la/lang.php +lib/plugins/plugin/lang/lb/admin_plugin.txt +lib/plugins/plugin/lang/lb/lang.php +lib/plugins/plugin/lang/lt/admin_plugin.txt +lib/plugins/plugin/lang/lt/lang.php +lib/plugins/plugin/lang/lv/admin_plugin.txt +lib/plugins/plugin/lang/lv/lang.php +lib/plugins/plugin/lang/mk/lang.php +lib/plugins/plugin/lang/mr/admin_plugin.txt +lib/plugins/plugin/lang/mr/lang.php +lib/plugins/plugin/lang/ms/lang.php +lib/plugins/plugin/lang/ne/lang.php +lib/plugins/plugin/lang/nl/admin_plugin.txt +lib/plugins/plugin/lang/nl/lang.php +lib/plugins/plugin/lang/no/admin_plugin.txt +lib/plugins/plugin/lang/no/lang.php +lib/plugins/plugin/lang/pl/admin_plugin.txt +lib/plugins/plugin/lang/pl/lang.php +lib/plugins/plugin/lang/pt-br/admin_plugin.txt +lib/plugins/plugin/lang/pt-br/lang.php +lib/plugins/plugin/lang/pt/admin_plugin.txt +lib/plugins/plugin/lang/pt/lang.php +lib/plugins/plugin/lang/ro/admin_plugin.txt +lib/plugins/plugin/lang/ro/lang.php +lib/plugins/plugin/lang/ru/admin_plugin.txt +lib/plugins/plugin/lang/ru/lang.php +lib/plugins/plugin/lang/sk/admin_plugin.txt +lib/plugins/plugin/lang/sk/lang.php +lib/plugins/plugin/lang/sl/admin_plugin.txt +lib/plugins/plugin/lang/sl/lang.php +lib/plugins/plugin/lang/sq/admin_plugin.txt +lib/plugins/plugin/lang/sq/lang.php +lib/plugins/plugin/lang/sr/admin_plugin.txt +lib/plugins/plugin/lang/sr/lang.php +lib/plugins/plugin/lang/sv/admin_plugin.txt +lib/plugins/plugin/lang/sv/lang.php +lib/plugins/plugin/lang/th/admin_plugin.txt +lib/plugins/plugin/lang/th/lang.php +lib/plugins/plugin/lang/tr/admin_plugin.txt +lib/plugins/plugin/lang/tr/lang.php +lib/plugins/plugin/lang/uk/admin_plugin.txt +lib/plugins/plugin/lang/uk/lang.php +lib/plugins/plugin/lang/vi/lang.php +lib/plugins/plugin/lang/zh-tw/admin_plugin.txt +lib/plugins/plugin/lang/zh-tw/lang.php +lib/plugins/plugin/lang/zh/admin_plugin.txt +lib/plugins/plugin/lang/zh/lang.php +lib/plugins/plugin/plugin.info.txt +lib/plugins/plugin/style.css + +# removed in 2013-11-18 +lib/images/arrow_down.gif +lib/images/arrow_up.gif +lib/images/at.gif +lib/images/close.png +lib/images/del.png +lib/images/edit.gif +lib/images/list-minus.gif +lib/images/list-plus.gif +lib/images/pencil.png + +# removed in 2013-10-28 +lib/images/interwiki/meatball.gif +lib/images/interwiki/wiki.gif +lib/plugins/acl/ajax.php +lib/tpl/default/_admin.css +lib/tpl/default/_fileuploader.css +lib/tpl/default/_linkwiz.css +lib/tpl/default/_mediamanager.css +lib/tpl/default/_mediaoptions.css +lib/tpl/default/_subscription.css +lib/tpl/default/_tabs.css +lib/tpl/default/design.css +lib/tpl/default/detail.php +lib/tpl/default/footer.html +lib/tpl/default/images/UWEB.png +lib/tpl/default/images/UWEBshadow.png +lib/tpl/default/images/apple-touch-icon.png +lib/tpl/default/images/bullet.gif +lib/tpl/default/images/button-cc.gif +lib/tpl/default/images/button-css.png +lib/tpl/default/images/button-donate.gif +lib/tpl/default/images/button-dw.png +lib/tpl/default/images/button-php.gif +lib/tpl/default/images/button-rss.png +lib/tpl/default/images/button-xhtml.png +lib/tpl/default/images/buttonshadow.png +lib/tpl/default/images/closed.gif +lib/tpl/default/images/favicon.ico +lib/tpl/default/images/inputshadow.png +lib/tpl/default/images/link_icon.gif +lib/tpl/default/images/mail_icon.gif +lib/tpl/default/images/open.gif +lib/tpl/default/images/resizecol.png +lib/tpl/default/images/tocdot2.gif +lib/tpl/default/images/windows.gif +lib/tpl/default/layout.css +lib/tpl/default/main.php +lib/tpl/default/media.css +lib/tpl/default/mediamanager.php +lib/tpl/default/print.css +lib/tpl/default/rtl.css +lib/tpl/default/style.ini +lib/tpl/default/template.info.txt +lib/tpl/dokuwiki/css/basic.css +lib/tpl/dokuwiki/css/content.css +lib/tpl/dokuwiki/css/design.css +lib/tpl/dokuwiki/css/includes.css +lib/tpl/dokuwiki/css/mobile.css +lib/tpl/dokuwiki/css/pagetools.css +lib/tpl/dokuwiki/css/structure.css + +# removed in 2013-05-10 +lib/plugins/info/lang/sl/lang.php + +# removed in 2013-04-06 +inc/adLDAP.php +inc/auth/ad.class.php +inc/auth/basic.class.php +inc/auth/ldap.class.php +inc/auth/mysql.class.php +inc/auth/pgsql.class.php +inc/auth/plain.class.php + +# removed in 2012-09-10 +lib/images/icon-file.png +lib/images/icon-thumb.png +lib/images/interwiki/skype.png +lib/plugins/acl/rtl.css +lib/plugins/config/rtl.css +lib/plugins/plugin/rtl.css + +# removed in 2011-11-10 +lib/_fla/.htaccess +lib/_fla/MultipleUpload.as +lib/_fla/README +lib/_fla/index.html +lib/_fla/multipleUpload.fla +lib/exe/multipleUpload.swf +lib/images/multiupload.png +lib/scripts/ajax.js +lib/scripts/events.js +lib/scripts/subscriptions.js + +# removed in 2011-05-25 +conf/words.aspell.dist +lib/styles/style.css + +# removed in 2010-11-07 +inc/lang/ar/subscribermail.txt +inc/lang/az/subscribermail.txt +inc/lang/bg/subscribermail.txt +inc/lang/ca/subscribermail.txt +inc/lang/ca-valencia/subscribermail.txt +inc/lang/cs/subscribermail.txt +inc/lang/da/subscribermail.txt +inc/lang/de-informal/subscribermail.txt +inc/lang/el/subscribermail.txt +inc/lang/eo/subscribermail.txt +inc/lang/es/subscribermail.txt +inc/lang/et/subscribermail.txt +inc/lang/eu/subscribermail.txt +inc/lang/fa/subscribermail.txt +inc/lang/fi/subscribermail.txt +inc/lang/fo/subscribermail.txt +inc/lang/fr/subscribermail.txt +inc/lang/gl/subscribermail.txt +inc/lang/he/subscribermail.txt +inc/lang/hr/subscribermail.txt +inc/lang/hu/subscribermail.txt +inc/lang/id/subscribermail.txt +inc/lang/is/subscribermail.txt +inc/lang/it/subscribermail.txt +inc/lang/ja/subscribermail.txt +inc/lang/ko/subscribermail.txt +inc/lang/ku/subscribermail.txt +inc/lang/lt/subscribermail.txt +inc/lang/lv/subscribermail.txt +inc/lang/mr/subscribermail.txt +inc/lang/ne/subscribermail.txt +inc/lang/nl/subscribermail.txt +inc/lang/no/subscribermail.txt +inc/lang/pl/subscribermail.txt +inc/lang/pt-br/subscribermail.txt +inc/lang/pt/subscribermail.txt +inc/lang/ro/subscribermail.txt +inc/lang/ru/subscribermail.txt +inc/lang/sk/subscribermail.txt +inc/lang/sr/subscribermail.txt +inc/lang/sv/subscribermail.txt +inc/lang/th/subscribermail.txt +inc/lang/tr/subscribermail.txt +inc/lang/uk/subscribermail.txt +inc/lang/zh/subscribermail.txt +inc/lang/zh-tw/subscribermail.txt + +# removed in rc2010-10-07 +conf/msg +inc/lang/bg/wordblock.txt +inc/lang/ca-valencia/wordblock.txt +inc/lang/ca/wordblock.txt +inc/lang/cs/wordblock.txt +inc/lang/da/wordblock.txt +inc/lang/de-informal/wordblock.txt +inc/lang/de/subscribermail.txt +inc/lang/de/wordblock.txt +inc/lang/el/wordblock.txt +inc/lang/en/subscribermail.txt +inc/lang/en/wordblock.txt +inc/lang/eo/wordblock.txt +inc/lang/es/wordblock.txt +inc/lang/et/wordblock.txt +inc/lang/eu/wordblock.txt +inc/lang/fa/wordblock.txt +inc/lang/fi/wordblock.txt +inc/lang/fo/wordblock.txt +inc/lang/fr/wordblock.txt +inc/lang/he/wordblock.txt +inc/lang/hr/wordblock.txt +inc/lang/hu/wordblock.txt +inc/lang/id/wordblock.txt +inc/lang/it/wordblock.txt +inc/lang/ja/wordblock.txt +inc/lang/ko/wordblock.txt +inc/lang/ku/wordblock.txt +inc/lang/lt/wordblock.txt +inc/lang/lv/wordblock.txt +inc/lang/mg/wordblock.txt +inc/lang/mr/wordblock.txt +inc/lang/nl/wordblock.txt +inc/lang/no/wordblock.txt +inc/lang/pl/wordblock.txt +inc/lang/pt-br/wordblock.txt +inc/lang/pt/wordblock.txt +inc/lang/ro/wordblock.txt +inc/lang/sk/wordblock.txt +inc/lang/sl/wordblock.txt +inc/lang/sr/wordblock.txt +inc/lang/sv/wordblock.txt +inc/lang/th/wordblock.txt +inc/lang/tr/wordblock.txt +inc/lang/uk/wordblock.txt +inc/lang/vi/wordblock.txt +inc/lang/zh-tw/wordblock.txt +inc/lang/zh/wordblock.txt +lib/scripts/pngbehavior.htc + +# removed in rc2009-12-02 +inc/lang/ar/wordblock.txt +inc/lang/ca-va/ +lib/plugins/acl/lang/ca-va/ +lib/plugins/config/lang/ca-va/ +lib/plugins/plugin/lang/ca-va/ +lib/plugins/popularity/lang/ca-va/ +lib/plugins/revert/lang/ca-va/ +lib/plugins/usermanager/lang/ca-va/ + +# removed in rc2009-01-30 +lib/plugins/upgradeplugindirectory +lib/plugins/upgradeplugindirectory/action.php + +# removed in rc2009-01-26 +inc/auth/punbb.class.php +inc/lang/ko/edit.txt_bak +inc/lang/ko/lang.php_bak +inc/lang/ku/admin_acl.txt +inc/lang/mg/admin_acl.txt +lib/plugins/importoldchangelog +lib/plugins/importoldchangelog/action.php +lib/plugins/importoldindex +lib/plugins/importoldindex/action.php +lib/plugins/usermanager/images/no_user_edit.png +lib/plugins/usermanager/images/user_edit.png +lib/tpl/default/UWEB.css + +# removed in rc2008-03-31 +inc/aspell.php +inc/geshi/css-gen.cfg +inc/lang/fr/admin_acl.txt +lib/exe/spellcheck.php +lib/images/toolbar/spellcheck.png +lib/images/toolbar/spellnoerr.png +lib/images/toolbar/spellstop.png +lib/images/toolbar/spellwait.gif +lib/plugins/acl/lang/ar/intro.txt +lib/plugins/acl/lang/bg/intro.txt +lib/plugins/acl/lang/ca/intro.txt +lib/plugins/acl/lang/cs/intro.txt +lib/plugins/acl/lang/da/intro.txt +lib/plugins/acl/lang/de/intro.txt +lib/plugins/acl/lang/el/intro.txt +lib/plugins/acl/lang/en/intro.txt +lib/plugins/acl/lang/es/intro.txt +lib/plugins/acl/lang/et/intro.txt +lib/plugins/acl/lang/eu/intro.txt +lib/plugins/acl/lang/fi/intro.txt +lib/plugins/acl/lang/fr/intro.txt +lib/plugins/acl/lang/gl/intro.txt +lib/plugins/acl/lang/he/intro.txt +lib/plugins/acl/lang/id/intro.txt +lib/plugins/acl/lang/it/intro.txt +lib/plugins/acl/lang/ja/intro.txt +lib/plugins/acl/lang/ko/intro.txt +lib/plugins/acl/lang/lt/intro.txt +lib/plugins/acl/lang/lv/intro.txt +lib/plugins/acl/lang/nl/intro.txt +lib/plugins/acl/lang/no/intro.txt +lib/plugins/acl/lang/pl/intro.txt +lib/plugins/acl/lang/pt/intro.txt +lib/plugins/acl/lang/ru/intro.txt +lib/plugins/acl/lang/sk/intro.txt +lib/plugins/acl/lang/sr/intro.txt +lib/plugins/acl/lang/sv/intro.txt +lib/plugins/acl/lang/tr/intro.txt +lib/plugins/acl/lang/uk/intro.txt +lib/plugins/acl/lang/vi/intro.txt +lib/plugins/acl/lang/zh/intro.txt +lib/plugins/acl/lang/zh-tw/intro.txt +lib/scripts/spellcheck.js +lib/styles/spellcheck.css + +# removed in 2007-06-26 +inc/parser/wiki.php +lib/images/interwiki/bug.gif +lib/plugins/base.php +lib/plugins/plugin/inc +lib/plugins/plugin/inc/tarlib.class.php +lib/plugins/plugin/inc/zip.lib.php +lib/scripts/domLib.js +lib/scripts/domTT.js + +# removed in 2006-11-06 +inc/admin_acl.php +inc/magpie +inc/magpie/rss_cache.inc +inc/magpie/rss_fetch.inc +inc/magpie/rss_parse.inc +inc/magpie/rss_utils.inc +lib/exe/media.php +lib/tpl/default/mediaedit.php +lib/tpl/default/media.php +lib/tpl/default/mediaref.php + +# removed in 2006-03-09 +data/pages/wiki/playground.txt +inc/auth/ldap.php +inc/auth/mysql.php +inc/auth/pgsql.php +inc/auth/plain.php +inc/lang/ca/admin_acl.txt +inc/lang/cs/admin_acl.txt +inc/lang/da/admin_acl.txt +inc/lang/de/admin_acl.txt +inc/lang/en/admin_acl.txt +inc/lang/et/admin_acl.txt +inc/lang/eu/admin_acl.txt +inc/lang/fr/admin_acl.txt +inc/lang/it/admin_acl.txt +inc/lang/ja/admin_acl.txt +inc/lang/lt/admin_acl.txt +inc/lang/lv/admin_acl.txt +inc/lang/nl/admin_acl.txt +inc/lang/no/admin_acl.txt +inc/lang/pl/admin_acl.txt +inc/lang/pt/admin_acl.txt +inc/lang/vi/admin_acl.txt +inc/lang/zh-tw/admin_acl.txt +inc/parser/spamcheck.php +lib/images/favicon.ico +lib/images/thumbup.gif +lib/images/toolbar/code.png +lib/images/toolbar/empty.png +lib/images/toolbar/extlink.png +lib/images/toolbar/fonth1.png +lib/images/toolbar/fonth2.png +lib/images/toolbar/fonth3.png +lib/images/toolbar/fonth4.png +lib/images/toolbar/fonth5.png +lib/images/toolbar/list.png +lib/images/toolbar/list_ul.png +lib/images/toolbar/rule.png +lib/tpl/default/images/interwiki.png +.github/version.php +.github/workflows/release.yml +_test/tests/inc/form/checkableelement.test.php +_test/tests/inc/pageutils_resolve_id.test.php +inc/Parsing/ParserMode/Html.php +inc/Parsing/ParserMode/Php.php +_test/tests/lib/exe/js_js_compress.test.php +_test/tests/lib/exe/js_js_compress/test-CommentInDoubleQuotes1-in.js +_test/tests/lib/exe/js_js_compress/test-CommentInDoubleQuotes1-out.js +_test/tests/lib/exe/js_js_compress/test-CommentInDoubleQuotes2-in.js +_test/tests/lib/exe/js_js_compress/test-CommentInDoubleQuotes2-out.js +_test/tests/lib/exe/js_js_compress/test-CommentInSingleQuotes1-in.js +_test/tests/lib/exe/js_js_compress/test-CommentInSingleQuotes1-out.js +_test/tests/lib/exe/js_js_compress/test-CommentInSingleQuotes2-in.js +_test/tests/lib/exe/js_js_compress/test-CommentInSingleQuotes2-out.js +_test/tests/lib/exe/js_js_compress/test-CommentMultiline-in.js +_test/tests/lib/exe/js_js_compress/test-CommentMultiline-out.js +_test/tests/lib/exe/js_js_compress/test-CommentSingleLine-in.js +_test/tests/lib/exe/js_js_compress/test-CommentSingleLine-out.js +_test/tests/lib/exe/js_js_compress/test-IfThenElseBraces-in.js +_test/tests/lib/exe/js_js_compress/test-IfThenElseBraces-out.js +_test/tests/lib/exe/js_js_compress/test-IfThenElseNoBraces-in.js +_test/tests/lib/exe/js_js_compress/test-IfThenElseNoBraces-out.js +_test/tests/lib/exe/js_js_compress/test-RegexpBackslash-in.js +_test/tests/lib/exe/js_js_compress/test-RegexpBackslash-out.js +_test/tests/lib/exe/js_js_compress/test-RegexpSimple-in.js +_test/tests/lib/exe/js_js_compress/test-RegexpSimple-out.js +_test/tests/lib/exe/js_js_compress/test-RegexpSimpleWhitespace-in.js +_test/tests/lib/exe/js_js_compress/test-RegexpSimpleWhitespace-out.js +_test/tests/lib/exe/js_js_compress/test-RegexpString-in.js +_test/tests/lib/exe/js_js_compress/test-RegexpString-out.js +_test/tests/lib/exe/js_js_compress/test-StatementDoWhile-in.js +_test/tests/lib/exe/js_js_compress/test-StatementDoWhile-out.js +_test/tests/lib/exe/js_js_compress/test-StatementForIn-in.js +_test/tests/lib/exe/js_js_compress/test-StatementForIn-out.js +_test/tests/lib/exe/js_js_compress/test-StatementNew-in.js +_test/tests/lib/exe/js_js_compress/test-StatementNew-out.js +_test/tests/lib/exe/js_js_compress/test-StatementSwitchCase-in.js +_test/tests/lib/exe/js_js_compress/test-StatementSwitchCase-out.js +_test/tests/lib/exe/js_js_compress/test-StringDoubleQuotes-in.js +_test/tests/lib/exe/js_js_compress/test-StringDoubleQuotes-out.js +_test/tests/lib/exe/js_js_compress/test-StringSingleQuotes-in.js +_test/tests/lib/exe/js_js_compress/test-StringSingleQuotes-out.js +vendor/kissifrot/php-ixr/.editorconfig +vendor/kissifrot/php-ixr/.gitignore +_test/tests/inc/pageutils_resolve_mediaid.test.php +_test/tests/inc/pageutils_resolve_pageid.test.php +vendor/phpseclib/phpseclib/phpseclib/Net/SCP.php +vendor/phpseclib/phpseclib/phpseclib/Net/SSH1.php +vendor/marcusschwarz/lesserphp/README.md +vendor/marcusschwarz/lesserphp/lessc.inc.php diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/dont-panic-if-you-see-this-in-your-logs-it-means-your-directory-permissions-are-correct.png b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/dont-panic-if-you-see-this-in-your-logs-it-means-your-directory-permissions-are-correct.png new file mode 100644 index 0000000000000000000000000000000000000000..cea639eca4ead79de695186127d41e6499c97e4a GIT binary patch literal 6516 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 XFGUR;(@2TPkjn7mDFpHT%PIUX*ewQN literal 0 HcmV?d00001 diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/index/_dummy b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/index/_dummy new file mode 100644 index 0000000..e492265 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/index/_dummy @@ -0,0 +1 @@ +You can safely delete this file. \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/index/page.idx b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/index/page.idx new file mode 100644 index 0000000..e69de29 diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/locks/_dummy b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/locks/_dummy new file mode 100644 index 0000000..e492265 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/locks/_dummy @@ -0,0 +1 @@ +You can safely delete this file. \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/log/_dummy b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/log/_dummy new file mode 100644 index 0000000..e492265 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/log/_dummy @@ -0,0 +1 @@ +You can safely delete this file. \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/media/wiki/dokuwiki-128.png b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/media/wiki/dokuwiki-128.png new file mode 100644 index 0000000000000000000000000000000000000000..f3f1d66bd752d6874220fa4d35415ea97de79774 GIT binary patch literal 27895 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
dvcub?Vb@%2Sp}f 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 mD>zw1-|NuAte-CN0sg<74OY!}F|f1%0000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/media_attic/_dummy b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/media_attic/_dummy new file mode 100644 index 0000000..e492265 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/media_attic/_dummy @@ -0,0 +1 @@ +You can safely delete this file. \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/media_meta/_dummy b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/media_meta/_dummy new file mode 100644 index 0000000..e492265 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/media_meta/_dummy @@ -0,0 +1 @@ +You can safely delete this file. \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/meta/_dummy b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/meta/_dummy new file mode 100644 index 0000000..e492265 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/meta/_dummy @@ -0,0 +1 @@ +You can safely delete this file. \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/playground/playground.txt b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/playground/playground.txt new file mode 100644 index 0000000..a2274bd --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/playground/playground.txt @@ -0,0 +1 @@ +====== PlayGround ====== diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/wiki/dokuwiki.txt b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/wiki/dokuwiki.txt new file mode 100644 index 0000000..1e5a198 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/wiki/dokuwiki.txt @@ -0,0 +1,62 @@ +====== DokuWiki ====== + +[[doku>wiki:dokuwiki|{{wiki:dokuwiki-128.png }}]] DokuWiki is a simple to use and highly versatile Open Source [[wp>wiki]] software that doesn't require a database. It is loved by users for its clean and readable [[wiki:syntax]]. The ease of maintenance, backup and integration makes it an administrator's favorite. Built in [[doku>acl|access controls]] and [[doku>auth|authentication connectors]] make DokuWiki especially useful in the enterprise context and the large number of [[doku>plugins]] contributed by its vibrant community allow for a broad range of use cases beyond a traditional wiki. + +Read the [[doku>manual|DokuWiki Manual]] to unleash the full power of DokuWiki. + +===== Download ===== + +DokuWiki is available at https://download.dokuwiki.org/ + + +===== Read More ===== + +All documentation and additional information besides the [[syntax|syntax description]] is maintained in the DokuWiki at [[doku>|www.dokuwiki.org]]. + +**About DokuWiki** + + * [[doku>features|A feature list]] :!: + * [[doku>users|Happy Users]] + * [[doku>press|Who wrote about it]] + * [[doku>blogroll|What Bloggers think]] + * [[https://www.wikimatrix.org/show/DokuWiki|Compare it with other wiki software]] + +**Installing DokuWiki** + + * [[doku>requirements|System Requirements]] + * [[https://download.dokuwiki.org/|Download DokuWiki]] :!: + * [[doku>changes|Change Log]] + * [[doku>Install|How to install or upgrade]] :!: + * [[doku>config|Configuration]] + +**Using DokuWiki** + + * [[doku>syntax|Wiki Syntax]] + * [[doku>manual|The manual]] :!: + * [[doku>FAQ|Frequently Asked Questions (FAQ)]] + * [[doku>glossary|Glossary]] + +**Customizing DokuWiki** + + * [[doku>tips|Tips and Tricks]] + * [[doku>Template|How to create and use templates]] + * [[doku>plugins|Installing plugins]] + * [[doku>development|Development Resources]] + +**DokuWiki Feedback and Community** + + * [[doku>newsletter|Subscribe to the newsletter]] :!: + * [[doku>mailinglist|Join the mailing list]] + * [[https://forum.dokuwiki.org|Check out the user forum]] + * [[doku>irc|Talk to other users in the IRC channel]] + * [[https://github.com/splitbrain/dokuwiki/issues|Submit bugs and feature wishes]] + * [[doku>thanks|Some humble thanks]] + + +===== Copyright ===== + +2004-2020 (c) Andreas Gohr ((Please do not contact me for help and support -- use the [[doku>mailinglist]] or [[https://forum.dokuwiki.org|forum]] instead)) and the DokuWiki Community + +The DokuWiki engine is licensed under [[https://www.gnu.org/licenses/gpl.html|GNU General Public License]] Version 2. If you use DokuWiki in your company, consider [[doku>donate|donating]] a few bucks ;-). + +Not sure what this means? See the [[doku>faq:license|FAQ on the Licenses]]. diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/wiki/syntax.txt b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/wiki/syntax.txt new file mode 100644 index 0000000..c6394af --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/wiki/syntax.txt @@ -0,0 +1,475 @@ +====== Formatting Syntax ====== + +[[doku>DokuWiki]] supports some simple markup language, which tries to make the datafiles to be as readable as possible. This page contains all possible syntax you may use when editing the pages. Simply have a look at the source of this page by pressing "Edit this page". If you want to try something, just use the [[playground:playground|playground]] page. The simpler markup is easily accessible via [[doku>toolbar|quickbuttons]], too. + +===== Basic Text Formatting ===== + +DokuWiki supports **bold**, //italic//, __underlined__ and ''monospaced'' texts. Of course you can **__//''combine''//__** all these. + + DokuWiki supports **bold**, //italic//, __underlined__ and ''monospaced'' texts. + Of course you can **__//''combine''//__** all these. + +You can use subscript and superscript, too. + + You can use subscript and superscript, too. + +You can mark something as deleted as well. + + You can mark something as deleted as well. + +**Paragraphs** are created from blank lines. If you want to **force a newline** without a paragraph, you can use two backslashes followed by a whitespace or the end of line. + +This is some text with some linebreaks\\ Note that the +two backslashes are only recognized at the end of a line\\ +or followed by\\ a whitespace \\this happens without it. + + This is some text with some linebreaks\\ Note that the + two backslashes are only recognized at the end of a line\\ + or followed by\\ a whitespace \\this happens without it. + +You should use forced newlines only if really needed. + +===== Links ===== + +DokuWiki supports multiple ways of creating links. + +==== External ==== + +External links are recognized automagically: http://www.google.com or simply www.google.com - You can set the link text as well: [[http://www.google.com|This Link points to google]]. Email addresses like this one: are recognized, too. + + DokuWiki supports multiple ways of creating links. External links are recognized + automagically: http://www.google.com or simply www.google.com - You can set + link text as well: [[http://www.google.com|This Link points to google]]. Email + addresses like this one: are recognized, too. + +==== Internal ==== + +Internal links are created by using square brackets. You can either just give a [[pagename]] or use an additional [[pagename|link text]]. + + Internal links are created by using square brackets. You can either just give + a [[pagename]] or use an additional [[pagename|link text]]. + +[[doku>pagename|Wiki pagenames]] are converted to lowercase automatically, special characters are not allowed. + +You can use [[some:namespaces]] by using a colon in the pagename. + + You can use [[some:namespaces]] by using a colon in the pagename. + +For details about namespaces see [[doku>namespaces]]. + +Linking to a specific section is possible, too. Just add the section name behind a hash character as known from HTML. This links to [[syntax#internal|this Section]]. + + This links to [[syntax#internal|this Section]]. + +Notes: + + * Links to [[syntax|existing pages]] are shown in a different style from [[nonexisting]] ones. + * DokuWiki does not use [[wp>CamelCase]] to automatically create links by default, but this behavior can be enabled in the [[doku>config]] file. Hint: If DokuWiki is a link, then it's enabled. + * When a section's heading is changed, its bookmark changes, too. So don't rely on section linking too much. + +==== Interwiki ==== + +DokuWiki supports [[doku>Interwiki]] links. These are quick links to other Wikis. For example this is a link to Wikipedia's page about Wikis: [[wp>Wiki]]. + + DokuWiki supports [[doku>Interwiki]] links. These are quick links to other Wikis. + For example this is a link to Wikipedia's page about Wikis: [[wp>Wiki]]. + +==== Windows Shares ==== + +Windows shares like [[\\server\share|this]] are recognized, too. Please note that these only make sense in a homogeneous user group like a corporate [[wp>Intranet]]. + + Windows Shares like [[\\server\share|this]] are recognized, too. + +Notes: + + * For security reasons direct browsing of windows shares only works in Microsoft Internet Explorer per default (and only in the "local zone"). + * For Mozilla and Firefox it can be enabled through different workaround mentioned in the [[http://kb.mozillazine.org/Links_to_local_pages_do_not_work|Mozilla Knowledge Base]]. However, there will still be a JavaScript warning about trying to open a Windows Share. To remove this warning (for all users), put the following line in ''conf/lang/en/lang.php'' (more details at [[doku>localization#changing_some_localized_texts_and_strings_in_your_installation|localization]]): + + +==== Image Links ==== + +You can also use an image to link to another internal or external page by combining the syntax for links and [[#images_and_other_files|images]] (see below) like this: + + [[http://php.net|{{wiki:dokuwiki-128.png}}]] + +[[http://php.net|{{wiki:dokuwiki-128.png}}]] + +Please note: The image formatting is the only formatting syntax accepted in link names. + +The whole [[#images_and_other_files|image]] and [[#links|link]] syntax is supported (including image resizing, internal and external images and URLs and interwiki links). + +===== Footnotes ===== + +You can add footnotes ((This is a footnote)) by using double parentheses. + + You can add footnotes ((This is a footnote)) by using double parentheses. + +===== Sectioning ===== + +You can use up to five different levels of headlines to structure your content. If you have more than three headlines, a table of contents is generated automatically -- this can be disabled by including the string ''~~NOTOC~~'' in the document. + +==== Headline Level 3 ==== +=== Headline Level 4 === +== Headline Level 5 == + + ==== Headline Level 3 ==== + === Headline Level 4 === + == Headline Level 5 == + +By using four or more dashes, you can make a horizontal line: + +---- + +===== Media Files ===== + +You can include external and internal [[doku>images|images, videos and audio files]] with curly brackets. Optionally you can specify the size of them. + +Real size: {{wiki:dokuwiki-128.png}} + +Resize to given width: {{wiki:dokuwiki-128.png?50}} + +Resize to given width and height((when the aspect ratio of the given width and height doesn't match that of the image, it will be cropped to the new ratio before resizing)): {{wiki:dokuwiki-128.png?200x50}} + +Resized external image:           {{https://www.php.net/images/php.gif?200x50}} + + Real size: {{wiki:dokuwiki-128.png}} + Resize to given width: {{wiki:dokuwiki-128.png?50}} + Resize to given width and height: {{wiki:dokuwiki-128.png?200x50}} + Resized external image:           {{https://www.php.net/images/php.gif?200x50}} + + +By using left or right whitespaces you can choose the alignment. + +{{ wiki:dokuwiki-128.png}} + +{{wiki:dokuwiki-128.png }} + +{{ wiki:dokuwiki-128.png }} + + {{ wiki:dokuwiki-128.png}} + {{wiki:dokuwiki-128.png }} + {{ wiki:dokuwiki-128.png }} + +Of course, you can add a title (displayed as a tooltip by most browsers), too. + +{{ wiki:dokuwiki-128.png |This is the caption}} + + {{ wiki:dokuwiki-128.png |This is the caption}} + +For linking an image to another page see [[#Image Links]] above. + +==== Supported Media Formats ==== + +DokuWiki can embed the following media formats directly. + +| Image | ''gif'', ''jpg'', ''png'' | +| Video | ''webm'', ''ogv'', ''mp4'' | +| Audio | ''ogg'', ''mp3'', ''wav'' | +| Flash | ''swf'' | + +If you specify a filename that is not a supported media format, then it will be displayed as a link instead. + +By adding ''?linkonly'' you provide a link to the media without displaying it inline + + {{wiki:dokuwiki-128.png?linkonly}} + +{{wiki:dokuwiki-128.png?linkonly}} This is just a link to the image. + +==== Fallback Formats ==== + +Unfortunately not all browsers understand all video and audio formats. To mitigate the problem, you can upload your file in different formats for maximum browser compatibility. + +For example consider this embedded mp4 video: + + {{video.mp4|A funny video}} + +When you upload a ''video.webm'' and ''video.ogv'' next to the referenced ''video.mp4'', DokuWiki will automatically add them as alternatives so that one of the three files is understood by your browser. + +Additionally DokuWiki supports a "poster" image which will be shown before the video has started. That image needs to have the same filename as the video and be either a jpg or png file. In the example above a ''video.jpg'' file would work. + +===== Lists ===== + +Dokuwiki supports ordered and unordered lists. To create a list item, indent your text by two spaces and use a ''*'' for unordered lists or a ''-'' for ordered ones. + + * This is a list + * The second item + * You may have different levels + * Another item + + - The same list but ordered + - Another item + - Just use indention for deeper levels + - That's it + + + * This is a list + * The second item + * You may have different levels + * Another item + + - The same list but ordered + - Another item + - Just use indention for deeper levels + - That's it + + +Also take a look at the [[doku>faq:lists|FAQ on list items]]. + +===== Text Conversions ===== + +DokuWiki can convert certain pre-defined characters or strings into images or other text or HTML. + +The text to image conversion is mainly done for smileys. And the text to HTML conversion is used for typography replacements, but can be configured to use other HTML as well. + +==== Text to Image Conversions ==== + +DokuWiki converts commonly used [[wp>emoticon]]s to their graphical equivalents. Those [[doku>Smileys]] and other images can be configured and extended. Here is an overview of Smileys included in DokuWiki: + + * 8-) %% 8-) %% + * 8-O %% 8-O %% + * :-( %% :-( %% + * :-) %% :-) %% + * =) %% =) %% + * :-/ %% :-/ %% + * :-\ %% :-\ %% + * :-? %% :-? %% + * :-D %% :-D %% + * :-P %% :-P %% + * :-O %% :-O %% + * :-X %% :-X %% + * :-| %% :-| %% + * ;-) %% ;-) %% + * ^_^ %% ^_^ %% + * m( %% m( %% + * :?: %% :?: %% + * :!: %% :!: %% + * LOL %% LOL %% + * FIXME %% FIXME %% + * DELETEME %% DELETEME %% + +==== Text to HTML Conversions ==== + +Typography: [[DokuWiki]] can convert simple text characters to their typographically correct entities. Here is an example of recognized characters. + +-> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r) +"He thought 'It's a man's world'..." + + +-> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r) +"He thought 'It's a man's world'..." + + +The same can be done to produce any kind of HTML, it just needs to be added to the [[doku>entities|pattern file]]. + +There are three exceptions which do not come from that pattern file: multiplication entity (640x480), 'single' and "double quotes". They can be turned off through a [[doku>config:typography|config option]]. + +===== Quoting ===== + +Some times you want to mark some text to show it's a reply or comment. You can use the following syntax: + + +I think we should do it + +> No we shouldn't + +>> Well, I say we should + +> Really? + +>> Yes! + +>>> Then lets do it! + + +I think we should do it + +> No we shouldn't + +>> Well, I say we should + +> Really? + +>> Yes! + +>>> Then lets do it! + +===== Tables ===== + +DokuWiki supports a simple syntax to create tables. + +^ Heading 1 ^ Heading 2 ^ Heading 3 ^ +| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | +| Row 2 Col 1 | some colspan (note the double pipe) || +| Row 3 Col 1 | Row 3 Col 2 | Row 3 Col 3 | + +Table rows have to start and end with a ''|'' for normal rows or a ''^'' for headers. + + ^ Heading 1 ^ Heading 2 ^ Heading 3 ^ + | Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | + | Row 2 Col 1 | some colspan (note the double pipe) || + | Row 3 Col 1 | Row 3 Col 2 | Row 3 Col 3 | + +To connect cells horizontally, just make the next cell completely empty as shown above. Be sure to have always the same amount of cell separators! + +Vertical tableheaders are possible, too. + +| ^ Heading 1 ^ Heading 2 ^ +^ Heading 3 | Row 1 Col 2 | Row 1 Col 3 | +^ Heading 4 | no colspan this time | | +^ Heading 5 | Row 2 Col 2 | Row 2 Col 3 | + +As you can see, it's the cell separator before a cell which decides about the formatting: + + | ^ Heading 1 ^ Heading 2 ^ + ^ Heading 3 | Row 1 Col 2 | Row 1 Col 3 | + ^ Heading 4 | no colspan this time | | + ^ Heading 5 | Row 2 Col 2 | Row 2 Col 3 | + +You can have rowspans (vertically connected cells) by adding ''%%:::%%'' into the cells below the one to which they should connect. + +^ Heading 1 ^ Heading 2 ^ Heading 3 ^ +| Row 1 Col 1 | this cell spans vertically | Row 1 Col 3 | +| Row 2 Col 1 | ::: | Row 2 Col 3 | +| Row 3 Col 1 | ::: | Row 2 Col 3 | + +Apart from the rowspan syntax those cells should not contain anything else. + + ^ Heading 1 ^ Heading 2 ^ Heading 3 ^ + | Row 1 Col 1 | this cell spans vertically | Row 1 Col 3 | + | Row 2 Col 1 | ::: | Row 2 Col 3 | + | Row 3 Col 1 | ::: | Row 2 Col 3 | + +You can align the table contents, too. Just add at least two whitespaces at the opposite end of your text: Add two spaces on the left to align right, two spaces on the right to align left and two spaces at least at both ends for centered text. + +^ Table with alignment ^^^ +| right| center |left | +|left | right| center | +| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx | + +This is how it looks in the source: + + ^ Table with alignment ^^^ + | right| center |left | + |left | right| center | + | xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx | + +Note: Vertical alignment is not supported. + +===== No Formatting ===== + +If you need to display text exactly like it is typed (without any formatting), enclose the area either with ''%%%%'' tags or even simpler, with double percent signs ''%%''. + + +This is some text which contains addresses like this: http://www.splitbrain.org and **formatting**, but nothing is done with it. + +The same is true for %%//__this__ text// with a smiley ;-)%%. + + + This is some text which contains addresses like this: http://www.splitbrain.org and **formatting**, but nothing is done with it. + + The same is true for %%//__this__ text// with a smiley ;-)%%. + +===== Code Blocks ===== + +You can include code blocks into your documents by either indenting them by at least two spaces (like used for the previous examples) or by using the tags ''%%%%'' or ''%%%%''. + + This is text is indented by two spaces. + + +This is preformatted code all spaces are preserved: like <-this + + + +This is pretty much the same, but you could use it to show that you quoted a file. + + +Those blocks were created by this source: + + This is text is indented by two spaces. + + + This is preformatted code all spaces are preserved: like <-this + + + + This is pretty much the same, but you could use it to show that you quoted a file. + + +==== Syntax Highlighting ==== + +[[wiki:DokuWiki]] can highlight sourcecode, which makes it easier to read. It uses the [[http://qbnz.com/highlighter/|GeSHi]] Generic Syntax Highlighter -- so any language supported by GeSHi is supported. The syntax uses the same code and file blocks described in the previous section, but this time the name of the language syntax to be highlighted is included inside the tag, e.g. '''' or ''''. + + +/** + * The HelloWorldApp class implements an application that + * simply displays "Hello World!" to the standard output. + */ +class HelloWorldApp { + public static void main(String[] args) { + System.out.println("Hello World!"); //Display the string. + } +} + + +The following language strings are currently recognized: //4cs 6502acme 6502kickass 6502tasm 68000devpac abap actionscript3 actionscript ada aimms algol68 apache applescript apt_sources arm asm asp asymptote autoconf autohotkey autoit avisynth awk bascomavr bash basic4gl batch bf biblatex bibtex blitzbasic bnf boo caddcl cadlisp ceylon cfdg cfm chaiscript chapel cil c_loadrunner clojure c_mac cmake cobol coffeescript c cpp cpp-qt cpp-winapi csharp css cuesheet c_winapi dart dcl dcpu16 dcs delphi diff div dos dot d ecmascript eiffel email epc e erlang euphoria ezt f1 falcon fo fortran freebasic freeswitch fsharp gambas gdb genero genie gettext glsl gml gnuplot go groovy gwbasic haskell haxe hicest hq9plus html html4strict html5 icon idl ini inno intercal io ispfpanel java5 java javascript jcl j jquery julia kixtart klonec klonecpp kotlin latex lb ldif lisp llvm locobasic logtalk lolcode lotusformulas lotusscript lscript lsl2 lua m68k magiksf make mapbasic mathematica matlab mercury metapost mirc mk-61 mmix modula2 modula3 mpasm mxml mysql nagios netrexx newlisp nginx nimrod nsis oberon2 objc objeck ocaml-brief ocaml octave oobas oorexx oracle11 oracle8 oxygene oz parasail parigp pascal pcre perl6 perl per pf phix php-brief php pic16 pike pixelbender pli plsql postgresql postscript povray powerbuilder powershell proftpd progress prolog properties providex purebasic pycon pys60 python qbasic qml q racket rails rbs rebol reg rexx robots roff rpmspec rsplus ruby rust sas sass scala scheme scilab scl sdlbasic smalltalk smarty spark sparql sql sshconfig standardml stonescript swift systemverilog tclegg tcl teraterm texgraph text thinbasic tsql twig typoscript unicon upc urbi uscript vala vbnet vb vbscript vedit verilog vhdl vim visualfoxpro visualprolog whitespace whois winbatch wolfram xbasic xml xojo xorg_conf xpp yaml z80 zxbasic// + +There are additional [[doku>syntax_highlighting|advanced options]] available for syntax highlighting, such as highlighting lines or adding line numbers. + +==== Downloadable Code Blocks ==== + +When you use the ''%%%%'' or ''%%%%'' syntax as above, you might want to make the shown code available for download as well. You can do this by specifying a file name after language code like this: + + + + + + + + + + + +If you don't want any highlighting but want a downloadable file, specify a dash (''-'') as the language code: ''%%%%''. + +===== RSS/ATOM Feed Aggregation ===== +[[DokuWiki]] can integrate data from external XML feeds. For parsing the XML feeds, [[http://simplepie.org/|SimplePie]] is used. All formats understood by SimplePie can be used in DokuWiki as well. You can influence the rendering by multiple additional space separated parameters: + +^ Parameter ^ Description ^ +| any number | will be used as maximum number items to show, defaults to 8 | +| reverse | display the last items in the feed first | +| author | show item authors names | +| date | show item dates | +| description| show the item description. All HTML tags will be stripped | +| nosort | do not sort the items in the feed | +| //n//[dhm] | refresh period, where d=days, h=hours, m=minutes. (e.g. 12h = 12 hours). | + +The refresh period defaults to 4 hours. Any value below 10 minutes will be treated as 10 minutes. [[wiki:DokuWiki]] will generally try to supply a cached version of a page, obviously this is inappropriate when the page contains dynamic external content. The parameter tells [[wiki:DokuWiki]] to re-render the page if it is more than //refresh period// since the page was last rendered. + +By default the feed will be sorted by date, newest items first. You can sort it by oldest first using the ''reverse'' parameter, or display the feed as is with ''nosort''. + +**Example:** + + {{rss>http://slashdot.org/index.rss 5 author date 1h }} + +{{rss>http://slashdot.org/index.rss 5 author date 1h }} + + +===== Control Macros ===== + +Some syntax influences how DokuWiki renders a page without creating any output it self. The following control macros are availble: + +^ Macro ^ Description | +| %%~~NOTOC~~%% | If this macro is found on the page, no table of contents will be created | +| %%~~NOCACHE~~%% | DokuWiki caches all output by default. Sometimes this might not be wanted (eg. when the %%%% syntax above is used), adding this macro will force DokuWiki to rerender a page on every call | + +===== Syntax Plugins ===== + +DokuWiki's syntax can be extended by [[doku>plugins|Plugins]]. How the installed plugins are used is described on their appropriate description pages. The following syntax plugins are available in this particular DokuWiki installation: + +~~INFO:syntaxplugins~~ diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/wiki/welcome.txt b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/wiki/welcome.txt new file mode 100644 index 0000000..10caa7c --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/pages/wiki/welcome.txt @@ -0,0 +1,30 @@ +====== Welcome to your new DokuWiki ====== + +Congratulations, your wiki is now up and running. Here are a few more tips to get you started. + +Enjoy your work with DokuWiki,\\ +-- the developers + +===== Create your first pages ===== + +Your wiki needs to have a start page. As long as it doesn't exist, this link will be red: [[:start]]. + +Go on, follow that link and create the page. If you need help with using the syntax you can always refer to the [[wiki:syntax|syntax page]]. + +You might also want to use a sidebar. To create it, just edit the [[:sidebar]] page. Everything in that page will be shown in a margin column on the side. Read our [[doku>faq:sidebar|FAQ on sidebars]] to learn more. + +Please be aware that not all templates support sidebars. + +===== Customize your Wiki ===== + +Once you're comfortable with creating and editing pages you might want to have a look at the [[this>doku.php?do=admin&page=config|configuration settings]] (be sure to login as superuser first). + +You may also want to see what [[doku>plugins|plugins]] and [[doku>templates|templates]] are available at DokuWiki.org to extend the functionality and looks of your DokuWiki installation. + +===== Join the Community ===== + +DokuWiki is an Open Source project that thrives through user contributions. A good way to stay informed on what's going on and to get useful tips in using DokuWiki is subscribing to the [[doku>newsletter]]. + +The [[https://forum.dokuwiki.org|DokuWiki User Forum]] is an excellent way to get in contact with other DokuWiki users and is just one of the many ways to get [[doku>faq:support|support]]. + +Of course we'd be more than happy to have you [[doku>teams:getting_involved|getting involved]] with DokuWiki. diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/data/tmp/_dummy b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/tmp/_dummy new file mode 100644 index 0000000..e492265 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/data/tmp/_dummy @@ -0,0 +1 @@ +You can safely delete this file. \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/acl b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/acl new file mode 120000 index 0000000..163207b --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/acl @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/acl \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/action.php b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/action.php new file mode 120000 index 0000000..e1215a7 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/action.php @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/action.php \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/admin.php b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/admin.php new file mode 120000 index 0000000..4c19d31 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/admin.php @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/admin.php \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/auth.php b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/auth.php new file mode 120000 index 0000000..9ea70a8 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/auth.php @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/auth.php \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authad b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authad new file mode 120000 index 0000000..9aacb4d --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authad @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/authad \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authldap b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authldap new file mode 120000 index 0000000..8dc63f8 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authldap @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/authldap \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authpdo b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authpdo new file mode 120000 index 0000000..05ac952 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authpdo @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/authpdo \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authplain b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authplain new file mode 120000 index 0000000..14dc36a --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/authplain @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/authplain \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/cli.php b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/cli.php new file mode 120000 index 0000000..2303e45 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/cli.php @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/cli.php \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/config b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/config new file mode 120000 index 0000000..32e1bbf --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/config @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/config \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/extension b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/extension new file mode 120000 index 0000000..ce22025 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/extension @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/extension \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/index.html b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/index.html new file mode 120000 index 0000000..c9b6467 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/index.html @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/index.html \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/info b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/info new file mode 120000 index 0000000..60cdda8 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/info @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/info \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/logviewer b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/logviewer new file mode 120000 index 0000000..326840f --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/logviewer @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/logviewer \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/popularity b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/popularity new file mode 120000 index 0000000..c46957a --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/popularity @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/popularity \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/remote.php b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/remote.php new file mode 120000 index 0000000..147da53 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/remote.php @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/remote.php \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/revert b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/revert new file mode 120000 index 0000000..bf729e6 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/revert @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/revert \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/safefnrecode b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/safefnrecode new file mode 120000 index 0000000..37c7301 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/safefnrecode @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/safefnrecode \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/styling b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/styling new file mode 120000 index 0000000..68c6610 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/styling @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/styling \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/syntax.php b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/syntax.php new file mode 120000 index 0000000..c4614a0 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/syntax.php @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/syntax.php \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/usermanager b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/usermanager new file mode 120000 index 0000000..2eda53f --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/plugins/usermanager @@ -0,0 +1 @@ +/var/www/html/lib/plugins.core/usermanager \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/tpl/dokuwiki b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/tpl/dokuwiki new file mode 120000 index 0000000..0ecdaf0 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/tpl/dokuwiki @@ -0,0 +1 @@ +/var/www/html/lib/tpl.core/dokuwiki \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/tpl/index.php b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/tpl/index.php new file mode 120000 index 0000000..46cb8a8 --- /dev/null +++ b/misc/images/dokuwiki/containers/dokuwiki/volumes/lib/tpl/index.php @@ -0,0 +1 @@ +/var/www/html/lib/tpl.core/index.php \ No newline at end of file diff --git a/misc/images/dokuwiki/containers/nineapache/apache.conf b/misc/images/dokuwiki/containers/nineapache/apache.conf new file mode 100755 index 0000000..818cf2a --- /dev/null +++ b/misc/images/dokuwiki/containers/nineapache/apache.conf @@ -0,0 +1,37 @@ + +LoadModule rewrite_module modules/mod_rewrite.so +ServerName nineapache.local + +ProxyRequests Off +ProxyPreserveHost On + + + Require all granted + + +ProxyPass /dokuwiki http://dokuwiki/dokuwiki retry=0 keepalive=On +ProxyPassReverse /dokuwiki http://dokuwiki/dokuwiki retry=0 + +RequestHeader set X-Forwarded-Host "%{HTTP_HOST}s" +RequestHeader set X-Forwarded-Server "%{HTTP_HOST}s" +RequestHeader set X-Forwarded-For "%{REMOTE_ADDR}s" +RequestHeader set Host "%{HTTP_HOST}s" +RequestHeader set X-Forwarded-Proto "http" + +DocumentRoot "/app/public" + + Options Indexes FollowSymLinks + AllowOverride All + Require all granted + + RewriteEngine On + RewriteCond %{REQUEST_URI}::$0 ^(/.+)/(.*)::\2$ + RewriteRule .* - [E=BASE:%1] + RewriteCond %{HTTP:Authorization} .+ + RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0] + RewriteCond %{ENV:REDIRECT_STATUS} ="" + RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L] + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ %{ENV:BASE}/index.php [L] + + diff --git a/misc/images/dokuwiki/docker-compose.yml b/misc/images/dokuwiki/docker-compose.yml new file mode 100755 index 0000000..cc70823 --- /dev/null +++ b/misc/images/dokuwiki/docker-compose.yml @@ -0,0 +1,29 @@ +version: '3' + +services: + nineapache: + image: reg.cadoles.com/envole/nineapache:8.1 + container_name: dokuwiki-nineapache + restart: always + healthcheck: + test: curl --fail http://localhost || exit 1 + interval: 1s + timeout: 60s + networks: + - dokuwiki-network + ports: + - "80:80" + volumes: + - ./containers/nineapache/apache.conf:/etc/apache2/conf.d/zapp.conf + + dokuwiki: + build: + context: ./containers/dokuwiki + image: reg.cadoles.com/envole/dokuwiki + container_name: dokuwiki-app + networks: + - dokuwiki-network + +networks: + dokuwiki-network: + name: dokuwiki-network \ No newline at end of file diff --git a/misc/images/wordpress/containers/wordpress/entrypoint.sh b/misc/images/wordpress/containers/wordpress/entrypoint.sh index f540e36..28956e6 100755 --- a/misc/images/wordpress/containers/wordpress/entrypoint.sh +++ b/misc/images/wordpress/containers/wordpress/entrypoint.sh @@ -80,6 +80,7 @@ wp site switch-language fr_FR # Mise à jour theme / plugin / network wp theme install twentytwentyfour --allow-root wp theme install lowfi --allow-root +wp theme enable lowfi --network wp theme update --allow-root --all wp plugin update --allow-root --all diff --git a/nine.sh b/nine.sh index ed94736..1427bfe 100755 --- a/nine.sh +++ b/nine.sh @@ -34,10 +34,13 @@ destroyall(){ destroy $MINIO_SERVICE_NAME 1 destroy $OPENLDAP_SERVICE_NAME 1 destroy $KEYCLOAK_SERVICE_NAME 1 - destroy $NINEGATE_SERVICE_NAME 1 - destroy $NINEBOARD_SERVICE_NAME 1 + destroy $NEXTCLOUD_SERVICE_NAME 1 + destroy $NINEBOARD_SERVICE_NAME 1 + destroy $NINEGATE_SERVICE_NAME 1 + destroy $WIKI_SERVICE_NAME 1 destroy $WORDPRESS_SERVICE_NAME 1 + destroy $ADMINER_SERVICE_NAME 1 destroy $PHPLDAPADMIN_SERVICE_NAME 1 fi @@ -64,10 +67,13 @@ envall(){ env $MINIO_SERVICE_NAME env $OPENLDAP_SERVICE_NAME env $KEYCLOAK_SERVICE_NAME - env $NINEGATE_SERVICE_NAME - env $NINEBOARD_SERVICE_NAME + env $NEXTCLOUD_SERVICE_NAME + env $NINEBOARD_SERVICE_NAME + env $NINEGATE_SERVICE_NAME + env $WIKI_SERVICE_NAME env $WORDPRESS_SERVICE_NAME + env $ADMINER_SERVICE_NAME env $PHPLDAPADMIN_SERVICE_NAME } @@ -191,24 +197,25 @@ function upkeycloak { fi } -function upninegate { - if [[ $NINEGATE_ACTIVATE == 1 && $NINEGATE_LOCAL == 1 ]] + +function upnextcloud { + if [[ $NEXTCLOUD_ACTIVATE == 1 && $NEXTCLOUD_LOCAL == 1 ]] then - Title ${NINEGATE_SERVICE_NAME^^} + Title ${NEXTCLOUD_SERVICE_NAME^^} if [[ $MARIADB_ACTIVATE == 1 && $MARIADB_LOCAL == 1 ]] then EchoVert "DATABASE" - Echo ${NINEGATE_SERVICE_NAME^^} - docker-compose exec $MARIADB_SERVICE_NAME /nine/init.sh $NINEGATE_SERVICE_NAME + Echo ${NEXTCLOUD_SERVICE_NAME^^} Echo + docker-compose exec $MARIADB_SERVICE_NAME /nine/init.sh $NEXTCLOUD_SERVICE_NAME fi EchoVert "CONTAINER" - upservice ${NINEGATE_SERVICE_NAME} - chmod -R a+wr ./volume/ninegate/data + upservice ${NEXTCLOUD_SERVICE_NAME} Echo - fi + fi + } function upnineboard { @@ -231,24 +238,43 @@ function upnineboard { fi } -function upnextcloud { - if [[ $NEXTCLOUD_ACTIVATE == 1 && $NEXTCLOUD_LOCAL == 1 ]] +function upninegate { + if [[ $NINEGATE_ACTIVATE == 1 && $NINEGATE_LOCAL == 1 ]] then - Title ${NEXTCLOUD_SERVICE_NAME^^} + Title ${NINEGATE_SERVICE_NAME^^} if [[ $MARIADB_ACTIVATE == 1 && $MARIADB_LOCAL == 1 ]] then EchoVert "DATABASE" - Echo ${NEXTCLOUD_SERVICE_NAME^^} + Echo ${NINEGATE_SERVICE_NAME^^} + docker-compose exec $MARIADB_SERVICE_NAME /nine/init.sh $NINEGATE_SERVICE_NAME Echo - docker-compose exec $MARIADB_SERVICE_NAME /nine/init.sh $NEXTCLOUD_SERVICE_NAME fi EchoVert "CONTAINER" - upservice ${NEXTCLOUD_SERVICE_NAME} + upservice ${NINEGATE_SERVICE_NAME} + chmod -R a+wr ./volume/ninegate/data Echo - fi + fi +} +function upwiki { + if [[ $WIKI_ACTIVATE == 1 && $WIKI_LOCAL == 1 ]] + then + Title ${WIKI_SERVICE_NAME^^} + + if [[ $MARIADB_ACTIVATE == 1 && $MARIADB_LOCAL == 1 ]] + then + EchoVert "DATABASE" + Echo ${WIKI_SERVICE_NAME^^} + docker-compose exec $MARIADB_SERVICE_NAME /nine/init.sh $WIKI_SERVICE_NAME + Echo + fi + + EchoVert "CONTAINER" + upservice ${WIKI_SERVICE_NAME} + Echo + fi } function upwordpress { @@ -336,14 +362,17 @@ up(){ # KEYCLOAK upkeycloak - # NINEGATE - upninegate - + # NEXTCLOUD + upnextcloud + # NINEBOARD upnineboard - # NEXTCLOUD - upnextcloud + # NINEGATE + upninegate + + # WIKI + upwiki # WORDPRESS upwordpress @@ -374,10 +403,13 @@ destroyall(){ destroy $MINIO_SERVICE_NAME 1 destroy $OPENLDAP_SERVICE_NAME 1 destroy $KEYCLOAK_SERVICE_NAME 1 - destroy $NINEGATE_SERVICE_NAME 1 - destroy $NINEBOARD_SERVICE_NAME 1 + destroy $NEXTCLOUD_SERVICE_NAME 1 + destroy $NINEBOARD_SERVICE_NAME 1 + destroy $NINEGATE_SERVICE_NAME 1 + destroy $WIKI_SERVICE_NAME 1 destroy $WORDPRESS_SERVICE_NAME 1 + destroy $ADMINER_SERVICE_NAME 1 destroy $PHPLDAPADMIN_SERVICE_NAME 1 fi @@ -455,6 +487,16 @@ destroy(){ fi fi + if [[ "$1" == "$WIKI_SERVICE_NAME" && $WIKI_ACTIVATE == 1 && $WIKI_LOCAL == 1 ]] + then + if [[ -z $2 ]]; then Question_ouinon "Souhaitez-vous supprimer la BDD associé à $1 ?";fi + if [[ "$?" = 0 || -z $2 ]] + then + docker-compose exec $MARIADB_SERVICE_NAME /nine/delete.sh $WIKI_SERVICE_NAME + sudo rm -rf volume/wiki/data + fi + fi + if [[ "$1" == "$WORDPRESS_SERVICE_NAME" && $WORDPRESS_ACTIVATE == 1 && $WORDPRESS_LOCAL == 1 ]] then if [[ -z $2 ]]; then Question_ouinon "Souhaitez-vous supprimer la BDD associé à $1 ?";fi diff --git a/volume/nineapache/nine/apache.conf b/volume/nineapache/nine/apache.conf index 5287e7e..2f28578 100755 --- a/volume/nineapache/nine/apache.conf +++ b/volume/nineapache/nine/apache.conf @@ -2,6 +2,7 @@ LoadModule rewrite_module modules/mod_rewrite.so ServerName nineapache.local +# Options Proxy ProxyRequests Off ProxyPreserveHost On @@ -9,14 +10,20 @@ ProxyPreserveHost On Require all granted +RequestHeader set X-Forwarded-Host "%{HTTP_HOST}s" +RequestHeader set X-Forwarded-Server "%{HTTP_HOST}s" +RequestHeader set X-Forwarded-For "%{REMOTE_ADDR}s" +RequestHeader set Host "%{HTTP_HOST}s" +RequestHeader set X-Forwarded-Proto "http" + +# Services Outils ProxyPass /auth http://keycloak:8999/auth retry=0 keepalive=On ProxyPassReverse /auth http://keycloak:8999/auth retry=0 -ProxyPass /ninegate http://ninegate/ninegate retry=0 keepalive=On -ProxyPassReverse /ninegate http://ninegate/ninegate retry=0 -ProxyPass /wssninegate ws://ninegate/wssninegate retry=0 keepalive=On -ProxyPassReverse /wssninegate ws://ninegate/wssninegate retry=0 +ProxyPass /minio http://minio:9001 retry=0 keepalive=On +ProxyPassReverse /minio http://minio:9001 retry=0 +# Services Applicatif ProxyPass /nextcloud http://nextcloud retry=0 keepalive=On ProxyPassReverse /nextcloud http://nextcloud retry=0 @@ -25,21 +32,25 @@ ProxyPassReverse /nineboard http://nineboard/nineboard retry=0 ProxyPass /wssnineboard ws://nineboard/wssnineboard retry=0 keepalive=On ProxyPassReverse /wssnineboard ws://nineboard/wssnineboard retry=0 +ProxyPass /ninegate http://ninegate/ninegate retry=0 keepalive=On +ProxyPassReverse /ninegate http://ninegate/ninegate retry=0 +ProxyPass /wssninegate ws://ninegate/wssninegate retry=0 keepalive=On +ProxyPassReverse /wssninegate ws://ninegate/wssninegate retry=0 + +ProxyPass /wiki http://wiki retry=0 keepalive=On +ProxyPassReverse /wiki http://wiki retry=0 + ProxyPass /wordpress http://wordpress/wordpress retry=0 keepalive=On ProxyPassReverse /wordpress http://wordpress/wordpress retry=0 +# Services Développeur ProxyPass /adminer http://adminer:8080 retry=0 keepalive=On ProxyPassReverse /adminer http://adminer:8080 retry=0 ProxyPass /phpldapadmin http://phpldapadmin/phpldapadmin retry=0 keepalive=On ProxyPassReverse /phpldapadmin http://phpldapadmin/phpldapadmin retry=0 -RequestHeader set X-Forwarded-Host "%{HTTP_HOST}s" -RequestHeader set X-Forwarded-Server "%{HTTP_HOST}s" -RequestHeader set X-Forwarded-For "%{REMOTE_ADDR}s" -RequestHeader set Host "%{HTTP_HOST}s" -RequestHeader set X-Forwarded-Proto "http" - +# Page interne au proxy DocumentRoot "/app/public" Options Indexes FollowSymLinks diff --git a/volume/wiki/nine/config.yml b/volume/wiki/nine/config.yml new file mode 100644 index 0000000..79832fe --- /dev/null +++ b/volume/wiki/nine/config.yml @@ -0,0 +1,20 @@ +port: 3000 +bindIP: 0.0.0.0 +db: + type: $(DB_TYPE) + host: "$(DB_HOST)" + port: $(DB_PORT) + user: "$(DB_USER)" + pass: "$(DB_PASS)" + db: $(DB_NAME) + storage: $(DB_FILEPATH) + ssl: $(DB_SSL) +ssl: + enabled: $(SSL_ACTIVE) + port: 3443 + provider: letsencrypt + domain: $(LETSENCRYPT_DOMAIN) + subscriberEmail: $(LETSENCRYPT_EMAIL) +logLevel: $(LOG_LEVEL:info) +logFormat: $(LOG_FORMAT:default) +ha: $(HA_ACTIVE)