DEV Community

DD
DD

Posted on

How to Install the Nextcloud All-in-One on Linux

Run Nextcloud AIO

sudo docker run -d \
--init \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
--publish 8090:8080 \
--env APACHE_PORT=11000 \
--env APACHE_IP_BINDING=0.0.0.0 \
--env APACHE_ADDITIONAL_NETWORK="" \
--env SKIP_DOMAIN_VALIDATION=false \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
--env NEXTCLOUD_DATADIR="/mnt/ncdata" \
ghcr.io/nextcloud-releases/all-in-one:latest
Enter fullscreen mode Exit fullscreen mode

All-in-One setup

About Collabora

When opening the document, an error may occur:
Failed to establish socket connection or socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator. For more info on proxy configuration please checkout https://sdk.collaboraonline.com/docs/installation/Proxy_settings.html

server {
 listen       443 ssl;
 server_name  cloud.example.com;


 ssl_certificate /path/to/certificate;
 ssl_certificate_key /path/to/key;

 # Nextcloud Web Serve
 location / {
   root    /;
   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_read_timeout 90;
   proxy_pass   http://192.168.168.10:11000/;
 }

 # static files
 location ^~ /browser {
   proxy_pass http://127.0.0.1:11000;
   proxy_set_header Host $host;
 }


 # WOPI discovery URL
 location ^~ /hosting/discovery {
   proxy_pass http://127.0.0.1:11000;
   proxy_set_header Host $host;
 }


 # Capabilities
 location ^~ /hosting/capabilities {
   proxy_pass http://127.0.0.1:11000;
   proxy_set_header Host $host;
 }


 # main websocket
 location ~ ^/cool/(.*)/ws$ {
   proxy_pass http://127.0.0.1:11000;
   proxy_set_header Upgrade $http_upgrade;
   proxy_set_header Connection "Upgrade";
   proxy_set_header Host $host;
   proxy_read_timeout 36000s;
 }


 # download, presentation and image upload
 location ~ ^/(c|l)ool {
   proxy_pass http://127.0.0.1:11000;
   proxy_set_header Host $host;
 }


 # Admin Console websocket
 location ^~ /cool/adminws {
   proxy_pass http://127.0.0.1:11000;
   proxy_set_header Upgrade $http_upgrade;
   proxy_set_header Connection "Upgrade";
   proxy_set_header Host $host;
   proxy_read_timeout 36000s;
 }
}
Enter fullscreen mode Exit fullscreen mode

About OnlyOffice

docker run -i -t -d -p 7070:80 \
  -e JWT_ENABLED=true \
  -e JWT_SECRET=your_jwt_secret \
  --name onlyoffice-documentserver \
  onlyoffice/documentserver:9.0.4.1
Enter fullscreen mode Exit fullscreen mode

How to setup OnlyOffice?
https://github.com/nextcloud/all-in-one/discussions/5302

ONLYOFFICE/Docker-DocumentServer
https://github.com/ONLYOFFICE/Docker-DocumentServer

Useful links

How to Install the Nextcloud All-in-One on Linux
https://nextcloud.com/blog/how-to-install-the-nextcloud-all-in-one-on-linux/

Reverse Proxy Documentation
https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md

all-in-one/compose.yaml
https://github.com/nextcloud/all-in-one/blob/main/compose.yaml

Top comments (1)

Collapse
 
ryan_accuweb_cloud profile image
Ryan_AccuWebCloud

Hey, great guide on the Nextcloud All-in-One setup — the step-by-step Docker instructions and reverse proxy tips are really thorough.

One thing I’ve noticed in the field is that while DIY installs work, a lot of teams struggle with managing SSL, daily backups, scaling, and enterprise-grade security once the instance is live. Things can also get tricky if you’re running multiple users or heavy collaboration.

At AccuWeb.Cloud, we host managed NextCloud environment that take care of all that out of the box — SSL, isolated containers, daily backups, scalable storage. Everything’s dedicated, no resource sharing, and you can start with a free trial to see how it fits your workflow.

Curious: for folks running AIO setups, how are you handling auto-backups and scaling when the team grows?

Feel free to check out my profile to learn more.