[Tuto] Installer SWAG en Docker ( Reverse Proxy )

UPDATE - Ajout du point 8.d/ Recevoir des notifications sur Gotify

E3UIwMp.png
 
  • J'aime
Réactions: Nincha
UPDATE
Ajout du point 8.e/ Mise en place de Fail2ban sur Matomo
Correction du regex de vaultwarden pour être plus sélectif.
Ajout d'une erreur dans la mise en place des notifications Gotify qui avait pour résultat de ne pas réellement bannir l'ip.
 
bonjour,
dans la partie2 il faudrait corriger :

docker compose up -d -> docker-compose up -d


Cordialement.
 
  • J'aime
Réactions: nicoz
Ma petite pierre à l'édifice.

On peut avoir une interface graphique pour monitorer le proxy :
- ajouter la variable environnement : - DOCKER_MODS=linuxserver/mods:swag-dashboard
- ajouter le port 81:81 pour acceder au WebUi
 
  • J'aime
Réactions: nicoz et EVO
Bonsoir,
super tuto merci !

j'ai paramétré swag et nextcloud par sous-domaine. Tout est fonctionnel mais je ne comprend pas pourquoi j'ai accès la page index.php "welcome to your swag instance".

Savez-vous comment je peux empecher l'accès à cette page :
nextcoud.domaine.com => ok
domaine.com => la page que je souhaite bloquée
 
domaine.com => la page que je souhaite bloquée
Cette page ce trouve dans config/www. ( index.htm ou index.html j'ai un doute ).
Si tu utilise une validation via les ports 80 et 443 cette page est necessaire, par contre, rien ne t'empeche de faire une redirection :


Le fichier de configuration par defaut est dans : config/nginx/site-confs, le fichier ce nomme : default
 
Cette page ce trouve dans config/www. ( index.htm ou index.html j'ai un doute ).
Si tu utilise une validation via les ports 80 et 443 cette page est necessaire, par contre, rien ne t'empeche de faire une redirection :


Le fichier de configuration par defaut est dans : config/nginx/site-confs, le fichier ce nomme : default
Super merci, c’est ce que je pensais. Mais pourquoi cette page est-elle nécessaire par rapport aux ports 443 et 80 (simple curiosité) ?
 
Lors de la vérification du domaine par lets encrypt via la méthode classique, letsencryt va visiter la page d'accueil de ton site web pour valider le domaine. Il doit donc etre accessible . par contre il est possible de personnaliser cette page ou autre sans soucis.
 
  • J'aime
Réactions: moacc95
Bonsoir,

Je ne comprends pas trop pourquoi fail2ban ne s'applique pas à mon sous-domaine...
mon architecture est la suivante :
mon-Domaine.duckdns.org
Nextcloud.mon-Domaine.duckdns.org
j'ai suivi plusieurs tuto pour la config et ça fonctionne très bien cependant j’essaie d'activer fail2ban sur le domaine et les sous domaine mais je n'y parviens pas.
J'ai mis les paramètres dans le fichier /swag/nginx/site-confs/default

Avez-vous une idée ?

Edit:
Bon finalement j'y suis parvenu en modifiant le fichier 'nextcloud.subdomain.conf' dans '/swag/nginx/proxy-confs' en ajouter les ligne de fail2ban.
Je ne sais pas si c'est la meilleurs méthode mais ça fonctionne.
 
Dernière édition:
bonjour
ne manque t-il pas la fin de l'avant dernière ligne dans le fichier Fail2Gotify.sh
Code:
curl -s -S --data '{"message": "'"${MESSAGE}"'", "title": "'"${TITLE}"'", "priority":'"${GOTIFY_PRIORITY}"', "extras": {"client::display": {"contentType": "text/markdown"}}}' -X POST -H Content-Type>
merci
 
bonjour
ne manque t-il pas la fin de l'avant dernière ligne dans le fichier Fail2Gotify.sh
Code:
curl -s -S --data '{"message": "'"${MESSAGE}"'", "title": "'"${TITLE}"'", "priority":'"${GOTIFY_PRIORITY}"', "extras": {"client::display": {"contentType": "text/markdown"}}}' -X POST -H Content-Type>
merci
Salut,
Effectivement, une erreur de copier/coller.

Je viens de mettre à jour, merci.

-----

UPDATE - Correction d'une erreur dans Fail2Gotify.sh
 
re,
j'ai un problème et j'aurai besoin d'un coup de main, je ne m'en sors pas. voilà si je test la commande suivante
Code:
alain@serveurubuntu:~$ bash /home/alain/swag/fail2ban/Fail2Gotify.sh start nginx-unauthorized
ça fonctionne
Capture du 2022-04-29 15-48-30.png

et quand je redémarre swag , pas de notifications ???
j'ai bien modifié le fichier jail.local comme indiqué
Code:
action = gotifyEmbed
         iptables-allports

voici une partie du log (que je ne comprend pas)

Code:
2022-04-29 15:40:16,099 fail2ban.utils          [530]: INFO    HINT on 127: "Command not found".  Make sure that all commands in 'bash /home/alain/swag/fail2ban/Fail2Gotify.sh start nginx-deny' are in the PATH of fail2ban-server process (grep -a PATH= /proc/`pidof -x fail2ban-server`/environ). You may want to start "fail2ban-server -f" separately, initiate it with "fail2ban-client reload" in another shell session and observe if additional informative error messages appear in the terminals.
2022-04-29 15:40:16,099 fail2ban.actions        [530]: ERROR   Failed to start jail 'nginx-deny' action 'gotifyEmbed': Error starting action Jail('nginx-deny')/gotifyEmbed: 'Script error'
2022-04-29 15:40:16,104 fail2ban.utils          [530]: ERROR   7fcdff93e1b0 -- exec: bash /home/alain/swag/fail2ban/Fail2Gotify.sh start nginx-unauthorized
2022-04-29 15:40:16,105 fail2ban.utils          [530]: ERROR   7fcdff93e1b0 -- stderr: 'bash: /home/alain/swag/fail2ban/Fail2Gotify.sh: No such file or directory'
2022-04-29 15:40:16,105 fail2ban.utils          [530]: ERROR   7fcdff93e1b0 -- returned 127

la partie du fichier Fail2gotify.sh
Code:
## Variables Gotify
GOTIFY_URL=https://gotify.monsite.duckdns.org
GOTIFY_TOKEN=montoken
GOTIFY_PRIORITY_SUCCESS=2
GOTIFY_PRIORITY_ERROR=7

et mon fichier gotifyEmbed.conf
Code:
[Definition]
# Notify on Startup
actionstart = bash /home/alain/swag/fail2ban/Fail2Gotify.sh start <name>

# Notify on Shutdown
actionstop = bash /home/alain/swag/fail2ban/Fail2Gotify.sh stopped <name>

#
actioncheck =

# Notify on Banned
actionban = bash /home/alain/swag/fail2ban/Fail2Gotify.sh ban <name> <ip>

# Notify on Unbanned
actionunban = bash /home/alain/swag/fail2ban/Fail2Gotify.sh unban <name> <ip>

[Init]
# Name of the jail in your jail.local file. default = [your-jail-name]
name = default
merci d'avance
 
Dernière édition:
Salut,
et mon fichier gotifyEmbed.conf

Dans ton fichier gotifyEmbed.conf il ne faut pas mettre les chemins absolu vers le script, mais le chemin interne au conteneur ! ( Car c'est le conteneur qui va executer le script, et le conteneur lui ne voit que les dossier de la machine qu'on l'autorise a voir ).

Si tu as suivi mon tuto pour l'installation, alors /home/alain/swag/ correspond a ton dossier /config dans le conteneur. Tu n'a donc pas besoin de modifier les chemins vers le bash qui doivent tous être /config/fail2ban/Fail2Gotify.sh
 
Salut,


Dans ton fichier gotifyEmbed.conf il ne faut pas mettre les chemins absolu vers le script, mais le chemin interne au conteneur ! ( Car c'est le conteneur qui va executer le script, et le conteneur lui ne voit que les dossier de la machine qu'on l'autorise a voir ).

Si tu as suivi mon tuto pour l'installation, alors /home/alain/swag/ correspond a ton dossier /config dans le conteneur. Tu n'a donc pas besoin de modifier les chemins vers le bash qui doivent tous être /config/fail2ban/Fail2Gotify.sh
bonjour,
Merci c’était le problème, j'ai remplacé /home/alain/swag/ par /config comme tu me l'a indiqué et maintenant ça fonctionne.
cdt.
 
  • J'aime
Réactions: EVO