diff --git a/config/dockers.tmpl.env b/config/dockers.tmpl.env index 3a47c30..133ce65 100644 --- a/config/dockers.tmpl.env +++ b/config/dockers.tmpl.env @@ -66,94 +66,95 @@ acme_server= ######################################## # noms des services +# par ordre alphabétique -# ou www (mais bof) -webHost= - +apikazHost=apikaz calcHost=tableur +castopodHost=pod cloudHost=cloud dateHost=sondage dokuwikiHost=wiki fileHost=depot -pahekoHost=paheko gitHost=git -gravHost=grav -matterHost=agora -officeHost=office -padHost=pad -smtpHost=smtp +imapsyncHost=imapsync ldapHost=ldap ldapUIHost=mdp +mastodonHost=masto +matterHost=agora +mobilizonHost=mobilizon +officeHost=office +padHost=pad +pahekoHost=paheko +pollarisHost=betakazdate +smtpHost=smtp +snappymailHost=snappymail +spipHost=spip sympaHost=listes +traefikHost=dashboard +vaultwardenHost=koffre vigiloHost=vigilo +webHost= webmailHost=webmail wordpressHost=wp -mobilizonHost=mobilizon -vaultwardenHost=koffre -traefikHost=dashboard -imapsyncHost=imapsync -castopodHost=pod -spipHost=spip -mastodonHost=masto -apikazHost=apikaz -snappymailHost=snappymail ######################################## # ports internes -matterPort=8065 -imapsyncPort=8080 apikaz=5000 +imapsyncPort=8080 +matterPort=8065 ######################################## # noms des containers +# par ordre alphabétique -dokuwikiServName=dokuwikiServ -ethercalcServName=ethercalcServ -etherpadServName=etherpadServ -framadateServName=framadateServ -pahekoServName=pahekoServ -gitServName=gitServ -gravServName=gravServ -jirafeauServName=jirafeauServ -mattermostServName=mattermostServ -nextcloudServName=nextcloudServ -officeServName=officeServ -proxyServName=proxyServ -roundcubeServName=roundcubeServ -smtpServName=mailServ -ldapServName=ldapServ -sympaServName=sympaServ -vigiloServName=vigiloServ -webServName=webServ -wordpressServName=wpServ -mobilizonServName=mobilizonServ -vaultwardenServName=vaultwardenServ -traefikServName=traefikServ -prometheusServName=prometheusServ -grafanaServName=grafanaServ -snappymailServName=snappymailServ -ethercalcDBName=ethercalcDB -etherpadDBName=etherpadDB -framadateDBName=framadateDB -gitDBName=gitDB -mattermostDBName=mattermostDB -nextcloudDBName=nextcloudDB -roundcubeDBName=roundcubeDB -sympaDBName=sympaDB -vigiloDBName=vigiloDB -wordpressDBName=wpDB -mobilizonDBName=mobilizonDB -vaultwardenDBName=vaultwardenDB -ldapUIName=ldapUI -imapsyncServName=imapsyncServ +apikazServName=apikazServ castopodDBName=castopodDB castopodServName=castopodServ +dokuwikiServName=dokuwikiServ +ethercalcServName=ethercalcServ +ethercalcDBName=ethercalcDB +etherpadServName=etherpadServ +etherpadDBName=etherpadDB +framadateServName=framadateServ +framadateDBName=framadateDB +gitServName=gitServ +gitDBName=gitDB +grafanaServName=grafanaServ +imapsyncServName=imapsyncServ +jirafeauServName=jirafeauServ +ldapServName=ldapServ +ldapUIName=ldapUI mastodonServName=mastodonServ +mastodonDBName=mastodonDB +mattermostServName=mattermostServ +mattermostDBName=mattermostDB +mobilizonServName=mobilizonServ +mobilizonDBName=mobilizonDB +nextcloudServName=nextcloudServ +nextcloudDBName=nextcloudDB +officeServName=officeServ +pahekoServName=pahekoServ +pollarisServName=pollarisServ +pollarisDBName=pollarisDB +prometheusServName=prometheusServ +proxyServName=proxyServ +roundcubeServName=roundcubeServ +roundcubeDBName=roundcubeDB +smtpServName=mailServ +snappymailServName=snappymailServ spipDBName=spipDB spipServName=spipServ -mastodonDBName=mastodonDB -apikazServName=apikazServ +sympaServName=sympaServ +sympaDBName=sympaDB +traefikServName=traefikServ +vaultwardenServName=vaultwardenServ +vaultwardenDBName=vaultwardenDB +vigiloServName=vigiloServ +vigiloDBName=vigiloDB +webServName=webServ +wordpressServName=wpServ +wordpressDBName=wpDB ######################################## # services activés par container.sh @@ -163,4 +164,4 @@ apikazServName=apikazServ ################## #qui on envoi le mail d'inscription ? -EMAIL_CONTACT="toto@kaz.bzh" \ No newline at end of file +EMAIL_CONTACT= \ No newline at end of file diff --git a/dockers/pollaris/.env b/dockers/pollaris/.env new file mode 120000 index 0000000..d796e8f --- /dev/null +++ b/dockers/pollaris/.env @@ -0,0 +1 @@ +/kaz/config/dockers.env \ No newline at end of file diff --git a/dockers/pollaris/Dockerfile b/dockers/pollaris/Dockerfile new file mode 100644 index 0000000..9002017 --- /dev/null +++ b/dockers/pollaris/Dockerfile @@ -0,0 +1,32 @@ +FROM php:8.2-fpm + +# Installer les dépendances système +RUN apt-get update && apt-get install -y \ + git \ + unzip \ + libpq-dev \ + libicu-dev \ + libzip-dev \ + nginx \ + supervisor \ + netcat-openbsd \ + && docker-php-ext-install pdo pdo_pgsql zip intl opcache \ + && apt-get clean && rm -rf /var/lib/apt/lists/* + +# Installer Composer +COPY --from=composer:2 /usr/bin/composer /usr/bin/composer + +# Définir le répertoire de travail +WORKDIR /var/www/pollaris + +# Cloner Pollaris et passer sur le dernier tag +RUN git clone https://framagit.org/pollaris/pollaris.git . \ + && git checkout $(git describe --tags $(git rev-list --tags --max-count=1)) \ + && composer install --no-dev --optimize-autoloader --no-scripts + +RUN mkdir -p /var/www/pollaris/var/cache /var/www/pollaris/var/log \ + && chown -R www-data:www-data /var/www/pollaris/var + +EXPOSE 80 + +CMD ["sh", "-c", "php-fpm -F & nginx -g 'daemon off;'"] diff --git a/dockers/pollaris/README.md b/dockers/pollaris/README.md new file mode 100644 index 0000000..6a8509e --- /dev/null +++ b/dockers/pollaris/README.md @@ -0,0 +1,12 @@ +avoir un gestionnaires de sondage (kazdate) qui fonctionne bien aussi sur +smartphone. remplacement de framadate + +base: +https://framagit.org/pollaris/pollaris + +install: +https://framagit.org/pollaris/pollaris/-/blob/main/docs/administrators/install.md + +discussion: +https://framagit.org/pollaris/pollaris/-/issues/102 + diff --git a/dockers/pollaris/docker-compose.yml b/dockers/pollaris/docker-compose.yml new file mode 100644 index 0000000..a4a2da3 --- /dev/null +++ b/dockers/pollaris/docker-compose.yml @@ -0,0 +1,40 @@ +services: + db: + image: postgres:15 + container_name: ${pollarisDBName} + restart: unless-stopped + env_file: + - ../../secret/env-${pollarisDBName} + volumes: + - pollaris_db_data:/var/lib/postgresql/data + networks: + - pollarisNet + + app: + build: . + container_name: ${pollarisServName} + restart: unless-stopped + depends_on: + - db + env_file: + - ../../secret/env-${pollarisServName} + environment: + APP_ENV: prod + networks: + - pollarisNet + - postfixNet + labels: + - "traefik.enable=true" + - "traefik.http.routers.pollaris.rule=Host(`${pollarisHost}.${domain}`)" + - "traefik.http.services.pollaris.loadbalancer.server.port=80" + volumes: + - ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro + +volumes: + pollaris_db_data: + +networks: + pollarisNet: + external: true + postfixNet: + external: true diff --git a/dockers/pollaris/nginx/default.conf b/dockers/pollaris/nginx/default.conf new file mode 100644 index 0000000..bb01cb9 --- /dev/null +++ b/dockers/pollaris/nginx/default.conf @@ -0,0 +1,26 @@ +server { + listen 80; + server_name betakazdate.kaz.bzh; + + root /var/www/pollaris/public; + + location / { + try_files $uri /index.php$is_args$args; + } + + location ~ ^/index\.php(/|$) { + fastcgi_pass 127.0.0.1:9000; # PHP-FPM écoute TCP + fastcgi_split_path_info ^(.+\.php)(/.*)$; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; + fastcgi_param DOCUMENT_ROOT $realpath_root; + } + + + location ~ \.php$ { + return 404; + } + + error_log /var/log/nginx/pollaris_error.log; + access_log /var/log/nginx/pollaris_access.log; +} diff --git a/secret.tmpl/env-pollarisDB b/secret.tmpl/env-pollarisDB new file mode 100644 index 0000000..c88f317 --- /dev/null +++ b/secret.tmpl/env-pollarisDB @@ -0,0 +1,3 @@ +POSTGRES_DB= +POSTGRES_USER= +POSTGRES_PASSWORD= diff --git a/secret.tmpl/env-pollarisServ b/secret.tmpl/env-pollarisServ new file mode 100644 index 0000000..1feca5a --- /dev/null +++ b/secret.tmpl/env-pollarisServ @@ -0,0 +1,11 @@ +# POSTGRES_DB= +# POSTGRES_USER= +# POSTGRES_PASSWORD= +DATABASE_URL= +APP_SECRET= + +MAILER_DSN= +MAILER_FROM= +MAILER_FROM_NAME= + +APP_NAME=