Diplo95 Posté(e) le 22 décembre 2023 Posté(e) le 22 décembre 2023 (modifié) Bonjour j'ai un serveur joplin qui fonctionne parfaitement depuis des mois. J'essaie aujoud'hui de monter un serveur de notifications gotify en docker. Mais il semble qu'il y ait un conflit entre les deux, sans que j'arrive à comprendre où. Voici le docker-compose de joplin : version: '3' services: db: image: postgres:13.1 # Download latest postgres image container_name: postgres-db # Here you can give the container a name of your liking restart: unless-stopped # Restart if not stopped manually volumes: - /volume1/docker/joplin/joplin-data:/var/lib/postgresql/data # Make database files persistent. Otherwise your data is lost when the container is destroyed. environment: - APP_PORT=22300 # Specify port joplin-server is reachable at - POSTGRES_PASSWORD=****** # Specify database password - POSTGRES_USER=****** # Specify database user - POSTGRES_DB=joplin # Specify database name app: image: joplin/server:latest # Download joplin-server image 2.2.5 the latest at the time container_name: joplin-server labels: - com.centurylinklabs.watchtower.enable=true depends_on: - db ports: - "22300:22300" # Expose internal port to LAN restart: unless-stopped environment: - APP_BASE_URL=https://joplin.**********.fr # If you do not want to expose joplin-server to the internet use your LAN-IP and port - DB_CLIENT=pg - POSTGRES_PASSWORD=****** # Must be the same as above - POSTGRES_DATABASE=joplin # Must be the same as above - POSTGRES_USER=******* # Must be the same as above - POSTGRES_PORT=5432 # Postgres internal port - POSTGRES_HOST=db Voici le docker-compose du serveur gotify : version: "3" services: app: image: gotify/server container_name: gotify restart: unless-stopped ports: - 127.0.0.1:8764:80 environment: - TZ='Europe/Paris' - GOTIFY_DEFAULTUSER_NAME=admin - GOTIFY_DEFAULTUSER_PASS=admin - GOTIFY_PASSSTRENGTH=10 - GOTIFY_UPLOADEDIMAGESDIR=data/images - GOTIFY_PLUGINSDIR=data/plugins volumes: - ./data:/app/data Lorsque j'essaie de monter le conteneur gotify, voici le retour en ligne de commandes : root@DS220:/volume1/docker/gotify/script# docker-compose up -d [+] Running 5/5 ⠿ app Pulled 9.3s ⠿ 00d3338ddf14 Pull complete 3.5s ⠿ 557ea8465e9a Pull complete 4.6s ⠿ 3ecb6f16884e Pull complete 5.5s ⠿ 793754435704 Pull complete 6.6s WARN[0009] Found orphan containers ([sabnzbd sonarr radarr jellyfin postgres-db watchtower]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up. [+] Running 1/2 ⠿ Container joplin-server Recreated 39.9s ⠼ Container gotify Starting 6.4s Error response from daemon: driver failed programming external connectivity on endpoint gotify (a9b441ca577a1716274272aca0f4d30b8df97e992610938065568ad31b04d1fa): Error starting userland proxy: listen tcp4 127.0.0.1:8000: bind: address already in use root@DS220:/volume1/docker/gotify/script# Et donc je constate qu'il me recrée l'image joplin, et je ne sais pas pourquoi. Plus problématique : en fait, il le recrée, mais ça plante : je ne peux plus synchroniser avec les clients joplin. J'ai pensé à un problème de ports, alors j'ai cherché des conflits : root@DS220:/volume1/docker/gotify/script# netstat -tulpn | grep LISTEN tcp 0 0 0.0.0.0:662 0.0.0.0:* LISTEN 10076/statd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 9150/sshd: /usr/bin tcp 0 0 127.0.0.1:33304 0.0.0.0:* LISTEN 2004/synomibactiono tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 20407/postgres tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 15980/nginx: master tcp 0 0 0.0.0.0:892 0.0.0.0:* LISTEN 10052/mountd tcp 0 0 0.0.0.0:8989 0.0.0.0:* LISTEN 501/docker-proxy tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 13522/smbd tcp 0 0 0.0.0.0:8096 0.0.0.0:* LISTEN 419/jellyfin tcp 0 0 127.0.0.1:512 0.0.0.0:* LISTEN 29315/termd tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 29198/docker-proxy tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:161 0.0.0.0:* LISTEN 10516/snmpd tcp 0 0 0.0.0.0:9090 0.0.0.0:* LISTEN 3325/docker-proxy tcp 0 0 0.0.0.0:6690 0.0.0.0:* LISTEN 5194/syncd tcp 0 0 0.0.0.0:9091 0.0.0.0:* LISTEN 18872/transmission- tcp 0 0 0.0.0.0:10211 0.0.0.0:* LISTEN 26005/docker-proxy tcp 0 0 0.0.0.0:10212 0.0.0.0:* LISTEN 25963/docker-proxy tcp 0 0 0.0.0.0:7878 0.0.0.0:* LISTEN 32194/docker-proxy tcp 0 0 0.0.0.0:9000 0.0.0.0:* LISTEN 29171/docker-proxy tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN 15980/nginx: master tcp 0 0 0.0.0.0:5001 0.0.0.0:* LISTEN 15980/nginx: master tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 13522/smbd tcp 0 0 0.0.0.0:5357 0.0.0.0:* LISTEN 15980/nginx: master tcp 0 0 0.0.0.0:4045 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 7439/rpcbind tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 3351/docker-proxy tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 15980/nginx: master tcp 0 0 0.0.0.0:10002 0.0.0.0:* LISTEN 15980/nginx: master tcp 0 0 127.0.0.1:915 0.0.0.0:* LISTEN 23389/httpd24 tcp 0 0 0.0.0.0:51413 0.0.0.0:* LISTEN 18872/transmission- tcp6 0 0 :::662 :::* LISTEN 10076/statd tcp6 0 0 :::22 :::* LISTEN 9150/sshd: /usr/bin tcp6 0 0 :::3001 :::* LISTEN 23745/AdGuardHome tcp6 0 0 :::443 :::* LISTEN 15980/nginx: master tcp6 0 0 :::892 :::* LISTEN 10052/mountd tcp6 0 0 :::8989 :::* LISTEN 506/docker-proxy tcp6 0 0 :::3261 :::* LISTEN - tcp6 0 0 :::445 :::* LISTEN 13522/smbd tcp6 0 0 :::3263 :::* LISTEN - tcp6 0 0 :::8000 :::* LISTEN 29203/docker-proxy tcp6 0 0 :::3264 :::* LISTEN - tcp6 0 0 :::3265 :::* LISTEN 5859/scsi_plugin_se tcp6 0 0 :::2049 :::* LISTEN - tcp6 0 0 :::9090 :::* LISTEN 3331/docker-proxy tcp6 0 0 :::6690 :::* LISTEN 5194/syncd tcp6 0 0 :::10211 :::* LISTEN 26020/docker-proxy tcp6 0 0 :::10212 :::* LISTEN 25969/docker-proxy tcp6 0 0 :::7878 :::* LISTEN 32200/docker-proxy tcp6 0 0 :::9000 :::* LISTEN 29177/docker-proxy tcp6 0 0 :::5000 :::* LISTEN 15980/nginx: master tcp6 0 0 :::5001 :::* LISTEN 15980/nginx: master tcp6 0 0 :::139 :::* LISTEN 13522/smbd tcp6 0 0 :::5005 :::* LISTEN 17507/httpd tcp6 0 0 :::5357 :::* LISTEN 15980/nginx: master tcp6 0 0 :::4045 :::* LISTEN - tcp6 0 0 :::5006 :::* LISTEN 17507/httpd tcp6 0 0 :::111 :::* LISTEN 7439/rpcbind tcp6 0 0 :::8080 :::* LISTEN 3360/docker-proxy tcp6 0 0 :::80 :::* LISTEN 15980/nginx: master tcp6 0 0 :::10002 :::* LISTEN 15980/nginx: master tcp6 0 0 :::51413 :::* LISTEN 18872/transmission- tcp6 0 0 :::53 :::* LISTEN 23745/AdGuardHome root@DS220:/volume1/docker/gotify/script# Mais il n'y a rien qui me saute aux yeux. Une petite idée ? Merci Modifié le 23 décembre 2023 par Diplo95 0 Citer
.Shad. Posté(e) le 23 décembre 2023 Posté(e) le 23 décembre 2023 Salut @Diplo95 quelques remarques : APP_PORT devrait être dans le service app et pas db à mon avis, je ne vois pas ce que la DB ferait de cette info. Je ne comprends pas, tu lances un seul docker compose up et ça te crée les deux conteneurs joplin et gotify qui sont sensés être dans des fichiers compose séparés si j'en crois ce que tu écris. Quelque chose cloche. Tu as des avertissements sur des app résiduelles dans ta stack, il pourrait être bon de suivre le conseil renvoyé dans le warning. Tu n'exposes Gotify que sur le localhost du NAS, donc tous les conteneurs qui ne sont pas en mode host ne pourront pas le joindre, je ne sais pas si c'est voulu...? ça perd beaucoup de son intérêt selon moi. Le port 8000 je ne sais pas d'où il sort. 0 Citer
Diplo95 Posté(e) le 23 décembre 2023 Auteur Posté(e) le 23 décembre 2023 Bonjour @.Shad., merci de te pencher sur mon problème. APP_PORT : je prends ta remarque, mais j'avoue que je trouve Docker très pratique, mais que je n'ai encore tout compris des rouages du fonctionnement. Donc Joplin fonctionnant parfaitement, pour l'instant je ne creuse pas plus loin, je ne suis pas assez calé en réseau pour être sûr de ne pas répondre une bêtise, j'essaie quand même : je pensais rendre joignable gotify par l'intermédiaire de mon proxy inverse. J'imagine alors que n'importe quelle appli qui souhaite ensuite push des notifications fera appel à ce service par une requête qui passera par le wan. Si c'est le cas, effectivement, ça peut être plus intéressant de ne pas faire sortir ces messages de mon réseau local. J'ai cependant résolu mon problème. Il était dû à ces warnings concernant les containers orphelins. J'ai fait une rapide recherche et découvert que docker compose utilise le nom du dossier dans lequel le docker-compose.yml est situé ici. Ainsi, si on met tous ses docker-compose.yml dans des dossiers qui portent le même nom, docker-compose trouve alors différents projets qui portent le même nom. J'ai résolu en utilisant cette méthode : https://stackoverflow.com/questions/50947938/docker-compose-orphan-containers-warning Dans mon dossier script, j'ai crée un fichier .env dans lequel j'ai inséré une variable d'environnement : COMPOSE_PROJECT_NAME=myproject Et j'ai maintenant un container qui se construit sans intérférer avec le container joplin et une appli qui tourne. Ne me reste plus qu'à me pencher sur la config réseau de mon appli. 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.