[Tuto] Installer SWAG en Docker ( Reverse Proxy )

peps382000

Nouveau membre
bonjour
quelqu'un sait il comment remplacer l'image du rat dans le message. merci
Voir la pièce jointe 5400
j'ai trouvé il suffit de cliquer sur le nuage
Message automatiquement fusionné :

Salut,
Dans ton instance Gotify, tu va dans Apps
OMv42aq.png


Puis tu clique sur le petit nuage pour uploader l'image de ton choix :
vOLFPG6.png


Moi j'ai mi celle de Wikipedia : https://upload.wikimedia.org/wikipedia/commons/d/db/Fail2ban_logo.png
y a t il moyen de le personnaliser pour chaque message et non pour chaque appli .
merci
 

Raphael3922

Nouveau membre
Bonjour,

Merci pour ce tuto qui m'a permis de mettre en oeuvre swag sur mon nas DIY.

Mon nas DIY est compose

Processeur : Amd Athlon II X2 215
Ram : 4Go
Stockage : 2 DD de 6To
Os : OMV 5.6.26-1

Sur mon reseau local mon nas a pour Ip 192.168.1.186 (sur lequel tourne openmediavault qui héberge (grâce a docker (nextcloud, nextclouddb, swag)) un nextcloud accessible par l'Url ar.duckdns.org/nextcloud

Mon nas est connecte a ma Freebox dont les ports sont rediriges comme suit :
80 (internet) vers : 80 de la machine 192.168.1.186
443 (internet) vers : 443 de la machine 192.168.1.186



Je souhaiterais a ajouter une autre machine sur le réseau : un serveur web 192.168.1.196 pour heberger deux sites web dynamique (ayant chacun un nom de domaine différents soit testrl.fr et exemplerl.fr

Y a t il un moyen pour configurer swag afin que les requêtes venant du web du type :
  • ar.duckdns.org/nextcloud soient dirigées vers la machine 192.168.1.186 (port 80 et 443)
  • testrl.fr soient dirigées vers la machine 192.168.1.186 (port 80 et 443)
  • exemplerl.fr soient dirigées vers la machine 192.168.1.186 (port 80 et 443)



svp merci

cordialement,

Raphael 3922
 

EVOTk

Modérateur
Membre du personnel
Salut,
Os : OMV 5.6.26-1
Il va falloir penser a passer sur OMV6 :) OMV5 est End-of-Life :)

Y a t il un moyen pour configurer swag afin que les requêtes venant du web du type :
  • ar.duckdns.org/nextcloud soient dirigées vers la machine 192.168.1.186 (port 80 et 443)
  • testrl.fr soient dirigées vers la machine 192.168.1.186 (port 80 et 443)
  • exemplerl.fr soient dirigées vers la machine 192.168.1.186 (port 80 et 443)
Bien sur, dans SWAG, sert toi du template d'exemple _template.subdomain.conf.sample qui ce trouve dans config/nginx/proxy-confs :

Exemple , dans le cas de testrl.fr, si tu souhaite que testrl.fr renvoi vers l'adresse local 192.168.1.186:80 alors dans le dossier proxy-confs créer un fichier nommé testrl.subdomain.conf qui contient ceci :

Code:
server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name testrl.fr;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    location / {

        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app 192.168.1.186;
        set $upstream_port 80;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

    }

}

A confirmer, mais il me semble que server_name peut contenir plusieurs noms, dans ce cas tu pourrai déclarer testrl.fr et exemplerl.fr dans la meme config, comme ceci :

Code:
server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name testrl.fr exemplerl.fr;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    location / {

        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app 192.168.1.186;
        set $upstream_port 80;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

    }

}

Bien sur, ces nom de domaine doivent etre configurer dans SWAG pour que le certificat généré soit OK. Cela ce passe avec la variable du conteneur : EXTRA_DOMAINS=testrl.fr,exemplerl.fr

Plus d'info : Docker SWAG - Parameters
 

anthropo

Nouveau membre
Bonjour à tous,
j'ai installé swag sur mon AS3302T, mais je bute sur le reverse proxy avec un serveur domoticz sur un raspberry sur mon réseau.
Sur la console du conteneur swag (j'utilise portainer) je vois l'ip 192.168.0.10, je peux même faire un wget http://192.168.0.10, mais lorsque je me connecte à mon https://xxxx.dyndns.org/Domoticz mon .conf me ramène systématiquement vers un

404 Not Found​

j'en peux plus ! Si quelqu'un peut m'aider.. Au moins m'indiquer comment débuguer ce genre de problème, je ne trouve pas.

vi /volume1/Docker/Swag/config/nginx/proxy-confs/domoticz.subfolder.conf
Code:
location ^~ /Domoticz/ {
    include /config/nginx/proxy.conf;
    #include /config/nginx/resolver.conf;
    resolver 192.168.0.254;
    proxy_pass http://192.168.0.10:8080;
    rewrite /Torrents(.*) $1 break;
    proxy_set_header X-Deluge-Base "/Torrents/";
}
 

EVOTk

Modérateur
Membre du personnel
Salut,

Ton fichier conf pour domoticz devrai ressembler a cela :

Code:
location ^~ /domoticz/ {

    include /config/nginx/proxy.conf;
    include /config/nginx/resolver.conf;
    set $upstream_app 192.168.0.10;
    set $upstream_port 8080;
    set $upstream_proto http;
    proxy_pass $upstream_proto://$upstream_app:$upstream_port;

}

Source : https://github.com/linuxserver/reverse-proxy-confs/blob/master/domoticz.subfolder.conf.sample

Par contre, pourquoi tu as des choses comme :
- resolver 192.168.0.254; mais visiblement tu l'intègre manuellement plutot que de laisser la ligne #include /config/nginx/resolver.conf;
- proxy_pass http://192.168.0.10:8080; Bien que fonctionnel, ce n'est pas la "norme" des confs SWAG
- rewrite /Torrents(.*) $1 break; et proxy_set_header X-Deluge-Base "/Torrents/";
 

anthropo

Nouveau membre
Code:
location ^~ /Domoticz/ {
    include /config/nginx/proxy.conf;
    include /config/nginx/resolver.conf;
    proxy_pass http://192.168.0.10:8080;
}
Pas mieux. Pour le resolv.conf j'ai fait pas mal de tests, c'est pour ça.
cat /volume1/Docker/Swag/config/nginx/resolver.conf
Code:
# This file is auto-generated only on first start, based on the container's /etc/resolv.conf file. Feel free to modify it as you wish.
resolver  127.0.0.11 valid=30s;

J'ai toujours mon 404 en retour
 

EVOTk

Modérateur
Membre du personnel
Que donne la commande suivante :

En SSH depuis ton NAS : docker exec -it swag curl http://192.168.0.10:8080
ou
Depuis la console de SWAG sur Portainer : curl http://192.168.0.10:8080
 

anthropo

Nouveau membre
anthropo@AS3302T:$ sudo docker exec -it swag curl http://192.168.0.10:8080
Password:
Code:
<!DOCTYPE html>
<html manifest="html5.appcache">
<head>
        <meta charset="utf-8">
        <title>Domoticz</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
        <meta name="apple-mobile-web-app-capable" content="yes">
...

root@Swag:/#curl http://192.168.0.10:8080 |more
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
Code:
<!DOCTYPE html>
<html manifest="html5.appcache">
<head>
                <meta charset="utf-8">
                <title>Domoticz</title>
                <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
                <meta name="apple-mobile-web-app-capable" content="yes">
                <meta name="mobile-web-app-capable" content="yes">
...

C'est pareil. Le pire c'est que j'ai un serveur jeedom sur une ip 192.168.0.14 et un jellyfin sur le NAS sur le port 8096 et ça fonctionne (certes pas avec la même conf mais le proxy_pass est pareil)
 

anthropo

Nouveau membre
YES !

Code:
location /Domoticz {                                             
    return 301 $scheme://$host/Domoticz/;                         
}                                       
                                        
location /Domoticz/ {                   
       # enable the next two lines for http auth
       auth_basic "Restricted";                 
       auth_basic_user_file /config/nginx/.htpasswd;
                                                    
       rewrite ^/Domoticz/?(.*) /$1 break;         
       proxy_http_version       1.1;               
       proxy_read_timeout       90;       
       proxy_set_header         Host $host;
       proxy_set_header         X-Real-IP $remote_addr;
       proxy_set_header         X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header         X-Forwarded_Proto $scheme;                 
       proxy_set_header         X-Scheme $scheme;                         
       proxy_set_header         Upgrade $http_upgrade;                     
       proxy_set_header         Connection $connection_upgrade;
       add_header               X-Frame-Options SAMEORIGIN;   
       proxy_pass http://192.168.0.10:8080;                   
}

il me suffisait de trouver la bonne doc (ce qui m'a valu quelques heures de galère quand même)
 

Raphael3922

Nouveau membre
Salut,

Il va falloir penser a passer sur OMV6 :) OMV5 est End-of-Life :)


Bien sur, dans SWAG, sert toi du template d'exemple _template.subdomain.conf.sample qui ce trouve dans config/nginx/proxy-confs :

Exemple , dans le cas de testrl.fr, si tu souhaite que testrl.fr renvoi vers l'adresse local 192.168.1.186:80 alors dans le dossier proxy-confs créer un fichier nommé testrl.subdomain.conf qui contient ceci :

Code:
server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name testrl.fr;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    location / {

        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app 192.168.1.186;
        set $upstream_port 80;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

    }

}

A confirmer, mais il me semble que server_name peut contenir plusieurs noms, dans ce cas tu pourrai déclarer testrl.fr et exemplerl.fr dans la meme config, comme ceci :

Code:
server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name testrl.fr exemplerl.fr;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    location / {

        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app 192.168.1.186;
        set $upstream_port 80;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

    }

}

Bien sur, ces nom de domaine doivent etre configurer dans SWAG pour que le certificat généré soit OK. Cela ce passe avec la variable du conteneur : EXTRA_DOMAINS=testrl.fr,exemplerl.fr

Plus d'info : Docker SWAG - Parameters
Bonsoir,

Merci pour cette réponse. Je teste et je revient vers vous si nécessaire.

Bonne continuation


Raphael 3922
 
Haut Bas