• Archive
  • [Discussion] Nextcloud version docker

Bonjour,

J'aimerais savoir s'il est possible et envisageable d'installer Collaboraonline ou une autre solution pour lire/ouvrir directement depuis nextcloud les fichiers type excel/word/powerpoint ? Je précise que je n'ai pas docker, donc le tuto indiqué ci-dessous n'est peut être pas utilisable ? A vous de me dire

https://nextcloud.com/collaboraonline/

Merci d'avance
    22 jours plus tard

    NOnoS

    Bonjour,

    regarde sur le site officielle de nextcloud, cette discussion qui parle effectivement d'utiliser collabora sans docker...

    Pour faire la manip, il faut quand même utiliser docker pour extraire l'application et les fichiers de conf.

    https://help.nextcloud.com/t/tutorial-collabora-without-using-docker/2546

    A voir si cela peut t'aider... Mais l'utilisation de docker pour cette application est vraiment simple surtout pour les mises à jours..

    a+

    Okey merci pour ton retour. Je n'avais pas trouvé ce topic. Si c'est trop compliqué, je peux toujours installer docker et faire cohabiter avec Nextcloud/Seafile.
    Seulement, je ne sais pas bien comment ça marche quand Collabora est en docker et pas le logiciel qui l'utilise..

      NOnoS

      je ne comprends pas ta question....

      si tu te veux savoir comment fonctionne nextcloud en "fixe" hors docker vers collabora docker, je pourrais t'aider car c'est ma configuration actuellement sur mon dédie perso...

        palouf34

        Oui je suis dans le même cas que toi. Et je ne sais pas comment faire la liaison.

          NOnoS

          le lien se fait lors du lancement du docker et dans la conf nginx....
          je suis pas chez moi actuellement... je vois cela se soir pour te transmettre ma conf...

          NOnoS

          Bonjour,

          Voici ma configuration pour faire fonctionné Nextcloud avec collabora.

          j’espére que cela t'aidera.

          pour le docker collabora

          docker run --name=collabora -t -d --restart=always -p 9980:9980 -e "domain=tld.domain.fr" --cap-add MKNOD collabora/code

          Fichier conf.d/proxy.conf

           proxy_redirect          off;
           proxy_set_header        Host            $host;
           proxy_set_header        X-Real-IP       $remote_addr;
           proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
           client_max_body_size    10m;
           client_body_buffer_size 128k;
           client_header_buffer_size 64k;
           proxy_connect_timeout   90;
           proxy_send_timeout      90;
           proxy_read_timeout      90;
           proxy_buffer_size   128k;
           proxy_buffers       32   256k; `

          Fichier rutorrent.conf section nextcloud

          ## début config nextcloud ##
                  location ^~ /nextcloud {
                      root /var/www;
                      include /etc/nginx/conf.d/php.conf;
                      include /etc/nginx/conf.d/cache.conf;
          
                      location ~ /\.svn {
                              deny all;
                      }
          
                      location ~ /\.ht {
                              deny all;
                      }
                  }
          
                  location ^~ /nextcloud/conf/ {
                          deny all;
                  }
          
                  location ^~ /nextcloud/share/ {
                          deny all;
                  }
          
                  ## fin config nextcloud ##

          Fichier nextcloud.conf

           server {
              listen 80;
              server_name tld.domain.fr;
              # enforce https
              return 301 https://$server_name$request_uri;
          }
          
          server {
              listen 443 ssl;
              server_name tld.domain.fr;
          
          
              ssl_certificate /etc/letsencrypt/live/tld.domain.fr/fullchain.pem;
              ssl_certificate_key /etc/letsencrypt/live/tld.domain.fr/privkey.pem;
          
              # Add headers to serve security related headers
              # Before enabling Strict-Transport-Security headers please read into this topic first.
              add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload;";
              add_header X-Content-Type-Options nosniff;
              add_header X-Frame-Options "SAMEORIGIN";
              add_header X-XSS-Protection "1; mode=block";
              add_header X-Robots-Tag none;
              add_header X-Download-Options noopen;
              add_header X-Permitted-Cross-Domain-Policies none;
          
              #LOGS
              access_log /var/log/nginx/nextcloud-access.log combined;
              error_log /var/log/nginx/nextcloud-error.log error;
          
              # Path to the root of your installation
              root /var/www/nextcloud/;
          
              location = /robots.txt {
                  allow all;
                  log_not_found off;
                  access_log off;
              }
              #rewrite url pour la synchronisation caldav/webdav.
          	rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
          	rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
          	rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;
          
              #location /.well-known/acme-challenge { }
          
              # set max upload size
              client_max_body_size 3G;
              fastcgi_buffers 64 4K;
          
              # Disable gzip to avoid the removal of the ETag header
              gzip off;
          
              # Uncomment if your server is build with the ngx_pagespeed module
              # This module is currently not supported.
              # pagespeed off;
          
              error_page 403 /core/templates/403.php;
              error_page 404 /core/templates/404.php;
          
              location / {
                  rewrite ^ /index.php$uri;
              }
          
              location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
                  return 404;
              }
              location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
                  return 404;
              }
          
              location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
                  fastcgi_split_path_info ^(.+\.php)(/.*)$;
                  include fastcgi_params;
                  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                  fastcgi_param PATH_INFO $fastcgi_path_info;
                  fastcgi_param HTTPS on;
                  fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice
                  fastcgi_param front_controller_active true;
                  fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
                  fastcgi_intercept_errors on;
                  fastcgi_request_buffering off;
          	#fastcgi_cache phpcache;
          	#fastcgi_cache_valid 200 301 302 60m;
          	#add_header X-FastCGI-Cache $upstream_cache_status;
              }
          
              location ~ ^/(?:updater|ocs-provider)(?:$|/) {
                  try_files $uri/ =404;
                  index index.php;
              }
          
              # Adding the cache control header for js and css files
              # Make sure it is BELOW the PHP block
              location ~* \.(?:css|js)$ {
                  try_files $uri /index.php$uri$is_args$args;
                  add_header Cache-Control "public, max-age=7200";
                  # Add headers to serve security related headers (It is intended to have those duplicated to the ones above)
                  # Before enabling Strict-Transport-Security headers please read into this topic first.
                  # add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
                  add_header X-Content-Type-Options nosniff;
                  add_header X-Frame-Options "SAMEORIGIN";
                  add_header X-XSS-Protection "1; mode=block";
                  add_header X-Robots-Tag none;
                  add_header X-Download-Options noopen;
                  add_header X-Permitted-Cross-Domain-Policies none;
                  # Optional: Don't log access to assets
          #        access_log off;
              }
          
              location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
                  try_files $uri /index.php$uri$is_args$args;
                  # Optional: Don't log access to other assets
          #        access_log off;
              }
          
          #####pour libre office
          
          # static files
              location ^~ /loleaflet {
                  proxy_pass https://localhost:9980;
                  proxy_set_header Host $http_host;
              }
          
              # WOPI discovery URL
              location ^~ /hosting/discovery {
                  proxy_pass https://localhost:9980;
                  proxy_set_header Host $http_host;
              }
          
              # websockets, download, presentation and image upload
              location ^~ /lool {
                  proxy_pass https://localhost:9980;
                  proxy_set_header Upgrade $http_upgrade;
                  proxy_set_header Connection "upgrade";
                  proxy_set_header Host $http_host;
              } 
          } ```
          un mois plus tard

          Bonjour

          Suite a une réinstallation je rencontre quelques problème dans le fonctionnement de nextcloud.
          Je n'arrive pas a créer de nouveaux utilisateurs seul le profil créer lors de la création du conteneur docker existe .
          Quand je clique sur le bouton créer rien ne ce passe !!!

          J'ai aussi des difficulté pour configurer mon dossier torrents de rutorrents par External Storage de nextcloud.

          Bon j'ai réussis enfin a installer le tout, seul reste le problème du External Storage.

          2 mois plus tard

          Bonjour,

          j'ai suivi le tuto Nextcloud version docker avec attention et l'ai refait plusieurs fois. Je me confronte toujours au même problème ; une fois le docker-compose up -d lancé, je me rends sur l'url de ma machine (un serveur dans mon cas avec nom de domaine) et rien.

          J'ai cherché à savoir si cela venez de mon serveur mais j'y ai réinstallé debian Jessie plusieurs également, donc je pars bien d'un debian "propre".
          J'ai pu remarquer que tu utilises l'image wonderfall/nginx mais n'existant plus, l'image Nginx officiel convient-elle ?

          Merci d'avoir pris le temps de lire.
          La bise.

            Khykh Dans ce cas c'est simplement que le reverse proxy ne doit pas être configuré dans ton Docker/Nginx, si ?

              Effectivement l'image wonderfall/nginx ne fonctionne plus et a été remplacé par wonderfall/boring-nginx, d'aileurs utilisée par Hardware dans le docker-compose pour son serveur de messagerie mais mieux que le tuto qui date un peu, sers toi de ce docker-compose qui fait tout pour toi, même le reverse. tu lances le docker compose et c'est tout, tu n'as plus qu'a aller sur le sous domaine et tu rentres direct dans nextcloud

              > version: '2'
                 
               volumes:
                nextcloud-db-data:
                nextcloud-data:
                nextcloud-config:
                nextcloud-apps:
                 
              services:
                 
                 nginx-proxy:
                    restart: always
                    image: jwilder/nginx-proxy
                    ports:
                      - "80:80"
                      - "443:443"
                    volumes:
                      - /srv/docker/nginx/certs:/etc/nginx/certs:ro
                      - /etc/nginx/vhost.d
                      - /usr/share/nginx/html
                      - /var/run/docker.sock:/tmp/docker.sock:ro
                
                  nginx-proxy-companion:
                    image: jrcs/letsencrypt-nginx-proxy-companion
                    volumes:
                       - /srv/docker/nginx/certs:/etc/nginx/certs:rw
                       - /var/run/docker.sock:/var/run/docker.sock
                    volumes_from:
                       - nginx-proxy
                
                nextcloud-db:
                    image: mariadb
                    volumes:
                       - nextcloud-db-data:/var/lib/mysql
                    environment:
                       - MYSQL_ROOT_PASSWORD=motdepasse
                       - MYSQL_DATABASE=nextcloud
                       - MYSQL_USER=nextcloud
                       - MYSQL_PASSWORD=motdepasse
                
               nextcloud:
                   image: wonderfall/nextcloud
                   environment:
                     - VIRTUAL_HOST=sous.domaine.com
                     - LETSENCRYPT_HOST=sous.domaine.com
                     - LETSENCRYPT_EMAIL=adressemail
                     - UID=1000
                     - GID=1000
                     - UPLOAD_MAX_SIZE=10G
                     - APC_SHM_SIZE=128M
                     - OPCACHE_MEM_SIZE=128
                     - REDIS_MAX_MEMORY=64mb
                     - CRON_PERIOD=15m
                     - TZ=Europe/Berlin
                     - ADMIN_USER=admin
                     - ADMIN_PASSWORD=admin
                     - DB_TYPE=mysql
                     - DB_NAME=nextcloud
                     - DB_USER=nextcloud
                     - DB_PASSWORD=motdepasse
                     - DB_HOST=nextcloud-db
                  depends_on:
                     - nextcloud-db
                  volumes:
                     - nextcloud-data:/data
                     - nextcloud-config:/config
                     - nextcloud-apps:/apps2

              Modifie les mots de passe, le sous domaine et l'adresse mail et remet en forme le docker-compose en respectant les retraits

                Waouw ! Merci Aerya et laster13 !

                Je vais aller tester tout ça.
                Pour le reverse proxy, je me demandais si l'image de Wonderfall avait des specs spécifiques pour fonctionner avec son image nextcloud alors je me suis retrouvé un peu perdu avec l'image officiel Nginx.
                Avec la tête froide aujourd'hui, je vais tout reprendre à zéro et bien comprendre la totalité des manips.

                Merci encore !

                EDIT : J'ai bien tout rempli (sous-domaine, mail, etc...) tout démarre bien cependant sur mon sous-domain.domain.com , je n'ai toujours rien.
                Je vois avec docker ps que wonderfall/nextcloud tape sur 8888/tcp. Le nginx-proxy map le port 80. J'ai une conf à y faire là, non ? laster13
                Je remarque également en faisant docker ps j'ai 3 containers de lancés. Il manque le container nextcloud lui-même.

                En faisant 'docker ps -a' tu vois ton 4eme container qui doit etre en "exited". Essaie de le redemarrer en faisant

                docker start id_container

                Pour info ce docker compose te créer tes certificats let's encrypt et ton vhost, du coup tu n'as rien à faire

                ps : Si ca ne fonctionne pas, pense à nettoyer ton docker en supprimant tous les volumes inutiles avec la commande

                docker volume rm $(docker volume ls -qf "dangling=true")

                Puis recommence

                  laster13 merci à toi !

                  Effectivement j'ai supprimé les containers et volumes, tout relancer et bien starter mon container nextcloud et tout fonctionne.

                  2 mois plus tard

                  Bonjour,

                  J'ai suivi le tuto à la lettre mais j'arrive pas à accéder à nextcloud. Je ne souhaite pas utiliser de https pour l'instant. Donc je n'ai pas indiqué de certificat.

                  Dans mon vhost, j'ai indiqué ça

                  server {
                    listen 8000;
                    server_name monipserveur;
                    index index.html index.htm index.php;
                  
                    client_max_body_size 150M;
                    large_client_header_buffers 4 16k;
                  
                    #auth_basic "Who's this?";
                    #auth_basic_user_file /passwds/<NAME>.htpasswd;
                  
                     location / {
                                  try_files $uri $uri/ /index.html /index.php?$args =404;
                          }
                  
                  }

                  Et pour mon docker-compose.yml, j'ai indiqué ça
                  J'ai indiqué le port 82 car le port 80 est déja utilisé par une autre application. J'ai pas de message d'erreur de nginx ou des autres apps. Je tombe simplement sur la page nginx de base quand j'accède au port 82. Et mon conteneur nextcloud se ferme tout seul. Peut être aurais-je oublié un élément ? Merci pour votre aide.

                  #############
                  # Nginx #
                  #############
                  
                     nginx:
                      image: wonderfall/boring-nginx
                      container_name: nginx
                      links:
                        - nextcloud:nextcloud
                      ports:
                        - "82:8000"
                        - "443:4430"
                      volumes:
                        - /home/seedbox/files/apps/nginx/sites-enabled:/sites-enabled
                        - /home/seedbox/files/apps/nginx/conf:/conf.d
                        - /home/seedbox/files/apps/nginx/log:/var/log/nginx
                        - /home/seedbox/files/apps/nginx/certs:/certs
                        - /home/seedbox/files/apps/nginx/passwd:/passwds
                        - /home/seedbox/files/apps/nginx/www:/www
                  
                  #############
                  # nextcloud #
                  #############
                  
                     nextcloud:
                      image: wonderfall/nextcloud
                      container_name: nextcloud
                      links:
                        - db_nextcloud:db_nextcloud
                      environment:
                        - UID=1000
                        - GID=1000
                        - UPLOAD_MAX_SIZE=10G
                        - APC_SHM_SIZE=128M
                        - OPCACHE_MEM_SIZE=128
                        - CRON_PERIOD=15m
                        - TZ=Etc/UTC
                      volumes:
                        - /home/seedbox/files/apps/nextcloud/data:/data
                        - /home/seedbox/files/apps/nextcloud/config:/config
                        - /home/seedbox/files/apps/nextcloud/apps:/apps2
                        - /home/seedbox/files/apps/nextcloud/themes:/nextcloud/themes
                  
                  #############
                  # db_nextcloud #
                  #############
                  
                     db_nextcloud:
                      image: mariadb:10
                      container_name: db_nextcloud
                      volumes:
                        - /home/seedbox/files/apps/nextcloud/db:/var/lib/mysql
                      environment:
                        - MYSQL_ROOT_PASSWORD=mdp
                        - MYSQL_DATABASE=nextcloud
                        - MYSQL_USER=nextcloud
                        - MYSQL_PASSWORD=mdp
                  

                  Tu as essayé avec le docker-compose posté plus haut?

                  19 jours plus tard

                  Je reviens sur nextcloud mais sur la version mobile. Je n'arrive pas à faire le téléversement automatique de mes fichiers avec l'appareil. Il ne se passe rien. Certains topics évoquent le problème mais sans vraiment donner de solution.
                  Avez-vous rencontré ce problème vous aussi ?

                  App mobile : 1.4.2
                  Android : 6.0
                  Nextcloud server 11.0.3

                  19 jours plus tard

                  j'ai le même problème que NOnoS
                  -> impossible d'accéder à https://nextcloud.domaine.tld

                  j'ai suivi le tuto à la lettre, tout fonctionnait dans la mesure ou j'avais stoppé nginx, comme il y a un conflit entre le port 443 utilisé par nginx et le daemon de docker, ça ne fonctionnait pas

                  j'ai donc utilisé le docker compose proposé un peu plus haut et j'ai une magnifique erreur :

                  ~docker-compose up -d
                  addgroup: gid '0' in use
                  ERROR: yaml.scanner.ScannerError: while scanning a block scalar
                  in "./docker-compose.yml", line 1, column 1
                  expected a comment or a line break, but found 'v'
                  in "./docker-compose.yml", line 1, column 3

                  j'ai également essayé en supprimant tout les container mais ça ne fonctionne pas
                  d'ailleurs la commande de nettoyage ne fonctionne pas, j'ai pourtant la version 17 de docker ...
                  j'ai trouvé cette commande sur le net du coup :

                  "docker rm docker ps -a -q"

                  voilà, là je suis vraiment dans l'impasse, je ne vois plus quoi faire ...

                  J'ai finalement réussi à installer correctement. Je ne sais plus trop comment à vrai dire mais le tuto est correct.

                  Tu as problème d'interprétation des éléments dans ton docker compose. Un chemin de montage incorrect, une indentation incorrect, un caractère en trop peut être.
                  Il te l'indique : "expected a comment or a line break, but found 'v'"