OMV7 Probleme de démarrage sync-in

j'ai fait du docker via le terminal,
Tu l'as installé de cette façon (importation du dossier) - c'est comme cela que je l'avais testé l'été dernier - mais je n'ai eu aucun souci à l'époque (?)

c'est simplement que onlyoffice n'est pas configuré dans swag
Perso je n'ai fait aucune conf dans le Proxy Inversé.

Sur le tuto de @Titux Il propose une config spé sur NPM - connais pas SWAG - sans doute une manip similaire à opérer

Il propose une config spé sur NPM - connais pas SWAG - sans doute une manip similaire à opérer

je ne sais pas l'adapter à ma configuration avec swag : https://sync-in.com/fr/docs/setup-guide/proxy
Perso je pense que ton problème viens plutôt de là (fin de la page du lien) :

Extrait :
"Le serveur OnlyOffice doit être accessible depuis le serveur Sync-in et depuis le navigateur (nom de domaine ou adresse IP).
Configurer la directive externalServer dans environment.yaml : ... "

Si tu n'as pas d'interface graphique vérifie le en commande sur le terminal - si tu as une interface graphique via un éditeur de texte - ci après un modèle (pour la console Casa, sans option) :

Code:
# Le secret onlyoffice, le passe mysql doivent être les mêmes que ceux inscrits sur votre console de configugation docker ZimaOS. Adaptez le ndd OnlyOffice
server:
  trustProxy: true
  host: 0.0.0.0
mysql:
  url: mysql://root:Zima1234@mariadb:3306/sync_in
auth:
  token:
    access:
      secret: FakLBDZRCyFHuKiUgRlfpvywfZJoktgYMmXJRiPpWzAUkKedXSfkPUkzSVwxbRKy #64 Clé secrète
    refresh:
      secret: TdKbroKiJYsFWRyFPbvjipVVJwUmIUVtKlegqBriuxWxafazMqCphkzWhMEvohej #64 Clé secrète
applications:
  files:
    dataPath: /app/data
    onlyoffice:
      enabled: true
      externalServer: https://office.ndd.fr #Votre adresse de proxy inverse OnlyOffice
      secret: QLfLcQFBLzvdMVThVgPTkkeQBwiKrDmPIbCLsoJlIVQBDsHcZrUrgaYYHgcZImuE #votre OnlyOffice JWT_SECRET
 
Hello,

EACCES: permission denied
Cela ne provient pas de swag mais d'un problème de droits, le message est très clair only veut crée un dossier mais il se voit refuser acces.
Le problème est surement dans la configuration, soit au niveau docker, soit au niveau des droits sur le dossier au niveau omv.
Après oui il faudra peut etre adapter le code nginx, mais il faut d'abord resoudre le problème de droits.
 
Hello,


Cela ne provient pas de swag mais d'un problème de droits, le message est très clair only veut crée un dossier mais il se voit refuser acces.
Le problème est surement dans la configuration, soit au niveau docker, soit au niveau des droits sur le dossier au niveau omv.
Après oui il faudra peut etre adapter le code nginx, mais il faut d'abord resoudre le problème de droits.
Merci pour ce commentaire, j'ai pu effectivement voir quelque chose : je n'avais pas défini de volume pour onlyoffice. Donc maintenant c'est fait, je l'ai mis dans mon répertoire /compose/Appdata/onlyoffice. Donc là il m'a bien créé 5 ou 6 sous dossiers, dont le dossier logs mais j'ai toujours cette erreur :
Code:
EACCES: permission denied, mkdir '/var/www/onlyoffice/documentserver/.cache/pkg/282c93e4113a05841f827943c9f6cd6d4188bfda819ab562b27b278d2fcebfda'
Message automatiquement fusionné :

Tu l'as installé de cette façon (importation du dossier) - c'est comme cela que je l'avais testé l'été dernier - mais je n'ai eu aucun souci à l'époque (?)


Perso je n'ai fait aucune conf dans le Proxy Inversé.

Sur le tuto de @Titux Il propose une config spé sur NPM - connais pas SWAG - sans doute une manip similaire à opérer

Il propose une config spé sur NPM - connais pas SWAG - sans doute une manip similaire à opérer


Perso je pense que ton problème viens plutôt de là (fin de la page du lien) :

Extrait :
"Le serveur OnlyOffice doit être accessible depuis le serveur Sync-in et depuis le navigateur (nom de domaine ou adresse IP).
Configurer la directive externalServer dans environment.yaml : ... "

Si tu n'as pas d'interface graphique vérifie le en commande sur le terminal - si tu as une interface graphique via un éditeur de texte - ci après un modèle (pour la console Casa, sans option) :
mon environment.yaml ressemble à ça (j'ai évidemment caché les 3 secrets :
Code:
mysql:
  url: mysql://user:motdepasse@mariadb:3306/sync_in
auth:
  encryptionKey: secret0
  token:
    access:
      secret: secret1
    refresh:
      secret: secret2
applications:
  files:
    dataPath: /Coruscant2/Cloud/data:/app/data
    collabora:
      enabled: false
    onlyoffice:
      enabled: true
      secret: secret3
Donc pour le moment je n'ai pas mis onlyoffice sur un nom de domaine... Ce serait ça le problème ?
 
Il doit y avoir un truc tout bête que je n'ai pas configuré, il doit y avoir un truc en lien avec swag (vu que je ne veux pas me servir du nginx fourni dans la configuration de sync-in et d'une manière ou d'une autre je dois certainement passer à côté d'un truc important... C'est le défaut quand on veut faire quelque chose en se hissant sur les épaules de génies... J'avoue avoir du mal à comprendre la logique docker, donc je tâtonne... J'ai bien réussi à faire tout le reste sur mon serveur (jellyfin, kavita, swag, authelia, immich, nextcloud...), je vais finir par y arriver... En tout cas merci à tous pour le temps passé à m'aider (on ne le dit jamais assez souvent sur les forum)
 
Il doit y avoir un truc tout bête que je n'ai pas configuré,
Quand j'ai testé cette app l'été dernier, (sur mon Debian/Casa) je l'avais déployée en ligne de commande (import du dossier) - et cela fonctionnait sans que je me pose de question ... mais je n'ai pas retesté via cette méthode depuis les dernières mise à jour de Sync-In

Quand j'ai voulu l'adapter avec un compose (pour ZimaOS) en octobre dernier, 2 points m'ont interrogé dans la configuration avec OnlyOffice :
1. Chacuns des 2 containers doivent être sur un NDD : sync.ndd.fr + only.ndd.fr -> (si exposé sur internet)
2. La "liaison" se fait par le YAML .env - c'est à ce niveau que j'ai rencontré une difficulté sur une de mes machines (au niveau du chemin) - regarde ton compose.yaml et vérifie les correspondances - (pas sûr qu'il faille mettre le chemin complet sur .env -> dataPatch: /app/data)

D'après moi, (je ne suis pas expert en Docker), le problème d'autorisation vient peut être, de l'un de ces 2 points (ou les 2).
 
  • J'aime
Réactions: Titux
Hello,

Poste ton compose docker complet ainsi que ton environment.yaml complet sans les secrets pour les deux. Parce que là pour d'aider c'est difficile sans rien.
 
  • J'aime
Réactions: Titux
Quand j'ai voulu l'adapter avec un compose (pour ZimaOS) en octobre dernier, 2 points m'ont interrogé dans la configuration avec OnlyOffice :
1. Chacuns des 2 containers doivent être sur un NDD : sync.ndd.fr + only.ndd.fr -> (si exposé sur internet)
2. La "liaison" se fait par le YAML .env - c'est à ce niveau que j'ai rencontré une difficulté sur une de mes machines (au niveau du chemin) - regarde ton compose.yaml et vérifie les correspondances - (pas sûr qu'il faille mettre le chemin complet sur .env -> dataPatch: /app/data)
Je suis d'accord avec cela, sans l'exposition des deux à l'extérieur, je n'avais pas réussi à le faire fonctionner.
Et comme dit PackTu avec le compose complet, on pourra comparer et aiguiller vers la solution.

Pour le reverse proxy, la doc est là : https://sync-in.com/fr/docs/setup-guide/proxy
 
ok onlyoffice n'étant pas exposé sur internet ça doit venir de là... mais comme sur cette page : https://sync-in.com/fr/docs/setup-guide/proxy il y est fait la distinction entre un mode proxifié et un mode externe, j'ai cru bêtement que je n'aurais pas besoin de faire un ndd onlyoffice.mondomaine.com. Bon pour info tout de même mes 3 yaml :
YAML:
include:
#  - ./config/nginx/docker-compose.nginx.yaml
  - ./config/onlyoffice/docker-compose.onlyoffice.yaml
#  - ./config/collabora/docker-compose.collabora.yaml
#  - ./config/sync-in-desktop-releases/docker-compose.sync-in-desktop-releases.yaml

name: sync-in
services:
  sync_in:
    image: syncin/server:2
    container_name: sync-in
    restart: always
    environment:
      - INIT_ADMIN
      - INIT_ADMIN_PASSWORD
      - INIT_ADMIN_LOGIN
      - PUID=${PUID:-8888}
      - PGID=${PGID:-8888}
    ports:
      - "8082:8080"
    volumes:
      - ./environment.yaml:/app/environment/environment.yaml
      - /Coruscant2/Cloud/data:/app/data
      - desktop_releases:/app/static/releases:ro
    depends_on:
      - mariadb
    logging:
      driver: json-file
      options:
        max-size: "25m"
        max-file: "5"
    networks:
      - nextcloud

  mariadb:
    image: mariadb:11
    container_name: mariadb
    restart: always
    command: --innodb_ft_cache_size=16000000 --max-allowed-packet=1G
    environment:
      MYSQL_ROOT_PASSWORD: "!motdepasse"
      MYSQL_DATABASE: sync_in
    volumes:
      - mariadb_data:/var/lib/mysql
    networks:
      - nextcloud

networks:
  nextcloud:
    external: true
    name: nextcloud


volumes:
  data:
  mariadb_data:
  desktop_releases:

YAML:
mysql:
  url: mysql://moi:!motdepasse@mariadb:3306/sync_in
auth:
  encryptionKey: secret0
  token:
    access:
      secret: secret1
    refresh:
      secret: secret2
applications:
  files:
    dataPath: /Coruscant2/Cloud/data:/app/data
    collabora:
      enabled: false
    onlyoffice:
      enabled: true
      secret: secret3
YAML:
services:
  onlyoffice:
    image: onlyoffice/documentserver:9.2
    container_name: onlyoffice
    restart: always
    environment:
      - JWT_SECRET=secret3
      - JWT_IN_BODY=true
      - USE_UNAUTHORIZED_STORAGE=true
    logging:
      driver: json-file
      options:
        max-size: "25m"
        max-file: "5"
    networks:
      - nextcloud
    volumes:
      - /compose/AppData/Config/onlyoffice/logs:/var/log/onlyoffice:rw
      - /compose/AppData/Config/onlyoffice/data:/var/www/onlyoffice/Data:rw
      - /compose/AppData/Config/onlyoffice/redis:/var/lib/redis:rw
      - /compose/AppData/Config/onlyoffice/rabbitmq:/var/lib/rabbitmq:rw
      - /compose/AppData/Config/onlyoffice/lib:/var/lib/onlyoffice:rw
      - /compose/AppData/Config/onlyoffice/fonts:/usr/share/fonts/truetype/custom:rw
      - /compose/AppData/Config/onlyoffice/database:/var/lib/postgresql:rw

networks:
  nextcloud:
    external: true
    name: nextcloud
 
J'avoue ne pas trop comprendre les chemins de tes emplacements et tes sous dossiers
/compose/AppData/Config/onlyoffice
/Coruscant2/Cloud/
./environment.yaml

Si tu l'a déployé en ligne de commande tout est dans un dossier et pareil si tu opères via une console Docker (import d'un YAML) ou Portainer

1772396527747.png

C'est bien celui-ci ? https://github.com/Sync-in/server/tree/main/docker
 
Dernière édition:
hello,

Alors ma proposition, faire reset complet tout supprimer, pour partir sur une base saine, avec ta stack et tes valeurs, j'ai fait une stack unifiée, avec les petites corrections nécessaires :
Vérifier les droits sur ces dossiers dans omv : /Coruscant2/Cloud/data, pareil pour les dossiers /compose/AppData/Config/onlyoffice/

YAML:
version: "3.9"

name: sync-in

services:
  sync_in:
    image: syncin/server:2
    container_name: sync-in
    restart: always
    environment:
      # Admin initial (facultatif, sinon login/mdp par défaut "sync-in")
      INIT_ADMIN: "admin"
      INIT_ADMIN_LOGIN: "admin"
      INIT_ADMIN_PASSWORD: "ChangeMe123!"
      # UID/GID de l'utilisateur hôte qui possède les fichiers
      PUID: "${PUID:-8888}"
      PGID: "${PGID:-8888}"
    ports:
      - "8082:8080"
    volumes:
      # Fichier de configuration Sync-in
      - ./environment.yaml:/app/environment/environment.yaml:ro
      # Données (fichiers) Sync-in
      - /Coruscant2/Cloud/data:/app/data
      # Releases desktop (en lecture seule)
      - desktop_releases:/app/static/releases:ro
    depends_on:
      - mariadb
    logging:
      driver: json-file
      options:
        max-size: "25m"
        max-file: "5"
    networks:
      - nextcloud

  mariadb:
    image: mariadb:11
    container_name: mariadb
    restart: always
    command: --innodb_ft_cache_size=16000000 --max-allowed-packet=1G
    environment:
      MYSQL_ROOT_PASSWORD: "root_password"
      MYSQL_DATABASE: "sync_in"
      MYSQL_USER: "syncin"
      MYSQL_PASSWORD: "syncin_password"
    volumes:
      - mariadb_data:/var/lib/mysql
    networks:
      - nextcloud

  onlyoffice:
    image: onlyoffice/documentserver:9.2
    container_name: onlyoffice
    restart: always
    environment:
      - JWT_SECRET=secret3
      - JWT_IN_BODY=true
      - USE_UNAUTHORIZED_STORAGE=true
    logging:
      driver: json-file
      options:
        max-size: "25m"
        max-file: "5"
    networks:
      - nextcloud
    volumes:
      - /compose/AppData/Config/onlyoffice/logs:/var/log/onlyoffice:rw
      - /compose/AppData/Config/onlyoffice/data:/var/www/onlyoffice/Data:rw
      - /compose/AppData/Config/onlyoffice/redis:/var/lib/redis:rw
      - /compose/AppData/Config/onlyoffice/rabbitmq:/var/lib/rabbitmq:rw
      - /compose/AppData/Config/onlyoffice/lib:/var/lib/onlyoffice:rw
      - /compose/AppData/Config/onlyoffice/fonts:/usr/share/fonts/truetype/custom:rw
      - /compose/AppData/Config/onlyoffice/database:/var/lib/postgresql:rw

networks:
  nextcloud:
    external: true
    name: nextcloud

volumes:
  mariadb_data:
  desktop_releases:

environment.yaml proposé :

YAML:
server: 
  host: 0.0.0.0
  port: 8080
  trustProxy: 0

mysql:
  url: mysql://syncin:syncin_password@mariadb:3306/sync_in #meme user, mot de passe que dans le conteneur

auth:
  encryptionKey: secret0
  token:
    access:
      secret: secret1
    refresh:
      secret: secret2

applications:
  files:
    # Doit être un chemin dans le conteneur
    dataPath: /app/data
    collabora:
      enabled: false
    onlyoffice:
      enabled: true
      secret: secret3


Voilà avec cela, il faut déployer et regarder les logs, si pas erreur comme syncin et only fonctionne en local alors l'integration only devrait fonctionner à essayer.
Après pour l'intégration dans swag, il faut voir avec ceux qui l'utilisent.
Conseil : Mettre tous les binds volume au même endroit.

Je suis d'accord avec cela, sans l'exposition des deux à l'extérieur, je n'avais pas réussi à le faire fonctionner.

Je vais ajouter dans le post du tuto, la façon dont j'ai procédé pour n'avoir qu'un host de publié.
 
Dernière édition:
  • J'aime
Réactions: Titux et morgyann
Bonjour, bon j'ai essayé avec ton compose, j'ai vérifié les permissions sur les dossiers concernés mais toujours la même erreur EACCES /var/www/onlyoffice/documentserver/.cache/pkg/282c93e4113a05841f827943c9f6cd6d4188bfda819ab562b27b278d2fcebfda...

Donc la question que je me pose : quand il veut créer ce dossier c'est dans le docker (genre virtuel) ou il veut vraiment créer un dossier dans mon serveur (et dans ce cas je trouve ça assez bizarre puisque c'est le seul qui me demande d'accéder à ce dossier (/var/www...) et sinon j'ai essayé avec collabora que j'avais déjà déployé avec nextcloud du coup en serveur externe et là ça marche (enfin presque il me met une erreur avec les entêtes xframe, bon rien de méchant ça je sais où ça se paramètre... Donc je pense au final que je vais déployer onlyoffice tout seul et le faire avec lien externe...
 
Hello,

Est-ce que le conteneur only office, plante ou redémarre en boucle, sinon essaie de voir si intégration fonctionne, car ça ne peut être que du bruit, sinon il faudrait poster le log complet après un redémarrage.
 
Hello,

Est-ce que le conteneur only office, plante ou redémarre en boucle, sinon essaie de voir si intégration fonctionne, car ça ne peut être que du bruit, sinon il faudrait poster le log complet après un redémarrage.
Alors j'ai mis onlyoffice en restart : unless-stopped, donc si c'était bloqué, ça serait arrêté... Là il apparait en running, et l'anomalie n'est même pas une erreur, j'ai quelques warnings mais rien de grave. Pour info les logs

Code:
find: ‘/var/www/onlyoffice/Data/certs’: No such file or directory
 * Starting PostgreSQL 16 database server
   ...done.
 * Starting RabbitMQ Messaging Server rabbitmq-server
   ...done.
Connection to localhost (::1) 5432 port [tcp/postgresql] succeeded!
Connection to localhost (::1) 5672 port [tcp/amqp] succeeded!
Installing plugins, please wait...Done
Unlinking stale socket /var/run/supervisor.sock
Starting supervisor: supervisord.
 * Starting periodic command scheduler cron
   ...done.
 * Starting nginx nginx
   ...done.
Generating AllFonts.js, please wait...Done
Generating presentation themes, please wait...Done
Generating js caches, please wait...Done
ds:docservice: stopped
ds:docservice: started
ds:converter: stopped
ds:converter: started
 * Reloading nginx configuration nginx
   ...done.
 * Reloading nginx configuration nginx
   ...done.

==> /var/log/onlyoffice/documentserver/adminpanel/out.log <==

==> /var/log/onlyoffice/documentserver/adminpanel/err.log <==

==> /var/log/onlyoffice/documentserver/converter/out.log <==
[2026-03-04T10:38:45.651] [WARN] [localhost] [docId] [userId] nodeJS - num of CPUs: 12; availableParallelism: 12
[2026-03-04T10:38:45.653] [WARN] [localhost] [docId] [userId] nodeJS - update cluster with 1 workers
[2026-03-04T10:38:45.658] [WARN] [localhost] [docId] [userId] nodeJS - worker 988 started.
[2026-03-04T10:38:45.659] [WARN] [localhost] [docId] [userId] nodeJS - num of CPUs: 12; availableParallelism: 12
[2026-03-04T10:38:45.659] [WARN] [localhost] [docId] [userId] nodeJS - update cluster with 1 workers
[2026-03-04T10:39:06.885] [WARN] [localhost] [docId] [userId] nodeJS - num of CPUs: 12; availableParallelism: 12
[2026-03-04T10:39:06.887] [WARN] [localhost] [docId] [userId] nodeJS - update cluster with 1 workers
[2026-03-04T10:39:06.892] [WARN] [localhost] [docId] [userId] nodeJS - worker 1216 started.
[2026-03-04T10:39:06.893] [WARN] [localhost] [docId] [userId] nodeJS - num of CPUs: 12; availableParallelism: 12
[2026-03-04T10:39:06.893] [WARN] [localhost] [docId] [userId] nodeJS - update cluster with 1 workers

==> /var/log/onlyoffice/documentserver/converter/err.log <==

==> /var/log/onlyoffice/documentserver/docservice/out.log <==
EACCES: permission denied, mkdir '/var/www/onlyoffice/documentserver/.cache/pkg/282c93e4113a05841f827943c9f6cd6d4188bfda819ab562b27b278d2fcebfda'

Possible solutions:
- Install with verbose logging and look for errors: "npm install --ignore-scripts=false --foreground-scripts --verbose sharp"
- Install for the current linux-x64 runtime: "npm install --platform=linux --arch=x64 sharp"
- Consult the installation documentation: https://sharp.pixelplumbing.com/install
[2026-03-04T10:39:05.375] [WARN] [localhost] [docId] [userId] nodeJS - Express server starting...
[2026-03-04T10:39:05.384] [WARN] [localhost] [docId] [userId] nodeJS - notifyLicenseExpiration(): expiration date is not defined
[2026-03-04T10:39:05.385] [WARN] [localhost] [docId] [userId] nodeJS - notifyLicenseExpiration(): expiration date is not defined
[2026-03-04T10:39:05.491] [WARN] [localhost] [docId] [userId] nodeJS - Express server listening on port 8000 in production-linux mode. Version: 9.2.1. Build: 8

==> /var/log/onlyoffice/documentserver/docservice/err.log <==

==> /var/log/onlyoffice/documentserver/metrics/out.log <==

==> /var/log/onlyoffice/documentserver/metrics/err.log <==

==> /var/log/onlyoffice/documentserver/nginx.error.log <==

==> /var/log/onlyoffice/documentserver-example/out.log <==

==> /var/log/onlyoffice/documentserver-example/err.log <==
 
non ça bloque, j'essaie d'adapter la configuration dans swag. J'ai essayé d'adapter les proxy-confs du nginx de swag pour onlyoffice et pour sync-in... Je pense que ça se joue là...
YAML:
## Version 2025/07/18
# make sure that your onlyoffice documentserver container is named documentserver
# make sure that your dns has a cname set for documentserver

server {
    listen 443 ssl;
#    listen 443 quic;
    listen [::]:443 ssl;
#    listen [::]:443 quic;

    server_name collabora.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    # enable for ldap auth (requires ldap-location.conf in the location block)
    #include /config/nginx/ldap-server.conf;

    # enable for Authelia (requires authelia-location.conf in the location block)
    #include /config/nginx/authelia-server.conf;

    # enable for Authentik (requires authentik-location.conf in the location block)
    #include /config/nginx/authentik-server.conf;

    # enable for Tinyauth (requires tinyauth-location.conf in the location block)
    #include /config/nginx/tinyauth-server.conf;

    location / {
        # enable the next two lines for http auth
        #auth_basic "Restricted";
        #auth_basic_user_file /config/nginx/.htpasswd;

        # enable for ldap auth (requires ldap-server.conf in the server block)
        #include /config/nginx/ldap-location.conf;

        # enable for Authelia (requires authelia-server.conf in the server block)
        #include /config/nginx/authelia-location.conf;

        # enable for Authentik (requires authentik-server.conf in the server block)
        #include /config/nginx/authentik-location.conf;

        # enable for Tinyauth (requires tinyauth-server.conf in the server block)
        #include /config/nginx/tinyauth-location.conf;

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

        # Hide proxy response headers from Nextcloud that conflict with ssl.conf
        # Uncomment the Optional additional headers in SWAG's ssl.conf to pass Nextcloud's security scan
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $host/onlyoffice;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_no_cache 1;
        proxy_cache_bypass 1;


    }
}

YAML:
## Version 2024/07/16
# make sure that your nextcloud container is named nextcloud
# make sure that your dns has a cname set for nextcloud
# assuming this container is called "swag", edit your nextcloud container's config
# located at /config/www/nextcloud/config/config.php and add the following lines before the ");":
#  'trusted_proxies' => [gethostbyname('swag')],
#  'overwrite.cli.url' => 'https://nextcloud.example.com/',
#  'overwritehost' => 'nextcloud.example.com',
#  'overwriteprotocol' => 'https',
#
# Also don't forget to add your domain name to the trusted domains array. It should look somewhat like this:
#  array (
#    0 => '192.168.0.1:444', # This line may look different on your setup, don't modify it.
#    1 => 'nextcloud.example.com',
#  ),

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

    server_name nextcloud.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    location / {
        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app sync-in;
        set $upstream_port 8080;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

        # Hide proxy response headers from Nextcloud that conflict with ssl.conf
        # Uncomment the Optional additional headers in SWAG's ssl.conf to pass Nextcloud's security scan
        proxy_hide_header Referrer-Policy;
        proxy_hide_header X-Content-Type-Options;
        proxy_hide_header X-Frame-Options;
        proxy_hide_header X-XSS-Protection;

        # Disable proxy buffering
        proxy_buffering off;
    }
}
 
Bonjour,
Bon je poste là la solution au cas où quelqu'un se retrouverait dans la même situation, il s'agit simplement de changer les proxy-confs de swag : donc côté sync-in, il faut mettre ça :
YAML:
## Version 2024/07/16
server {
    listen 80;
    listen [::]:80;
    server_name syncin.*;
    
    location /api/app/spaces/onlyoffice/ {
        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app sync-in;
        set $upstream_port 8080;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;
    }
    
    location / {
        return 301 https://$host$request_uri;
    }
}
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name syncin.*;
    include /config/nginx/ssl.conf;
    client_max_body_size 0;
    include /config/nginx/authelia-server.conf;
    location / {
        include /config/nginx/authelia-location.conf;
        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app sync-in;
        set $upstream_port 8080;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;
        # Headers conflictuels avec ssl.conf
        proxy_hide_header Referrer-Policy;
        proxy_hide_header X-Content-Type-Options;
        proxy_hide_header X-Frame-Options;
        proxy_hide_header X-XSS-Protection;
        proxy_hide_header Content-Security-Policy;
        # Autoriser OnlyOffice en iframe
        add_header Content-Security-Policy "frame-ancestors 'self' https://onlyoffice.mydomain.com;" always;
        # Désactiver le buffering
        proxy_buffering off;
    }
}
et côté onlyoffice
YAML:
server {
    listen 443 ssl;
#    listen 443 quic;
    listen [::]:443 ssl;
#    listen [::]:443 quic;

    server_name onlyoffice.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    more_set_headers "X-Frame-Options: ALLOWALL";

  

    location / {
        

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

        
          proxy_hide_header X-Frame-Options;
        


    }
}