Hello,
I want to run nextcloud with docker and it works fine and fast, but every time i try to add the settings for onlyoffice i got error’s
Error when trying to connect (Error occurred in the document service: Error while downloading the document file to be converted.)
When i go to https://****/ds-vpath/ i got “Document Server is running”.
i have try the docker id and container name but it won’t connect.
Can someone point me into the right direction?
Thanks for your time of reading it.
Host: Ubuntu server 18.4 (lts)
docker file:
version: '3'
services:
app:
container_name: driveVanDoorenEu-server
image: nextcloud:fpm
stdin_open: true
tty: true
restart: always
expose:
- '80'
- '443'
volumes:
- ./app:/var/www/html
- /media/priveDrive/{42BD085B-8EDF-40EE-94FE-EA3E7F9855C0}:/var/www/html/data
db:
image: mariadb
container_name: driveVanDoorenEu-mariadb
volumes:
- ./mariadb:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=***
- MYSQL_PASSWORD=***
- MYSQL_DATABASE=***
- MYSQL_USER=***
restart: always
onlyoffice-document-server:
container_name: driveVanDoorenEu-onlyoffice
image: onlyoffice/documentserver:latest
stdin_open: true
tty: true
restart: always
expose:
- '80'
- '443'
volumes:
- ./onlyoffice:/var/www/onlyoffice/Data
- document_log:/var/log/onlyoffice
elasticsearch:
container_name: driveVanDoorenEu-elasticsearch
image: dsteinkopf/elasticsearch-ingest-attachment
restart: always
privileged: true
volumes:
- ./elasticsearch_data:/usr/share/elasticsearch/data
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
cron:
build: cron
restart: always
container_name: driveVanDoorenEu-crontest
volumes:
- /var/log/crontest:/var/log/crontest
- ./cron/root:/etc/crontabs/root
- ./scripts:/home/node
nginx:
container_name: driveVanDoorenEu-nginx
image: nginx
stdin_open: true
tty: true
restart: always
#ports:
# - 3000:80
# - 443:443
networks:
default:
ipv4_address: 172.19.0.12
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./app:/var/www/html
- /etc/letsencrypt:/etc/letsencrypt
environment:
VIRTUAL_HOST: ***
VIRTUAL_PORT: 80
LETSENCRYPT_HOST: ***
LETSENCRYPT_EMAIL: ***
networks:
default:
external:
name: nginx-proxy
volumes:
document_data:
document_log:
mysql_data:
you expose port 80/443 on both container (nextcloud/onlyoffice).
but you don’t expose any port of the nginx container.
if you want you can look at my playbook how to setup a working system.
in the folder roles/docker_container/tasks you’ll find the config of the container.
here you find the nginx.conf config (there are two blocks to insert):
and here you find the settings of the nextcloud app:
btw: is elasticsearch running in your setup?
Hello,
i now can open a file but get a message that it can not save it.
I have a proxy running that ties multiple nginx to specifi domains,
I hava also a nginx config file (but i do not fully know what it does, it’s a year old) :
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
upstream backend {
server driveVanDoorenEu-server:9000;
}
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
map $http_host $this_host {
"" $host;
default $http_host;
}
map $http_x_forwarded_proto $the_scheme {
default $http_x_forwarded_proto;
"" $scheme;
}
map $http_x_forwarded_host $the_host {
default $http_x_forwarded_host;
"" $this_host;
}
server {
listen 80;
server_name ***;
# Add headers to serve security related headers
add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
add_header X-Content-Type-Options nosniff;
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;
root /var/www/html;
client_max_body_size 10G; # 0=unlimited - set max upload size
fastcgi_buffers 64 4K;
gzip off;
index index.php;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;
rewrite ^/.well-known/carddav /remote.php/dav/ permanent;
rewrite ^/.well-known/caldav /remote.php/dav/ permanent;
# listen 443 ssl http2;
#if ($scheme != "https") {
# return 301 https://$host$request_uri;
#}
#ssl_certificate /etc/letsencrypt/live/drive.van-dooren.eu/fullchain.pem;
#ssl_certificate_key /etc/letsencrypt/live/drive.van-dooren.eu/privkey.pem;
#ssl_session_cache shared:le_nginx_SSL:1m;
#ssl_session_timeout 1440m;
#ssl_protocols TLSv1.2;
#ssl_prefer_server_ciphers on;
#ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
# sudo certbot certonly --webroot --agree-tos --email webmaster@*** -d drive.van-dooren.eu -w /home/docker/nextcloud/app
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ ^/(build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
deny all;
}
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
root /var/www/html/;
}
location / {
rewrite ^/remote/(.*) /remote.php last;
rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
try_files $uri $uri/ =404;
}
location ~* ^/ds-vpath/ {
rewrite /ds-vpath/(.*) /$1 break;
proxy_pass http://onlyoffice-document-server;
proxy_redirect off;
client_max_body_size 100m;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_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-Host $the_host/ds-vpath;
proxy_set_header X-Forwarded-Proto $the_scheme;
}
location ~ \.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 off;
fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice
fastcgi_pass backend;
fastcgi_intercept_errors on;
}
# Adding the cache control header for js and css files
# Make sure it is BELOW the location ~ \.php(?:$|/) { block
location ~* \.(?:css|js)$ {
add_header Cache-Control "public, max-age=7200";
# Add headers to serve security related headers
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;
}
# Optional: Don't log access to other assets
location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|swf)$ {
access_log off;
}
}
}