Synology Accès externe au NAS

WordPress était dispo dans leur catalogue d’app, donc je n’ai rien codé
La pile proposé par Portainer est celle-ci :
Code:
version: '2'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: ${MYSQL_DATABASE_PASSWORD}
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     image: wordpress:latest
     ports:
       - 80
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress

volumes:
    db_data:

C'est trop basique pour que tu puisses utiliser pleinement WP en prod et même en test (pas de volume web, pas de redis, pas de conf d'upload, pas de port en correspondance ...). Il te faut revoir ta copie à ce niveau.
Tu peux suivre l'intall que je propose pour WP en Docker mais il faut adapter le début du tuto et le code pour Syno et Portainer - pas très compliqué (là c'est spé pour CasaOS).
 
Cher Grand maître Jedi, je pensais que tu t'étais rendu compte que j'étais un Padawan qui se lance dans l'aventure de l'auto-hébergement avec beaucoup d'espoir mais pas beaucoup de compétence. Je me croyais geek mais là je suis clairement au-delà de mes capacités! et donc... j'ai viré le Wordpress que j'avais installé avec la "pile insuffisante" et j'ai essayé de suivre ton tuto "à adapter". J'ai trouvé comment faire "create stack" dans Portainer et copier-coller le code mais l'adapter! Je n'ai jamais codé de ma vie et je ne sais pas du tout ce que le code veut dire donc... je n'ai aucune idée de comment l'adapter.
Ma question est donc : tu penses pouvoir m'aider malgré mon ignorance crasse ou il vaut mieux que je me rabatte sur Web Station ou une autre solution plus accessible ?
Au fait est-il possible que Web Station parasite l'URL ? je devrais le désactiver ?
En tout cas, merci beaucoup pour votre patience!
 
Au fait est-il possible que Web Station parasite l'URL ? je devrais le désactiver ?
Non pas de souci à ce niveau, tu peux mettre des apps sur web station et d'autres sur docker.

ou il vaut mieux que je me rabatte sur Web Station
Ce sera aussi compliqué si tu débutes voire +
J'ai trouvé comment faire "create stack" dans Portainer et copier-coller le code
C'est le code que tu as utilisé qu'il nous fallait communiquer. Bon pas grave, je regarde ce que propose Marius ...

Bon fait ... il te faut suivre les étapes suivantes (pour Syno) :

0. Supprimer ta pile sur Portainer + supprimer ton dossier wordpress dans docker

1. Créer un NDD (DDNS ou Wildcard) dédié au WordPress

2. Le mettre en correspondance dans Sécurité -> Certificats -> Paramètres
Tu dois mettre ton ndd - ex : monsite.grimm.syno.me (service) = monsite.grimm.syno.me (certificat) ici sur l'illustration (ce n'est pas un Syno en prod donc juste pour le chemin).

1774434782839.png


2. Créer 3 sous-dossiers (c'est mieux pour la gestion de WP) qui seront dans le dossier docker -> wordpress
[ db + redis + web ]

1774720888626.png

3. Créer un fichier uploads.ini et le mettre dans le dossier web
(le contenu ci dessous pour uploader jusqu'à 1Go)

Code:
file_uploads = On
memory_limit = 256M
upload_max_filesize = 1000M
post_max_size = 1000M
max_execution_time = 600

4. Copier coller le code ci-dessous dans Portainer (comme indiqué sur le tuto de Marius) - J'ai retiré phpmyadmin qui ne sert à rien sur WP en docker + mis WP en latest (version actuellement à niveau) + MariaDB en latest (se met à niveau au fur et à mesure).
Code:
services:
  wordpress:
    image: wordpress:latest
    container_name: WordPress
    hostname: wordpress
    healthcheck:
     test: curl -f http://localhost:80/ || exit 1
    ports:
      - 8195:80
    depends_on:
      db:
        condition: service_started
      redis:
        condition: service_healthy
    volumes:
      - /volume1/docker/wordpress/web:/var/www/html:rw
      - /volume1/docker/wordpress/web/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini:rw
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: grimm
      WORDPRESS_DB_PASSWORD: grimmpassword
      WORDPRESS_DB_NAME: grimm_db
    restart: on-failure:5

  db:
    image: mariadb:latest
    container_name: WordPress-DB
    security_opt:
      - no-new-privileges:true
    hostname: wordpress-db
    environment:
      MYSQL_DATABASE: grimm_db
      MYSQL_USER: grimm
      MYSQL_PASSWORD: grimmpassword
      MYSQL_ROOT_PASSWORD: rootpass
      TZ: Europe/Paris
    volumes:
      - /volume1/docker/wordpress/db:/var/lib/mysql:rw
    restart: on-failure:5

  redis:
    image: redis
    hostname: wordpress-redis
    container_name: WordPress-REDIS
    user: 1026:100
    healthcheck:
     test: ["CMD-SHELL", "redis-cli ping || exit 1"]
    volumes:
      - /volume1/docker/wordpress/redis:/data:rw
    environment:
      TZ: Europe/Paris
    restart: on-failure:5

5. Une fois la pile lancée sur Portainer tu ouvres ton navigateur sur le NDD dédié à ton WP. Si on te propose de choisir la langue c'est bon - si une erreur est indiquée fais nous une capture d'écran.

Puis, tu suis le tuto de Marius pour activer redis ...

Tiens nous au courant ;)
 

Pièces jointes

  • 1774434867439.png
    1774434867439.png
    26.8 KB · Affichages: 18
  • 1774720391189.png
    1774720391189.png
    41.5 KB · Affichages: 2
Dernière édition:
J'ai aussi testé ce tuto
Je n'utilise plus Syno - donc pas vérifié ce tuto depuis longtemps.
Cependant, à l'époque il y avait des problèmes d'autorisation d'accès aux dossiers - je ne sais pas si c'est toujours d'actualité :unsure: Si tu as des soucis fais l'opération que j'indiquais (ça mange pas de pain) et relance la pile :

... extrait ...
"Important : Depuis qques temps, les autorisations d’accès à votre dossier wordpress changent lors du déploiement de la pile – Avant de configurer, vous retournez dans File Station puis : ->docker->wordpress (ou nom donné si changement)->Propriétés (clic droit) et changer le propriétaire par votre id. Puis dans l'onglet -> Permissions (retirer les utilisateurs créés pendant le déploiement souvent des numéros) -> créer (si pas présent) -> votre id admin (control) + SYSTEM (lire+écrire) + Everyone (lire) -> Appliquer à ce dossier ... Valider."
...


NB sur l'illustration ci-dessous WP n'est pas lancé c'est juste pour t'indiquer le chemin

1774438339409.png
 

Pièces jointes

  • 1774438040534.png
    1774438040534.png
    59.8 KB · Affichages: 0
Alors.... résultat des courses, quand je vais sur le lien fourni par Portainer, j'ai "error establishing a database connection", ce que semble corroborer ce que me dit Portainer. Il y a un problème avec la base de données WP.containers.png

Secundo, je crois que je ne suis pas encore bon avec le DDNS.
quand je vais sur https://grimm68.synology.me, j'ai l'écran qui me dis "your website is not setup yet" comme depuis le début.
quand je vais sur https://wordpress.grimm68.synology.me, j'ai "ce site est inaccessible" avec "ERR_CONNECTION_REFUSED". Curieusement il semble rajouter le port 32768 alors que plus rien ne pointe vers lui.
Je crois pourtant avoir fait le setup comme tu m'as dit...
ddns.pngrevprox.pngwildcard.png

J'ai vérifié les autorisations sur le dossier wordpress dans DSM, pas de problème.
Je n'ai pas fait la suite du tuto de Marius pour l'instant.
C'est grave docteur ?
 
C'est grave docteur ?
1. Au niveau du Proxy Inversé à Destination c'est HTTP
1774720804842.png


2. Tu as copier/coller le code que je t'ai fourni au poste #25 ??? dans Portainer
  • Si oui le port de destination http -> localhost -> 8195 (Proxy Inversé)
  • Si tu as fait des modifs peux-tu nous communiquer le code que tu as collé dans Portainer
3. Si tu as copié le code que je t'ai fourni, tu as bien fait 3 sous dossiers à wordpress (je viens de voir que ma capture d'écran est fausse je vais la changer) - docker -> wordpress -> 3 sous dossiers (redis, db, web)
quand je vais sur https://grimm68.synology.me, j'ai l'écran qui me dis "your website is not setup yet" comme depuis le début.
Cette adresse correspond à ton DSM donc pour accéder à DSM tu dois faire https://grimm68.synology.me + port (5001 par défaut)
 

Pièces jointes

  • 1774720755397.png
    1774720755397.png
    31.7 KB · Affichages: 1
J'ai corrigé le proxy inversé en http.
J'avais copié ton code sans modifier un seul caractère et j'ai bien fait le dossier comme suit :
Capture d’écran 2026-03-28 214244.png
c'est normal que le dossier db et redis soient vides ?
 
c'est normal que le dossier db et redis soient vides ?
Bon je viens de tester sur mon DSM virtuel avec Portainer et me suis rerouvé dans le même cas que toi -> capture de ton poste #27

En fait c'est toujours un problème d'autorisations des dossiers voilà la procédure (si tu as toujours laissé le code wordpress sur Portainer).

1. File Station -> docker -> wordpress et (clic droit) Propriétés vérifier que c'est bien ton ID d'admin du DSM (+ cocher appliquer à ce dossier etc) et valider.

1774741604381.png


2. Ouvrir l'onglet Permissions et ajouter Créer ton ID admin (ici morgyann) + SYSTEM - avec les autorisations comme sur ma capture d'écran et cocher " Appliquer à ce dossier ..." + Sauvegarder le tout

NB : Si les permissions sont grisées, il faut les rendre explicites avec le bouton Options avancées
1774745595785.png


1774742015552.png


3. Retourne sur Portainer et ouvre Stack -> wordpress

1774742299053.png

4. Coche les 3 containers

1774742364887.png

4. Clique sur le bouton restart
(à droite) - patiente le temps du rechargement et les 3 devraient être au vert :)

1774742431172.png


5.
Retourne sur DSM -> File Station et ouvre les dossiers wp

db

1774742718932.png

redis

1774742759154.png

web

1774742795930.png



6. Ouvre un onglet sur ton navigateur sur https://wordpress.grimm.syno.me (IMPORTANT : il faut configurer le wp sur le NDD) - la config te ton Proxy Inversé semble bonne (tu as bien ajouté le web socket ?)

1774743103986.png

Bizarre, le mien est en anglais ? Bon c'est jute pour tester puisqu'après on passe sur ton NDD d'Infomaniak ...
 
Dernière édition:
1. Wordpress : 🍾🍾🍾 tu avais raison (encore!!), le Wordpress apparait avec exactement le même écran (en anglais)! J'ai un peu galéré parce que j'avais oublié de mettre une autorisation sur le dossier à SYSTEM et il me changeait le owner du dossier à chaque restart mais maintenant c'est bon!

2. Par contre, l'accès par l'URL souhaité ne marche toujours pas. Je pense savoir pourquoi cependant. Quand je passe le reverse proxy de https à http, j'ai le message d'erreur suivant : "Ce numéro de port est utilisé par une autre application. Veuillez entrer un numéro différent"
Le port 443 est aussi utilisé comme port par défaut par webstation et ce n'est apparemment pas changeable. le bouton modifier est grisé.webstation.png
J'ai essayé de désinstaller Webstation mais je n'arrive pas à l'enlever complètement parce que je ne sais plus quel mot de passe j'ai mis sur la base de données.
J'ai arrêté WebStation mais ça ne suffit pas à débloquer.
J'ai essayé de déplacer le Wordpress sur un autre port dans le reverse proxy mais ça veut dire que je dois le modifier dans la Freebox et le routeur à nouveau. et peut-être ailleurs ? Je verrai demain si le redémarrage de la Freebox a été efficace (pas possible maintenant)

Sinon, j'ai commencé avec le Wordpress mais je pense qu'il n'est pas complètement opérationnel : je ne peux pas le passer d'anglais en français, ni installer un thème, ni mettre à jour. Je réessaierai quand l'URL marchera.

Encore merci pour ton suivi et ta patience!
 
Sinon, j'ai commencé avec le Wordpress mais je pense qu'il n'est pas complètement opérationnel : je ne peux pas le passer d'anglais en français, ni installer un thème, ni mettre à jour. Je réessaierai quand l'URL marchera.
Bon, j'ai testé WP sur Syno un peu + en l'installant et les autorisations ne sont pas complètes - il demande de se connecter en FTP Grrr :mad:
1 (1).png

Donc rejeté un oeil à mes notes ici et il faut modifier le fichier wp-config.php (dans le dossier web de wordpress) en ajoutant à la fin le code suivant et enregistrer :
Code:
//**La ligne suivante permet les téléchargements directs*/
define('FS_METHOD', 'direct');

2.wp-config-php.png

et magie 🪄

03.png

3.mise à jour.png

Puis direction Settings (et changer langue, Timezone, Date format, Time format) et Save

4. langue.png


Puis voir si si les uploads ont bien été pris en compte (ici c'est bon je suis autorisé à 1Go) :

5.taille de l'upload.png

Puis aller à Réglages -> Permaliens -> Mettre "Titre de la publication" et Enregistrer

1775212938063.png

Après il te faut installer Redis - suis le tuto de Marius ou le mien sur Casa/ZimaOS ici ou sur mon site ...

2. Par contre, l'accès par l'URL souhaité ne marche toujours pas. Je pense savoir pourquoi cependant. Quand je passe le reverse proxy de https à http, j'ai le message d'erreur suivant : "Ce numéro de port est utilisé par une autre application. Veuillez entrer un numéro différent"

Comme indiqué, il est important de déployer WP directement sur le NDD sinon tu auras des soucis de Base de Données - donc si tu l'as déployé recommence à zéro (supprime la pile sur Portainer et le dossier wordpress sur ton NAS). Il te faut donc régler cette histoire de Proxy Inversé.
C'est quel port qui est déjà utilisé ??? le 8195 (en http / localhost) ou le 443 (NDD en https) ???? (cela m'étonnerai que ce soit le 443 ...)
Je suppose que c'est le 8195, si c'est bien celui là tu le changes par un autre ex 8283, 8196, 8354 .... (celui de ton choix) et change le sur le compose de Portainer comme par ex (là j'ai mis le 8196 à la place) :
Code:
services:
  wordpress:
    image: wordpress:latest
    container_name: WordPress
    hostname: wordpress
    healthcheck:
     test: curl -f http://localhost:80/ || exit 1
    ports:
      - 8196:80

ncore merci pour ton suivi et ta patience!
Si Synology est top pour le stockage et ses apps comme Photos et Drive. Concernant Docker, le moteur à 3 ans de retard version du 26-03-2023 - et au niveau des apps ça fonctionne que très très moyennement (autorisations qui sautent, matériel qui ne suis pas etc.)

1775214023550.png

Du temps où j'avais des Syno, j'avais donc installé un serveur d'apps (pour Docker) sur une autre machine et utilisé mes Syno que pour le stockage + Drive et Photos + Proxy Inversé.
 
tes manips sur le WordPress sont magiques! mais rien à faire avec l'URL! Je viens de réinstaller WP à zéro et ça ne veut toujours pas.
Mon reverse proxy est comme ça :
revprox.png
Je pense qu'on est clean sur le 8195. C'est bien celui qu'indique Portainer ou bien l'URL de Wordpress. Par contre, pas sûr pour l'autre. Comme je pensais que le 443 était bloqué par le Webstation de Synology, j'ai essayé de configurer le 444. J'ai fait exactement les mêmes manips que pour le 443 sur ma box et mon routeur, et j'ai adapté le reverse proxy comme tu vois...
Quand je vais sur https://wordpress.grimm68.synology.me, il me rajoute un port https://wordpress.grimm68.synology.me:32768 mais ça ne change rien au final, le site reste inaccessible. si je remplace 32768 par 8195, ça ne marche pas non plus..
ce port 32768 était utilisé lors d'un de mes premiers essais mais je ne vois pas où ce paramétrage pourrait encore trainer...
 
j'ai essayé de configurer le 444
Non pas le 444 ce n'est pas celui par défaut. C'est 443

Quand je vais sur https://wordpress.grimm68.synology.me, il me rajoute un port https://wordpress.grimm68.synology.me:32768 mais ça ne change rien au final, le site reste inaccessible. si je remplace 32768 par 8195, ça ne marche pas non plus..
ce port 32768 était utilisé lors d'un de mes premiers essais mais je ne vois pas où ce paramétrage pourrait encore trainer...
Là tu as un problème de configuration réseau sur ton Nas

1. As-tu (avant de déployer WP en docker) fait une conf sur WebStation pour mettre ce NDD dessus comme wordpress.grimm ...

2. Oui je vois sur ta capture d'écran de Web Station de ton poste #32 que tu as WP désactivé :confused::confused::confused: - il faut que tu supprimes cette conf car même si il est désactivé le NDD est toujours attribué à WebStation -

3. Sauf erreur de ma part, tu peux faire fonctionner WebStation en parallèle de Docker et attribuer des NDD à Web Station en direct via le 443 et attribuer d'autres NDD à tes Docker via le Proxy Inversé

4. Si c'est trop compliqué pour toi de faire sauter le WP de Web Station (qui doit être sous le même NDD) :unsure: c'est pour cela que ça coince ...
Tu peux créer un autre wildcard Syno type blog.grimme68.syno.me et le valider puis l'associer dans ton reverse proxy (443->8195)
NB N'oublie pas le WebSocket