init docker paheko
This commit is contained in:
parent
74c77f39eb
commit
908923f488
1
dockers/paheko2/.env
Symbolic link
1
dockers/paheko2/.env
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../config/dockers.env
|
99
dockers/paheko2/config/config.local.php
Normal file
99
dockers/paheko2/config/config.local.php
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
<?php
|
||||||
|
namespace Paheko;
|
||||||
|
/**
|
||||||
|
* Ce fichier permet de configurer Garradin pour une utilisation
|
||||||
|
* avec plusieurs associations, mais une seule copie du code source.
|
||||||
|
* (aussi appel?? installation multi-sites, ferme ou usine)
|
||||||
|
*
|
||||||
|
* Voir la doc : https://fossil.kd2.org/paheko/wiki?name=Multi-sites
|
||||||
|
*
|
||||||
|
* N'oubliez pas d'installer ??galement le script cron.sh fournit
|
||||||
|
* pour lancer les rappels automatiques et sauvegardes.
|
||||||
|
*
|
||||||
|
* Si cela ne suffit pas ?? vos besoins, contactez-nous : https://paheko.eu/contact
|
||||||
|
* pour une aide sp??cifique ?? votre installation.
|
||||||
|
*/
|
||||||
|
// Nom de domaine parent des associations h??berg??es
|
||||||
|
// Exemple : si vos associations sont h??berg??es en clubdetennis.paheko.eu,
|
||||||
|
// indiquer ici 'paheko.eu'
|
||||||
|
const FACTORY_DOMAIN = "kazkouil.fr";
|
||||||
|
// R??pertoire o?? seront stock??es les donn??es des utilisateurs
|
||||||
|
// Dans ce r??pertoire, un sous-r??pertoire sera cr???? pour chaque compte
|
||||||
|
// Ainsi 'clubdetennis.paheko.eu' sera dans le r??pertoire courant (__DIR__),
|
||||||
|
// sous-r??pertoire 'users' et dans celui-ci, sous-r??pertoire 'clubdetennis'
|
||||||
|
//
|
||||||
|
// Pour chaque utilisateur il faudra cr??er le sous-r??pertoire en premier lieu
|
||||||
|
// (eg. mkdir .../users/clubdetennis)
|
||||||
|
const FACTORY_USER_DIRECTORY = __DIR__ . '/users';
|
||||||
|
// Envoyer les erreurs PHP par mail ?? l'adresse de l'administrateur syst??me
|
||||||
|
// (mettre ?? null pour ne pas recevoir d'erreurs)
|
||||||
|
const MAIL_ERRORS = 'admin@kaz.bzh';
|
||||||
|
// IMPORTANT !
|
||||||
|
// Modifier pour indiquer une valeur al??atoire de plus de 30 caract??res
|
||||||
|
const SECRET_KEY = 'rTE5/v5hGK3OJfLZ/hZllZWOGGl0UKVjr3BSkgjYxqiIjfnVnPkYo9iikkLnr38byBOujhNxBRGDqJ9NtSfPgw==';
|
||||||
|
// Quota de stockage de documents (en octets)
|
||||||
|
// D??finit la taille de stockage disponible pour chaque association pour ses documents
|
||||||
|
const FILE_STORAGE_QUOTA = 10 * 1024 * 1024 * 1024; // 10 Go
|
||||||
|
////////////////////////////////////////////////////////////////
|
||||||
|
// R??glages conseill??s, normalement il n'y a rien ?? modifier ici
|
||||||
|
// Indiquer que l'on va utiliser cron pour lancer les t??ches ?? ex??cuter (envoi de rappels de cotisation)
|
||||||
|
const USE_CRON = true;
|
||||||
|
// Cache partag??
|
||||||
|
const SHARED_CACHE_ROOT = __DIR__ . '/cache';
|
||||||
|
// D??sactiver le log des erreurs PHP visible dans l'interface (s??curit??)
|
||||||
|
const ENABLE_TECH_DETAILS = false;
|
||||||
|
// D??sactiver les mises ?? jour depuis l'interface web
|
||||||
|
// Pour ??tre s??r que seul l'admin sys puisse faire des mises ?? jour
|
||||||
|
const ENABLE_UPGRADES = false;
|
||||||
|
////////////////////////////////////////////////////////////////
|
||||||
|
// Code 'magique' qui va configurer Garradin selon les r??glages
|
||||||
|
$login = null;
|
||||||
|
// Un sous-domaine ne peut pas faire plus de 63 caract??res
|
||||||
|
$login_regexp = '([a-z0-9_-]{1,63})';
|
||||||
|
$domain_regexp = sprintf('/^%s\.%s$/', $login_regexp, preg_quote(FACTORY_DOMAIN, '/'));
|
||||||
|
//original
|
||||||
|
//if (isset($_SERVER['SERVER_NAME']) && preg_match($regexp, $_SERVER['SERVER_NAME'], $match)) {
|
||||||
|
//maj kaz
|
||||||
|
if (isset($_SERVER['SERVER_NAME']) && preg_match('/^([a-z0-9_\-]+)-paheko\.kazkouil.fr$/', $_SERVER['SERVER_NAME'], $match)) {
|
||||||
|
$login = $match[1];
|
||||||
|
}
|
||||||
|
elseif (PHP_SAPI == 'cli' && !empty($_SERVER['PAHEKO_FACTORY_USER']) && preg_match('/^' . $login_regexp . '$/', $_SERVER['PAHEKO_FACTORY_USER'])) {
|
||||||
|
$login = $_SERVER['PAHEKO_FACTORY_USER'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Login invalide ou non fourni
|
||||||
|
http_response_code(404);
|
||||||
|
die('<h1>Page non trouv??e</h1>');
|
||||||
|
}
|
||||||
|
$user_data_dir = rtrim(FACTORY_USER_DIRECTORY, '/') . '/' . $login;
|
||||||
|
if (!is_dir($user_data_dir)) {
|
||||||
|
mkdir($user_data_dir, 0700, true);
|
||||||
|
//http_response_code(404);
|
||||||
|
//die("<h1>Cette association n'existe pas.</h1>");
|
||||||
|
}
|
||||||
|
// D??finir le dossier o?? sont stock??s les donn??es
|
||||||
|
define('Paheko\DATA_ROOT', $user_data_dir);
|
||||||
|
const PREFER_HTTPS = false;
|
||||||
|
const SMTP_HOST = "smtp.kazkouil.fr";
|
||||||
|
const SMTP_USER = null;
|
||||||
|
const API_USER = "admin_kaz";
|
||||||
|
const API_PASSWORD = "lbXyBoYdtLz2aDXlROGGXw";
|
||||||
|
const SMTP_PASSWORD = null;
|
||||||
|
const SMTP_PORT = 25;
|
||||||
|
const SMTP_SECURITY = 'NONE';
|
||||||
|
const ROOT = __DIR__;
|
||||||
|
const DB_FILE = DATA_ROOT . '/association.sqlite';
|
||||||
|
#const PLUGINS_ROOT = DATA_ROOT . '/plugins';
|
||||||
|
const PLUGINS_ROOT = __DIR__ . '/data/plugins';
|
||||||
|
|
||||||
|
// D??finir l'URL
|
||||||
|
//original
|
||||||
|
//define('Garradin\WWW_URL', 'https://' . $login . FACTORY_USER_DIRECTORY . '/');
|
||||||
|
//maj kaz
|
||||||
|
define('PAHEKO\WWW_URL', "https://".$login."-paheko.kazkouil.fr/");
|
||||||
|
define('PAHEKO\WWW_URI', '/');
|
||||||
|
// Désactiver le log des erreurs visible dans l'interface (sécurité)
|
||||||
|
define('PAHEKO\ERRORS_ENABLE_LOG_VIEW', true);
|
||||||
|
// Ne pas afficher les erreurs de code
|
||||||
|
define('PAHEKO\SHOW_ERRORS', true);
|
||||||
|
const PDF_COMMAND = 'prince';
|
129
dockers/paheko2/config/config.local.tmpl.php
Normal file
129
dockers/paheko2/config/config.local.tmpl.php
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Paheko;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ce fichier permet de configurer Garradin pour une utilisation
|
||||||
|
* avec plusieurs associations, mais une seule copie du code source.
|
||||||
|
* (aussi appel?? installation multi-sites, ferme ou usine)
|
||||||
|
*
|
||||||
|
* Voir la doc : https://fossil.kd2.org/paheko/wiki?name=Multi-sites
|
||||||
|
*
|
||||||
|
* N'oubliez pas d'installer ??galement le script cron.sh fournit
|
||||||
|
* pour lancer les rappels automatiques et sauvegardes.
|
||||||
|
*
|
||||||
|
* Si cela ne suffit pas ?? vos besoins, contactez-nous : https://paheko.eu/contact
|
||||||
|
* pour une aide sp??cifique ?? votre installation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Nom de domaine parent des associations h??berg??es
|
||||||
|
// Exemple : si vos associations sont h??berg??es en clubdetennis.paheko.eu,
|
||||||
|
// indiquer ici 'paheko.eu'
|
||||||
|
const FACTORY_DOMAIN = "__DOMAIN__";
|
||||||
|
|
||||||
|
// R??pertoire o?? seront stock??es les donn??es des utilisateurs
|
||||||
|
// Dans ce r??pertoire, un sous-r??pertoire sera cr???? pour chaque compte
|
||||||
|
// Ainsi 'clubdetennis.paheko.eu' sera dans le r??pertoire courant (__DIR__),
|
||||||
|
// sous-r??pertoire 'users' et dans celui-ci, sous-r??pertoire 'clubdetennis'
|
||||||
|
//
|
||||||
|
// Pour chaque utilisateur il faudra cr??er le sous-r??pertoire en premier lieu
|
||||||
|
// (eg. mkdir .../users/clubdetennis)
|
||||||
|
const FACTORY_USER_DIRECTORY = __DIR__ . '/users';
|
||||||
|
|
||||||
|
// Envoyer les erreurs PHP par mail ?? l'adresse de l'administrateur syst??me
|
||||||
|
// (mettre ?? null pour ne pas recevoir d'erreurs)
|
||||||
|
const MAIL_ERRORS = 'admin@kaz.bzh';
|
||||||
|
|
||||||
|
// IMPORTANT !
|
||||||
|
// Modifier pour indiquer une valeur al??atoire de plus de 30 caract??res
|
||||||
|
const SECRET_KEY = 'HkXFwmMIMaI1T4X9/BIxKahxa74tQvAj0z1keal/jXj7i2w1ifzvalPSAshAbSg2P/fhmh9TlA3+gD28jg+ljA==';
|
||||||
|
|
||||||
|
// Quota de stockage de documents (en octets)
|
||||||
|
// D??finit la taille de stockage disponible pour chaque association pour ses documents
|
||||||
|
const FILE_STORAGE_QUOTA = 10 * 1024 * 1024 * 1024; // 10 Go
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////
|
||||||
|
// R??glages conseill??s, normalement il n'y a rien ?? modifier ici
|
||||||
|
|
||||||
|
// Indiquer que l'on va utiliser cron pour lancer les t??ches ?? ex??cuter (envoi de rappels de cotisation)
|
||||||
|
const USE_CRON = true;
|
||||||
|
|
||||||
|
// Cache partag??
|
||||||
|
const SHARED_CACHE_ROOT = __DIR__ . '/cache';
|
||||||
|
|
||||||
|
// D??sactiver le log des erreurs PHP visible dans l'interface (s??curit??)
|
||||||
|
const ENABLE_TECH_DETAILS = false;
|
||||||
|
|
||||||
|
// D??sactiver les mises ?? jour depuis l'interface web
|
||||||
|
// Pour ??tre s??r que seul l'admin sys puisse faire des mises ?? jour
|
||||||
|
const ENABLE_UPGRADES = false;
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////
|
||||||
|
// Code 'magique' qui va configurer Garradin selon les r??glages
|
||||||
|
|
||||||
|
$login = null;
|
||||||
|
|
||||||
|
// Un sous-domaine ne peut pas faire plus de 63 caract??res
|
||||||
|
$login_regexp = '([a-z0-9_-]{1,63})';
|
||||||
|
$domain_regexp = sprintf('/^%s\.%s$/', $login_regexp, preg_quote(FACTORY_DOMAIN, '/'));
|
||||||
|
|
||||||
|
|
||||||
|
//original
|
||||||
|
//if (isset($_SERVER['SERVER_NAME']) && preg_match($regexp, $_SERVER['SERVER_NAME'], $match)) {
|
||||||
|
//maj kaz
|
||||||
|
if (isset($_SERVER['SERVER_NAME']) && preg_match('/^([a-z0-9_\-]+)-paheko\.__DOMAIN__$/', $_SERVER['SERVER_NAME'], $match)) {
|
||||||
|
$login = $match[1];
|
||||||
|
}
|
||||||
|
elseif (PHP_SAPI == 'cli' && !empty($_SERVER['PAHEKO_FACTORY_USER']) && preg_match('/^' . $login_regexp . '$/', $_SERVER['PAHEKO_FACTORY_USER'])) {
|
||||||
|
$login = $_SERVER['PAHEKO_FACTORY_USER'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Login invalide ou non fourni
|
||||||
|
http_response_code(404);
|
||||||
|
die('<h1>Page non trouv??e</h1>');
|
||||||
|
}
|
||||||
|
|
||||||
|
$user_data_dir = rtrim(FACTORY_USER_DIRECTORY, '/') . '/' . $login;
|
||||||
|
|
||||||
|
|
||||||
|
if (!is_dir($user_data_dir)) {
|
||||||
|
mkdir($user_data_dir, 0700, true);
|
||||||
|
//http_response_code(404);
|
||||||
|
//die("<h1>Cette association n'existe pas.</h1>");
|
||||||
|
}
|
||||||
|
|
||||||
|
// D??finir le dossier o?? sont stock??s les donn??es
|
||||||
|
define('Paheko\DATA_ROOT', $user_data_dir);
|
||||||
|
|
||||||
|
const PREFER_HTTPS = false;
|
||||||
|
const SMTP_HOST = "__SMTP_HOST__.__DOMAIN__";
|
||||||
|
const SMTP_USER = null;
|
||||||
|
const API_USER = "__PAHEKO_API_USER__";
|
||||||
|
const API_PASSWORD = "__PAHEKO_API_PASSWORD__";
|
||||||
|
const SMTP_PASSWORD = null;
|
||||||
|
const SMTP_PORT = 25;
|
||||||
|
const SMTP_SECURITY = 'NONE';
|
||||||
|
const ROOT = __DIR__;
|
||||||
|
|
||||||
|
const DB_FILE = DATA_ROOT . '/association.sqlite';
|
||||||
|
//const PLUGINS_ROOT = DATA_ROOT . '/plugins';
|
||||||
|
const PLUGINS_ROOT = __DIR__ . '/data/plugins';
|
||||||
|
|
||||||
|
// D??finir l'URL
|
||||||
|
//original
|
||||||
|
//define('Garradin\WWW_URL', 'https://' . $login . FACTORY_USER_DIRECTORY . '/');
|
||||||
|
//maj kaz
|
||||||
|
define('Paheko\WWW_URL', "__HTTP_PROTO__://".$login."-paheko.__DOMAIN__/");
|
||||||
|
|
||||||
|
define('Paheko\WWW_URI', '/');
|
||||||
|
|
||||||
|
// Désactiver le log des erreurs visible dans l'interface (sécurité)
|
||||||
|
define('Paheko\ERRORS_ENABLE_LOG_VIEW', true);
|
||||||
|
|
||||||
|
// Ne pas afficher les erreurs de code
|
||||||
|
define('Paheko\SHOW_ERRORS', true);
|
||||||
|
|
||||||
|
|
||||||
|
#add by fab le 21/04/2022
|
||||||
|
//const PDF_COMMAND = 'prince';
|
||||||
|
const PDF_COMMAND = 'auto';
|
17
dockers/paheko2/config/factory_cron.sh
Executable file
17
dockers/paheko2/config/factory_cron.sh
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Répertoire où sont stockées les données des utilisateurs
|
||||||
|
# veiller à ce que ce soit le même que dans config.local.php
|
||||||
|
FACTORY_USER_DIRECTORY="users"
|
||||||
|
|
||||||
|
# Chemin vers le script cron.php de Paheko
|
||||||
|
PAHEKO_CRON_SCRIPT="scripts/cron.php"
|
||||||
|
|
||||||
|
cd /usr/share/paheko
|
||||||
|
|
||||||
|
for user in $(cd ${FACTORY_USER_DIRECTORY} && ls -1d */)
|
||||||
|
do
|
||||||
|
PAHEKO_FACTORY_USER=$(basename "$user") /usr/bin/php $PAHEKO_CRON_SCRIPT
|
||||||
|
echo $PAHEKO_FACTORY_USER
|
||||||
|
done
|
||||||
|
|
14
dockers/paheko2/config/factory_cron_emails.sh
Executable file
14
dockers/paheko2/config/factory_cron_emails.sh
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Répertoire où sont stockées les données des utilisateurs
|
||||||
|
# veiller à ce que ce soit le même que dans config.local.php
|
||||||
|
FACTORY_USER_DIRECTORY="users"
|
||||||
|
|
||||||
|
# Chemin vers le script emails.php de Paheko
|
||||||
|
PAHEKO_CRON_SCRIPT="scripts/emails.php"
|
||||||
|
|
||||||
|
for user in $(cd ${FACTORY_USER_DIRECTORY} && ls -1d */)
|
||||||
|
do
|
||||||
|
PAHEKO_FACTORY_USER=$(basename "$user") /usr/bin/php $PAHEKO_CRON_SCRIPT
|
||||||
|
echo $PAHEKO_FACTORY_USER
|
||||||
|
done
|
BIN
dockers/paheko2/config/facturation.tar.gz
Normal file
BIN
dockers/paheko2/config/facturation.tar.gz
Normal file
Binary file not shown.
26
dockers/paheko2/config/paheko.conf
Normal file
26
dockers/paheko2/config/paheko.conf
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<VirtualHost *:80>
|
||||||
|
#ServerName paheko.kaz.bzh
|
||||||
|
DocumentRoot /usr/share/paheko/www
|
||||||
|
ErrorLog /var/log/apache2/error.log
|
||||||
|
CustomLog /var/log/apache2/access.log combined
|
||||||
|
ServerSignature Off
|
||||||
|
|
||||||
|
<Directory /usr/share/paheko/www >
|
||||||
|
AllowOverride All
|
||||||
|
Require all granted
|
||||||
|
Options FollowSymLinks MultiViews
|
||||||
|
<IfModule mod_dav.c>
|
||||||
|
Dav off
|
||||||
|
</IfModule>
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
<FilesMatch "^\.ht.*">
|
||||||
|
deny from all
|
||||||
|
satisfy all
|
||||||
|
ErrorDocument 403 "Access denied."
|
||||||
|
</FilesMatch>
|
||||||
|
|
||||||
|
FallbackResource /_route.php
|
||||||
|
|
||||||
|
|
||||||
|
</VirtualHost>
|
3
dockers/paheko2/config/setupWebRights.sh
Executable file
3
dockers/paheko2/config/setupWebRights.sh
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
chown -R www-data: /usr/share/paheko
|
41
dockers/paheko2/docker-compose.yml
Normal file
41
dockers/paheko2/docker-compose.yml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
version: '3.5'
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
paheko:
|
||||||
|
image: paheko/paheko
|
||||||
|
container_name: ${pahekoServName}
|
||||||
|
volumes:
|
||||||
|
# - ./config/paheko.conf:/etc/apache2/sites-available/000-default.conf
|
||||||
|
# - ./config/config.local.php:/usr/share/paheko/config.local.php
|
||||||
|
# - ./config/factory_cron.sh:/usr/share/paheko/factory_cron.sh
|
||||||
|
# - assoUsers:/usr/share/paheko/users
|
||||||
|
|
||||||
|
# - ./config/paheko.conf:/etc/apache2/sites-available/000-default.conf
|
||||||
|
- ./config/config.local.php:/var/www/paheko/config.local.php
|
||||||
|
- ./config/factory_cron.sh:/var/www/paheko/factory_cron.sh
|
||||||
|
- assoUsers:/var/www/paheko/users
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
networks:
|
||||||
|
- pahekoNet
|
||||||
|
- postfixNet
|
||||||
|
external_links:
|
||||||
|
- ${smtpServName}:${smtpHost}.${domain}
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.${pahekoServName}.rule=Host(`https://kaz-paheko.kazkouil.fr`)"
|
||||||
|
- "traefik.docker.network=pahekotNet"
|
||||||
|
# - "traefik.frontend.rule=HostRegexp:{host:[a-zA-Z0-9_-]+-${pahekoHost}}.${domain}"
|
||||||
|
# - "traefik.http.routers.${pahekoServName}.rule=HostRegexp(`{host:[a-zA-Z0-9_-]+-${pahekoHost}}.${domain}`)"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
assoUsers:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
pahekoNet:
|
||||||
|
external: true
|
||||||
|
name: pahekoNet
|
||||||
|
postfixNet:
|
||||||
|
external: true
|
||||||
|
name: postfixNet
|
41
dockers/paheko2/docker-compose.yml~
Normal file
41
dockers/paheko2/docker-compose.yml~
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
version: '3.5'
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
paheko:
|
||||||
|
image: paheko/paheko
|
||||||
|
container_name: ${pahekoServName}
|
||||||
|
volumes:
|
||||||
|
# - ./config/paheko.conf:/etc/apache2/sites-available/000-default.conf
|
||||||
|
# - ./config/config.local.php:/usr/share/paheko/config.local.php
|
||||||
|
# - ./config/factory_cron.sh:/usr/share/paheko/factory_cron.sh
|
||||||
|
# - assoUsers:/usr/share/paheko/users
|
||||||
|
|
||||||
|
# - ./config/paheko.conf:/etc/apache2/sites-available/000-default.conf
|
||||||
|
- ./config/config.local.php:/var/www/paheko/config.local.php
|
||||||
|
- ./config/factory_cron.sh:/var/www/paheko/factory_cron.sh
|
||||||
|
- assoUsers:/var/www/paheko/users
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
networks:
|
||||||
|
- pahekoNet
|
||||||
|
- postfixNet
|
||||||
|
external_links:
|
||||||
|
- ${smtpServName}:${smtpHost}.${domain}
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
# - "traefik.frontend.rule=HostRegexp:{host:[a-zA-Z0-9_-]+-${pahekoHost}}.${domain}"
|
||||||
|
# - "traefik.http.routers.${pahekoServName}.rule=HostRegexp(`{host:[a-zA-Z0-9_-]+-${pahekoHost}}.${domain}`)"
|
||||||
|
- "traefik.http.routers.${pahekoServName}.rule=HostRegexp(`{host:[a-zA-Z0-9_-]+-${pahekoHost}}.${domain}`)"
|
||||||
|
- "traefik.docker.network=pahekotNet"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
assoUsers:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
pahekoNet:
|
||||||
|
external: true
|
||||||
|
name: pahekoNet
|
||||||
|
postfixNet:
|
||||||
|
external: true
|
||||||
|
name: postfixNet
|
Loading…
Reference in New Issue
Block a user