Giter VIP home page Giter VIP logo

onlyoffice / docker-documentserver Goto Github PK

View Code? Open in Web Editor NEW
1.3K 75.0 455.0 537 KB

ONLYOFFICE Document Server is an online office suite comprising viewers and editors for texts, spreadsheets and presentations, fully compatible with Office Open XML formats: .docx, .xlsx, .pptx and enabling collaborative editing in real time.

License: GNU Affero General Public License v3.0

Shell 68.82% Makefile 4.22% Dockerfile 16.73% JavaScript 0.31% HCL 9.93%
onlyoffice docker-image

docker-documentserver's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-documentserver's Issues

What is the secret of connecting a community server to a document server?

Hey Folks,

I'm ripping my hair our slowly from my head, please help me a little.

  • I've installed on server "A" owncloud. Works, done, everything is fine.
  • I've installed on server "B" DocumentServer according to this README for this repository. (with SSL)

No matter what I do, I can't connect them to eachother. The error message in owncloud I receive always is: Error when trying to connect (Bad request or timeout error)

Why? No firewall, ping OK, NginX OK, what else?

"Download As" error

Hi,

I created a docker image for Only Office.
Here is the Dockerfile :

FROM onlyoffice/documentserver:latest
COPY ./default.json /etc/onlyoffice/documentserver/default.json

The problem is that I get an error when I try to download any document by clicking "Download As". The server send a HTTP 400 error.

I just modified the default.json by adding secret string and enabling token :

"secret": {
        "inbox": {
          "string": "ABCDEFGHJ",
          "file": "",
          "tenants": {}
        },
        "outbox": {
          "string": "ABCDEFGHJ",
          "file": ""
        },
        "session": {
          "string": "ABCDEFGHJ",
          "file": ""
        }
      },
      "token": {
        "enable": {
          "browser": true,
          "request": {
            "inbox": true,
            "outbox": true
          }
        },
        "inbox": {
          "header": "Authorization",
          "prefix": "Bearer "
        },
        "outbox": {
          "header": "Authorization",
          "prefix": "Bearer ",
          "algorithm": "HS256",
          "expires": "5m"
        },
        "session": {
          "algorithm": "HS256",
          "expires": "5m"
        }
      }

The weird part is that if I set token.enable.browser, token.enable.request.inbox and token.enable.request.outbox to false everything is ok and I can download files.

If somebody had a clue, it would be great.

Thank you.
Marc

Plugins not working in Nextcloud

I see all the Plugins but none of them are working.

Ubuntu 16.04
Apache2

All updated. Docker Image running on Port 8000.

Apache 2 Conf

<VirtualHost *:443>
ServerName xxxx.com

SSLEngine on
SSLCertificateFile "/etc/letsencrypt/live/xxxxx/fullchain.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/xxxxxxxx/privkey.pem"

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4
SSLProtocol All -SSLv2 -SSLv3
SSLCompression off
SSLHonorCipherOrder on

SetEnvIf Host "^(.*)$" THE_HOST=$1
RequestHeader setifempty X-Forwarded-Proto https
RequestHeader setifempty X-Forwarded-Host %{THE_HOST}e
ProxyAddHeaders Off

ProxyPassMatch (.*)(/websocket)$ "ws://localhost:8000/$1$2"
ProxyPass / "http://localhost:8000/"
ProxyPassReverse / "http://localhost:8000/"

Limit upload file types

Hello,

Is there anyway we can limit the file types upload to community server? I don't want people use these document editors as a cloud storage at company. They flooded the storage with mp3, mp4, zip, iso files... Can we limit those file types?

I am sorry, I am not sure post this under document server or community server page. Please forgive me if I posted wrong place.

Use external MySQL server

In the community server Docker container, there is an option to use an external MySQL server (i.e, not inside the container). Could you please add such an option here? The second MySQL server inside the container is using too much RAM.

Container restarts after creation

Creating the container on a Fedora 25 host just continually restarts:

Creation command:

sudo docker run -d --restart always --name onlyoffice \
-v /mnt/Data/OnlyOffice/logs:/var/log/onlyoffice \
-v /mnt/Data/OnlyOffice/data:/var/www/onlyoffice/Data \
-v /mnt/Data/OnlyOffice/lib:/var/lib/onlyoffice \
-e VIRTUAL_HOST=office.mydomain.com \
-e VIRTUAL_PORT=80 \
-e LETSENCRYPT_HOST=office.mydomain.com \
-e [email protected] \
--expose 80 \
onlyoffice/documentserver

Using jwilder/nginx-proxy for access and jrcs/letsencrypt-nginx-proxy-companion to generate certs

Container starts and shows

 * Starting PostgreSQL 9.3 database server
   ...done.
Starting redis-server: redis-server.
 * Starting message broker rabbitmq-server
   ...done.
Starting supervisor: supervisord.
Generating AllFonts.js, please wait...Done
onlyoffice-documentserver:docservice: stopped
onlyoffice-documentserver:docservice: started
onlyoffice-documentserver:converter: stopped
onlyoffice-documentserver:converter: started
guest
 * Starting PostgreSQL 9.3 database server
   ...done.
Starting redis-server: redis-server.
 * Starting message broker rabbitmq-server
   ...done.
Starting supervisor: supervisord.
Generating AllFonts.js, please wait...Done
onlyoffice-documentserver:docservice: stopped
onlyoffice-documentserver:docservice: started
onlyoffice-documentserver:converter: stopped
onlyoffice-documentserver:converter: started
guest
 * Starting PostgreSQL 9.3 database server
   ...done.
Starting redis-server: redis-server.
 * Starting message broker rabbitmq-server
   ...done.
Starting supervisor: supervisord.
Generating AllFonts.js, please wait...Done
onlyoffice-documentserver:docservice: stopped
onlyoffice-documentserver:docservice: started
onlyoffice-documentserver:converter: stopped
onlyoffice-documentserver:converter: started
guest
 * Starting PostgreSQL 9.3 database server
   ...done.
Starting redis-server: redis-server.
 * Starting message broker rabbitmq-server
   ...done.
Starting supervisor: supervisord.
Generating AllFonts.js, please wait...Done
onlyoffice-documentserver:docservice: stopped
onlyoffice-documentserver:docservice: started
onlyoffice-documentserver:converter: stopped
onlyoffice-documentserver:converter: started

In the logs, then restarts and does it all over again.

No compatibility with Chrome and self-signed Cert

Hey guys,

im not sure if this is a bug but it should be noticed anywhere.
I'm using Nextcloud and OnlyOffice Documentserver.

I generated self-signed certs for both systems.

When i try to open a document in my nextcloud im recieving the following error:
1111unbenannt

No errors where shown in the logs.
When i access my documentserver via browser and accept the following warning:
22222

The Documentserver says "Documentserver is running"

And now i can edit Files within my Nextcloud.

**Probably the error is shown because of the warning chrome shows when accessing a website with an invalid cert and because of this nextcloud cant connect to the documentserver.

With Firefox this is working**

Run docker without iterative mode

The Interative shouldn't be mandatory.
In ECS i cant setup with "-i" flag .
docker run -i -t -d -p 80:80 onlyoffice/documentserver

I need a way to run this only like a normal container, if i try to run like this the service starts and exits
docker run -d -p 80:80 onlyoffice/documentserver

Saved corrupted id - CoAutheringService

Hey there,

I'm running the Docker DocumentServer with Debian 8 (Jessie). When I open a document I'm getting the following errors in the CoAutheringService log:

[2016-01-29 11:40:04.279] [ERROR] nodeJS - error reply SendStatusDocument: [object Object] docId = 9ZXbCoE5C8RWmAMkc3vD
[2016-01-29 11:40:04.446] [ERROR] nodeJS - error reply SendStatusDocument: [object Object] docId = 9ZXbCoE5C8RWmAMkc3v

And when I try to save the document by closing the browser tab from the ONLYOFFICE online editor, there is the following error in the CoAutheringService log:

[2016-01-29 11:40:38.049] [ERROR] nodeJS - saved corrupted id = 9ZXbCoE5C8RWmAMkc3vD convert = true

After closing the browser tab my changes on the document are lost.

Are there any known issues with the error messages? I cant find anything in the www.

Thank you & greetings,
Jan

HTTPS Access - DocumentServer

Hey everybody,

I'm following the ONLYOFFICE Docker documentation
(https://github.com/ONLYOFFICE/Docker-DocumentServer) to get ONLYOFFICE
documentserver and communityserver running with HTTPS.

What I've tried:

I've created a file named env.list in my home dir /home/jw/data with the
following content:

SSL_CERTIFICATE_PATH=/opt/onlyoffice/Data/certs/onlyoffice.crt
SSL_KEY_PATH=/opt/onlyoffice/Data/certs/onlyoffice.key
SSL_DHPARAM_PATH=/opt/onlyoffice/Data/certs/dhparam.pem

After that I added the directory /home/jw/data/ to my $PATH environment
variable:

PATH=$PATH:/home/jw/data/; export PATH

On the same shell I started the docker container like this:

sudo docker run -i -t -d --name onlyoffice-document-server -p 443:443 -v
/opt/onlyoffice/Data:/var/www/onlyoffice/Data --env-file
/home/jw/data/env.list onlyoffice/documentserver

The documentserver is running fine. After that I've started the
communityserver with:

sudo docker run -i -t -d --link onlyoffice-document-server:document_server
--env-file /home/jw/data/env.list onlyoffice/communityserver

With the command docker ps -a I see booth docker container running fine.
But when I'm trying to access https://localhost there is an error "Secure
Connection Failed" in Firefox.

Did I miss something?

Thank you very mich & greetings,
Jan

Unable to use custom port with https support

Hello,

I am trying to run the Onlyoffice Docker container on a custom port with https support enabled. If I try to use the command shown here, Ngnix still only listens to port 80 inside the container:

docker run -i -t -d -p 8888:443 \ -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver

I put the certificates in the appropriate folder on the host system. The command netstat -antp inside the container only shows Nginx listening on port 80:

netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:43719           0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:9001          0.0.0.0:*               LISTEN      425/python      
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      486/nginx       
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:35174         127.0.0.1:6379          ESTABLISHED -               
tcp        0      0 127.0.0.1:35162         127.0.0.1:6379          ESTABLISHED -               
tcp        0      0 127.0.0.1:36602         127.0.0.1:5672          ESTABLISHED -               
tcp        0      0 127.0.0.1:6379          127.0.0.1:35162         ESTABLISHED -               
tcp        0      0 127.0.0.1:36610         127.0.0.1:5672          ESTABLISHED -               
tcp        0      0 127.0.0.1:35164         127.0.0.1:6379          ESTABLISHED -               
tcp        0      0 127.0.0.1:6379          127.0.0.1:35174         ESTABLISHED -               
tcp        0      0 127.0.0.1:36606         127.0.0.1:5672          ESTABLISHED -               
tcp        0      0 127.0.0.1:35102         127.0.0.1:6379          ESTABLISHED -               
tcp        0      0 127.0.0.1:6379          127.0.0.1:35102         ESTABLISHED -               
tcp        0      0 127.0.0.1:6379          127.0.0.1:35164         ESTABLISHED -               
tcp        0      0 127.0.0.1:50879         127.0.0.1:4369          ESTABLISHED -               
tcp6       0      0 :::5672                 :::*                    LISTEN      -               
tcp6       0      0 :::8080                 :::*                    LISTEN      -               
tcp6       0      0 :::80                   :::*                    LISTEN      486/nginx       
tcp6       0      0 :::4369                 :::*                    LISTEN      -               
tcp6       0      0 ::1:5432                :::*                    LISTEN      -               
tcp6       0      0 :::8126                 :::*                    LISTEN      -               
tcp6       0      0 :::8000                 :::*                    LISTEN      -               
tcp6       0      0 127.0.0.1:5672          127.0.0.1:36610         ESTABLISHED -               
tcp6       0      0 127.0.0.1:5672          127.0.0.1:36602         ESTABLISHED -               
tcp6       0      0 127.0.0.1:4369          127.0.0.1:50879         ESTABLISHED -               
tcp6       0      0 127.0.0.1:5672          127.0.0.1:36606         ESTABLISHED -   

Help with integrating this in the Nextcloud VM

Currently we offer Collabora to our VM users, but it would be great if we could offer OnlyOffice as well.

In the Collabora setup we put the "Document Server" on a subdomain and localhost, then proxy it in a Apache conf file. This means that we can run it on the same server.

I'm totally new to OnlyOffice, but from what I understand it should be possble to use the same setup for OnlyOffice as Collabora?

The VM gets downloaded between 100-200 times per day so it would mean a great spread of OnlyOffice if it were integrated. I've started a PR here, nothing fancy but at least a start. What I've done is that I copied the Collabora script and modified it to suit OnlyOffice. I would really appreciate some help and pointers to get it up and running.

Thank you!

Container does not respond

I can't seem to get this container running reliably at all. It gets stuck without any relevant log message and can't be removed or stopped. I have to restart the entire server, after which the onlyoffice container doesn't start successfully and can then be removed.

I realise this isn't much to go on, but it's all I have right now. Any recommendations on things I could check that may give more visibility on what is going wrong?

Documents cannot be opened after reinstallation of docker image

Do you want to request a feature or report a bug?

I suppose this is a bug.

What is the current behavior?

Even if I export the directories /var/log/onlyoffice and /var/www/onlyoffice/Data into the docker and give it an extra PostgreSQL server (which itself is a docker with extra data directory) - whenever I delete the docker and create it freshly then documents can't be edited anymore and I just get a not very descriptive error:
bildschirmfoto vom 2017-04-05 09-16-59

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.

  1. create a new or edit an existing document
  2. delete the docker instance of document server
  3. create a new docker instance of document server
  4. open the formerly edited file for editing with document server
  5. the named error appears

What is the expected behavior?

being able to edit the file again

Which versions of DocumentServer, and which browser / OS are affected by this issue? Did this work in previous versions of DocumentServer?

Latest docker image:
docker.io/onlyoffice/documentserver latest sha256:830b0d030f5b4ff3c495a495e098458faaa5948b423d4866f45f72066a2b5d7c 4 days ago 1.411 GB

Browsers are Firefox and Chrome on Linux

I would like to know how I could debug this as I do not find any place in the docker image where an error is logged which seems have any relation to this. Inspecting webtraffic with Firefox devtools neither brings any hint to an error.

DeviceMapper PostgreSQL storage should be volume

DeviceMapper storage mode for docker use fixed sizes for containers (e.g. 10gb for onlyoffice/documentserver-integration:4.3.2.3), while aufs allow container to have all the space from host system.
So need to able to mount PostgreSQL data as volume to have more, than 10gb of storage

Steps to reproduce (all steps on 40GB DigitalOcean ubuntu 16.04) :

  1. Start docker in devicemapper mode (see https://docs.docker.com/engine/userguide/storagedriver/selectadriver/)
  2. Run a container:
    docker run --name docserver-storage-limited -itd -p 80:80 onlyoffice/documentserver-integration:4.3.2.3
  3. Try to create big file in /var/lib/postgresql
    docker exec -it docserver-storage-limited fallocate -l 30G /var/lib/postgresql/bigfile
    This cause error:
fallocate: /swapfile: fallocate failed: No space left on device

But there is plenty of space on host

File activity and version not updated

I created a docker image, it worked but it wasn't saving "versions" nor updating last edit time after editing the file. I have tried changing docker params (following #55) without luck. I create the container using:

docker run --name onlof5 -i -t -d -p 8443:443 -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver

I have my certs in /app/onlyoffice/DocumentServer/data/certs

PK ##################

Hi,
suddenly I'm having this problem with OnlyOffice API. When the document is saved, everything that is inside is erased and there's only PK ##################
Do you have an hint about what could it be? Since now it was working flawless.
[edit]
PK is referring to what? Public Key?
I've just reset all, and get a new docker image but still the issue persist. It's weird.

Add information on how to restrict acces only to a Nextcloud/Owncloud server

Hello,

please add information on how to restrict access to the Onlyoffice DocumentServer only to a legitimate Nextcloud/Owncloud instance. It shouldn't be possible for other unauthorized users on the network to access the Onlyoffice DocumentServer by e. g. sending excessive load to the server (resulting in a denial of service for legitimate users).

Failed to generate additional fonts

OS: Ubuntu 16.04 LTS with docuserver in Docker

Docker installation with -v /mnt/hdd4/docker/onlyoffice/document/data/fonts:/usr/share/fonts option
and It works to mount fonts directory

generating fonts via docker exec onlyoffice-document-server /usr/bin/documentserver-generate-allfonts.sh
is not working (but script is prompt something, not failed)

all font's file format are .ttf (Google NotoSans, Naver Nanum-gothic, etc.)

Written content isnt saved

Hey guys,

i implemented the DocumentServer to my Nextcloud.
Iam accessing an WebDAV share via an NextCloud-App.

I was creating a new Spreadsheet and it was automatically opened in OnlyOffice.
Now when im writing content to the document and it is automatically saved and then open it on my Windows Computer the written content doenst appear in it...

Does anybody have a solution for this?
It seems like there is any Problem with SSL encryption, do you need the Nextcloud logs?

Should i open an issue at Nextclouds Github Page?

Thank you very much

Converting problems

Onlyoffice started with this command

sudo docker run -i -t -d -p 8888:443  \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  onlyoffice/documentserver

works but files version, activities, time stamp not modified.

If I want to convert I get this error log (doc -> docx):

Error	onlyoffice	Failed download converted file: https://myNCdomain.com:8888/cache/files/conv_23475841495696955_xlsx/output.xlsx/output.xlsx?md5=PiF0FEgrsZNmm1r_vSWwUw==&expires=1498292517&disposition=attachment&ooname=output.xlsx	2 minutes ago
Error	PHP	file_get_contents(https://myNCdomain.com:8888/cache/files/conv_23475841495696955_xlsx/output.xlsx/output.xlsx?md5=PiF0FEgrsZNmm1r_vSWwUw==&amp;expires=1498292517&amp;disposition=attachment&amp;ooname=output.xlsx): failed to open stream: operation failed at /var/www/nextcloud/apps/onlyoffice/controller/editorcontroller.php#267	2 minutes ago
Error	PHP	file_get_contents(): Failed to enable crypto at /var/www/nextcloud/apps/onlyoffice/controller/editorcontroller.php#267	2 minutes ago
Error	PHP	file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed at /var/www/nextcloud/apps/onlyoffice/controller/editorcontroller.php#267	2 minutes ago

When I start Onlyoffice with this parameters

sudo docker run -i -t -d -p 8888:443  \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
    -v /app/onlyoffice/DocumentServer/cache:/var/lib/onlyoffice/documentserver/App_Data/cache/files  onlyoffice/documentserver

I get this error log:

Error onlyoffice GetConvertedUri: 2347584 Error occurred in the document service: Conversion error 5 minutes ago

Documented here: http://helpcenter.onlyoffice.com/server/docker/document/docker-installation.aspx

This document requires also a mount point for libs: https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/README.md#storing-data

-v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice

With this command Onlyoffice does not work.

after documentserver-generate-allfonts.sh , additional fonts still not shown in list

I map local fonts folder into docker /usr/share/fonts
and running following commands
mkfontscale
mkfontdir
fc-cache -fv

into docker

ls /usr/share/fonts/truetype/
abyssinica
arphic
Asana-Math
crosextra
custom
dejavu
droid
fonts.dir
fonts-japanese-gothic.ttf
fonts.scale
freefont
gentium
gentium-basic
kacst
kacst-one
lao
lato
liberation
msttcorefonts
nanum
openoffice
padauk
sinhala
takao-gothic
tibetan-machine
tlwg
ttf-indic-fonts-core
ttf-khmeros-core
ttf-punjabi-fonts
ubuntu-font-family

generate fonts

Generating AllFonts.js, please wait...Done
onlyoffice-documentserver:docservice: stopped
onlyoffice-documentserver:docservice: started
onlyoffice-documentserver:converter: stopped
onlyoffice-documentserver:converter: started
root@89e75e2dbe5e:/# 

but the fonts still not shown in list
imgur-2018_03_02-12 30 37
imgur-2018_03_02-12 30 27
imgur-2018_03_02-12 30 11

any suggestions ? or what log should be provided ?

Missing help langages in RPM package

The latest RPM binary onlyoffice-documentserver.x86_64.rpm only conains help langage for en and ru.

The following langage are missing for help pages (\var\www\onlyoffice\documentserver\web-apps\apps\documenteditor\main\resources\help\):

de, es, it, fr

Do we need to install extra langages packages ?

FYI, those langages are correctly bundled in \var\www\onlyoffice\documentserver\web-apps\apps\documenteditor\main\locale\

High memory usage - 9,6GiB

Is 9,6GiB to be expected when running OnlyOffice? On avarage 1 user/day editing 1-2 documents...

# docker stats onlyoffice_1 --no-stream
CONTAINER           CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
onlyoffice_1   1.97%               9.642GiB / 47.16GiB   20.44%              30.9MB / 67.2MB     566MB / 784MB       177

RabbitMQ fails to start, permission issue?

Hi,
I am trying to install the OO document server via docker (specifically through portainer with a traefik reverse proxy, but I don't think it matters for this problem). I am using the latest Docker image (5.1.0.115 as of writing this).

My problem is that the the RabbitMQ server seems to not (re-)start properly.
Initially everything seems to go well, but then it tries to restart rabbitmq and fails:

* Starting PostgreSQL 9.5 database server
  ...done.
* Starting RabbitMQ Messaging Server rabbitmq-server
  ...done.
Starting redis-server: redis-server.
Starting supervisor: supervisord.
* Starting nginx nginx
  ...done.
Generating AllFonts.js, please wait...Done
onlyoffice-documentserver:docservice: stopped
onlyoffice-documentserver:docservice: started
onlyoffice-documentserver:converter: stopped
onlyoffice-documentserver:converter: started
* Reloading nginx configuration nginx
  ...done.
* Starting PostgreSQL 9.5 database server
  ...done.
* Starting RabbitMQ Messaging Server rabbitmq-server
* FAILED - check /var/log/rabbitmq/startup_\{log, _err\}
  ...fail!
Starting redis-server: redis-server.
Waiting for connection to the localhost host on port 5672
Waiting for connection to the localhost host on port 5672
Waiting for connection to the localhost host on port 5672
Waiting for connection to the localhost host on port 5672

The /var/log/rabbitmq/startup_err then has the following error:
mkdir: cannot create directory ‘/var/run/rabbitmq’: Permission denied

If I then create a specific volume for it pointing to "/var/run/rabbitmq" the general log stops with:
* Starting RabbitMQ Messaging Server rabbitmq-server

And I get the following error in the /var/log/rabbitmq/startup_err log file:
/usr/lib/rabbitmq/bin/rabbitmq-server: 42: /usr/lib/rabbitmq/bin/rabbitmq-server: cannot create /var/run/rabbitmq/pid: Permission denied

Any idea what could be causing this? It seems strange that it starts up the first time fine according to the logs?

Thanks for the help.

nginx: failed (99: Cannot assign requested address ←→ Unknown error: Press "OK" to return to document list.

Hi, I get this error and use the examples:

https://github.com/ONLYOFFICE/document-server-proxy/blob/master/nginx/proxy-to-virtual-path.conf
https://github.com/ONLYOFFICE/docker-onlyoffice-owncloud

Unknown error: Press "OK" to return to document list.

my nginx log:

[crit] 443#0: *14 connect() to [::1]:8080 failed (99: Cannot assign requested address) while connecting to upstream, client: 172.19.0.2, server: , request: "GET /2017-10-28-08-40/spellchecker/doc/93_1510537868/c/203/bot2j4ew/websocket HTTP/1.1", upstream: "http://[::1]:8080/doc/93_1510537868/c/203/bot2j4ew/websocket", host: "drive.roboto.cloud"

my scenario is:

onlyoffice←→nextcloud←→loadbalancer←→internet
nginx(80)←→nginx(80)←→traefik(443)←→internet
failed ←→ 200 ←→ 200
thanks in advance,
32689941-411b50be-c6ee-11e7-9d84-d9c2772f3ae4

Sensible default for NGINX_WORKER_CONNECTIONS

Regarding nginx worker connections limit, as defined here:

Querying ulimit from inside the container:

root@abc201f5e274:/# ulimit -n
1048576

I don't think it's rather sensible default value, as it greatly affects memory footprint: on 8-thread processor I got 8 workers each consuming 404MiB of RES memory for nginx alone, which is quite excessive IMO.

In any case, I think it's a good thing to mention that this option greatly affects memory consumption of the container in README.md

Update

Can't find info about docker run behavior when --ulimit is not present, but seems that docker sets such ulimit inside all containers on my host for some reason. On the host itself ulimit has pretty usual value:

kykc@yes:~$ ulimit -n
1024

How to protect my DocumentServer from other website using it.

Hi,

I have just installed the Onlyoffice DocumentServer (Docker) and integrated it with my native (Non-Docker) Nextcloud setup. I'm using a domain www.mydomain.com for Nextcloud and editor.mydomain.com for the DocumentServer. Everything is running fast and smoothly now, and the integration with Nextcloud was very very easy (Just specifying the editor.mydomain.com domain in the Admin settings).

And that is exactly my concern. What prevents somebody else to find out my editor.mydomain.com domain and use it in their own Nextcloud or other setup? Is there some way to protect my server so only I can use it?

Firefox - No copy & paste

Within the newest version of firefox (59.0.1) it is not possibly to copy and paste anymore.
Chrome and IE are working fine.

I am using Version 5.0.7 of the CE

changing port

I ran following commands:
docker run -i -t -d -p 9000:80 onlyoffice/documentserver
sudo docker exec $(sudo docker ps -q) sudo supervisorctl start onlyoffice-documentserver:example

With these I expect to have a running onlyoffice on port 9000.

when I now try to access 127.0.0.1:9000, I got redirected to 127.0.0.1/welcome, which returns of course a 404.

When I manually add the port again, I get the running welcome page.

Now accessing the example data with 127.0.0.1:9000/example and creating a new document, it creates a document, but I got redirected to port 80 again (127.0.0.1/example/editor?fileName=new.docx)

adding the correct port by hand I get a 302 temporarily moved and it redirects me to port 80 again (127.0.0.1/2016-07-12-16-21/web-apps/apps/documenteditor/main/index.html?_dc=2016-07-12-16-21&lang=en&customer=ONLYOFFICE)

Following the README.md, changing the port for the docker container when running the docker image should be enough, but it seems it isnt't?

'Document Server is running' when navigating to address

I installed OnlyOffice using this guide.

When I start an image and navigate to 127.0.0.1 on port 80 I just get redirected to http://127.0.0.1/welcome/ with a message saying 'Document Server is running' with a green tick.

screenshot at 2017-01-18 12 51 12

How do I access the page where I enter my email and password?

Can't edit a file using reverse-proxy

Do you want to request a feature or report a bug? To my mind it's a bug.

What is the current behavior? Doesn't open the iframe.

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.

  • Using nextcloud on server1 with HTTPS enable + a domain name, using nginx

  • Having documentserver installed using docker on server2, no HTTPS, no domain name

  • To use onlyoffice from server2 on the server1 through nextcloud, I need to have HTTPS. So I've created on server1 a reverse-proxy thing:

location /onlyoffice/ {
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://IP_SERVER_2/;

        # Proxy websockets
         proxy_http_version 1.1;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection "upgrade";
}
  • On the nextcloud extension, I've indicated https://DOMAINE-NAME-SERVER1/onlyoffice

.The error I've seen on the web console is: Refused to frame 'https://IP_SERVER2/201X-0X-XX/web-apps/apps/documenteditor/main/inde…&lang=en&customer=ONLYOFFICE&frameEditorId=iframeEditor' because it violates the following Content Security Policy directive: "frame-src https://DOMAIN_NAME_SERVER1/onlyoffice/".

We can see that frame is coming from HTTPS of the SERVER 2, but HTTPS is not enable so even without the refused-frame, I'll fail.

What is the expected behavior?

Can see the iframe to edit the document

Which versions of DocumentServer, and which browser / OS are affected by this issue? Did this work in previous versions of DocumentServer?

Last DocumentServer Docker version as May 13th 2017, browser Mozilla Firefox and Chrome are affected, OS I've installed on Debian Jessie.

Thank you very much :)

container crashes up on startup

container startup is broken on version onlyoffice/documentserver:4.3.6.2 and onlyoffice/documentserver:4.3.5.14 of the document server image.

docker version:

# docker version                                                                │
Client:                                                                                                                   │
 Version:      17.05.0-ce                                                                                                 │
 API version:  1.29                                                                                                       │
 Go version:   go1.7.5                                                                                                    │
 Git commit:   89658be                                                                                                    │
 Built:        Thu May  4 22:10:54 2017                                                                                   │
 OS/Arch:      linux/amd64                                                                                                │
                                                                                                                          │
Server:                                                                                                                   │
 Version:      17.05.0-ce                                                                                                 │
 API version:  1.29 (minimum version 1.12)                                                                                │
 Go version:   go1.7.5                                                                                                    │
 Git commit:   89658be                                                                                                    │
 Built:        Thu May  4 22:10:54 2017                                                                                   │
 OS/Arch:      linux/amd64                                                                                                │
 Experimental: false

also tested on docker version:

Client:
 Version:      17.06.0-ce
 API version:  1.30
 Go version:   go1.8.3
 Git commit:   02c1d87
 Built:        Fri Jun 23 21:23:31 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.06.0-ce
 API version:  1.30 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   02c1d87
 Built:        Fri Jun 23 21:19:04 2017
 OS/Arch:      linux/amd64
 Experimental: false

docker-compose.yml:


version: '3.3'                                                                                                            │
                                                                                                                          │
networks:                                                                                                                 │
    onlyoffice:                                                                                                           │
        driver: bridge                                                                                                    │
                                                                                                                          │
services:                                                                                                                 │
    app:                                                                                                                  │
        image: 'onlyoffice/documentserver:4.3.5.14'                                                                       │
        hostname: onlyoffice                                                                                              │
        container_name: onlyoffice                                                                                        │
        networks:                                                                                                         │
            - onlyoffice                                                                                                  │
        restart: always                                                                                                   │
        volumes:                                                                                                          │
            - './data:/var/www/onlyoffice/Data'                                                                           │
            - './logs:/var/log/onlyoffice'                                                                                │
            - '/etc/localtime:/etc/localtime:ro'

container log (this always repeats as the container is restarted automatically up on crash):

* Starting PostgreSQL 9.3 database server                                                                                │
   ...done.                                                                                                               │
 * Starting message broker rabbitmq-server                                                                                │
   ...done.                                                                                                               │
Starting redis-server: redis-server.                                                                                      │
Starting supervisor: supervisord.                                                                                         │
Generating AllFonts.js, please wait...Done                                                                                │
onlyoffice-documentserver:docservice: stopped                                                                             │
onlyoffice-documentserver:docservice: started                                                                             │
onlyoffice-documentserver:converter: stopped                                                                              │
onlyoffice-documentserver:converter: started

Bind for 0.0.0.0:8080 failed: port is already allocated

Hello,

I have followed step bu step the "README.md", i ran the docker image in this way:

sudo docker run -i -t -d -p 8080:80 onlyoffice/documentserver

But when i get to "Configuring Docker Image" part:

sudo docker run -i -t -d -p 8080:80
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data
-v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice onlyoffice/documentserver

After i enter the last line i got this error message:

0f52c208c343095c23917b8ccc1a2d43b7d394e9dbc00e78d8686b44a5ff5617
docker: Error response from daemon: driver failed programming external connectivity on endpoint loving_shaw (ac23a807cb82ab29742b0fcacb2eab4b48e26858d34c4f5966ba0796aa64995f): Bind for 0.0.0.0:8080 failed: port is already allocated.

What am i doing wrong?, What can i do to fix this?

Thank you in advance

No changes in NC file system - but safed for OO

XML documents can be edited in Onlyoffice, changes also saved.

But:

  • No file versions
  • No activities
  • No time stamp change
  • Files not synched to clients because of changes

I start Onlyoffice with this command:

sudo docker run -i -t -d -p 8888:443 \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \
    onlyoffice/documentserver

When I append the lib folder as mount point to the docker start command

sudo docker run -i -t -d -p 8888:443 \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \
    -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice  \
    onlyoffice/documentserver

then I get an Error at file opening and data inside the XML file is lost.

Encoding Problems

when I was editing some document, not-english characters (korean) are not visible and do not typing characters.
I think that invisible characters problem is caused by fonts..
but did you restricted typing in document editor?

Cannot view this file in doc suffix, but do good in docx suffix.

Hi,
I view this file on official website, turn out
picture
When I convert it into docx suffix on my local PC using office software. It works well.

These are the files (before convert and after convert )
https://github.com/JoeLucky/Practice/blob/master/openerror/test.doc?raw=true (before)
https://github.com/JoeLucky/Practice/blob/master/openerror/test.docx?raw=true (after)

I donot know if it is a problem or not. Hope to get help. Thanks a lot.

The editor is just still "Loading..."

Hey guys,

we have a problem to get onlyoffice running.
We use rancher in our environment. In front of the documentserver we have a loadbalancer (haproxy tcp-mode) and in front of the loadbalancer an reverseproxy (nginx) with SSL termination.

The documentserver is reachable with the FQDN "office.domain.com". If I load the page then I get the message "Thank you for choosing ONLYOFFICE! Document Server is running".

In "nextcloud.domain.com" I configured "https://office.domain.com". If i try to edit an document, a new tab is opening and only a white page appears.
With the developer-tools of the browser I get a link like "https://office.domain.com/2017-03-07-13-37/web-apps/apps/documenteditor/main/index.html?_dc=2017-03-07-13-37&lang=en-US&customer=ONLYOFFICE&frameEditorId=iframeEditor".
If I open this link in a new tab, I see forever the moving colors from top to bottom and "ONLYOFFICE Loading...". No errors or something.

Inside the documentserver https://nextcloud.domain.com is reachable.

I use the following images:

  • nextcloud:11-apache
  • onlyoffice/documentserver:latest

How can I better debug the progress?
Do you have any idea what is the problem?

marvin

Kubernetes - bad gateway

Hi,

I'm trying hard to make it working on Kubernetes. I generated objects with Kompose from a modified docker-compose.yml file:

version: '2'
services:
  onlyoffice-documentserver-data:
    image: onlyoffice/documentserver:latest
    environment:
      - ONLYOFFICE_DATA_CONTAINER=true
      - POSTGRESQL_SERVER_HOST=onlyoffice-postgresql
      - POSTGRESQL_SERVER_PORT=5432
      - POSTGRESQL_SERVER_DB_NAME=onlyoffice
      - POSTGRESQL_SERVER_USER=onlyoffice
      - RABBITMQ_SERVER_URL=amqp://guest:guest@onlyoffice-rabbitmq
      - REDIS_SERVER_HOST=onlyoffice-redis
      - REDIS_SERVER_PORT=6379
    stdin_open: true
    restart: always
    volumes:
      - data:/var/www/onlyoffice/Data
      - log:/var/log/onlyoffice
      - cache:/var/lib/onlyoffice/documentserver/App_Data/cache/files
      - files:/var/www/onlyoffice/documentserver-example/public/files
      - fonts:/usr/share/fonts
    privileged: true
    ports:
      - '80'
      - '8000'
      - '9001'

  onlyoffice-documentserver:
    image: onlyoffice/documentserver:latest
    depends_on:
      - onlyoffice-documentserver-data
      - onlyoffice-postgresql
      - onlyoffice-redis
      - onlyoffice-rabbitmq
    environment:
      - ONLYOFFICE_DATA_CONTAINER_HOST=onlyoffice-documentserver-data
      - BALANCE=uri depth 3
      - EXCLUDE_PORTS=443
      - HTTP_CHECK=GET /healthcheck
      - EXTRA_SETTINGS=http-check expect string true
      - RABBITMQ_SERVER_URL=amqp://guest:guest@onlyoffice-rabbitmq
      - POSTGRESQL_SERVER_HOST=onlyoffice-postgresql
      - POSTGRESQL_SERVER_PORT=5432
      - POSTGRESQL_SERVER_DB_NAME=onlyoffice
      - POSTGRESQL_SERVER_USER=onlyoffice
      - REDIS_SERVER_HOST=onlyoffice-redis
      - REDIS_SERVER_PORT=6379
    stdin_open: true
    restart: always
    ports:
      - '80:80'
    volumes_from:
     - onlyoffice-documentserver-data
    privileged: true

  onlyoffice-redis:
    container_name: onlyoffice-redis
    image: redis
    restart: always
    ports:
      - '6379'
    privileged: true

  onlyoffice-rabbitmq:
    container_name: onlyoffice-rabbitmq
    image: rabbitmq
    restart: always
    ports:
      - '5672'
    privileged: true

  onlyoffice-postgresql:
    container_name: onlyoffice-postgresql
    image: postgres:9.5
    environment:
      - POSTGRES_DB=onlyoffice
      - POSTGRES_USER=onlyoffice
    restart: always
    volumes:
      - postgresql_data:/var/lib/postgresql
    ports:
      - '5432'
    privileged: true

volumes:
  postgresql_data:
  data:
  log:
  cache:
  fonts:
  files:

The docker-compose has no haproxy container, because I've got Traefik on Kubernetes. I checked the pods to understand what's wrong.

It seems that 8000 port is not used by any service, nginx seems to be configured to proxy_pass on that port. So that's the problem ?

Just to be precise:

kubectl logs onlyoffice-documentserver-549d777dcd-vj72m 
Starting supervisor: supervisord.
 * Starting nginx nginx
   ...done.
Generating AllFonts.js, please wait...Done
onlyoffice-documentserver:docservice: stopped
onlyoffice-documentserver:docservice: started
onlyoffice-documentserver:converter: stopped
onlyoffice-documentserver:converter: started
 * Reloading nginx configuration nginx
   ...done.
kubectl logs onlyoffice-documentserver-data-764b87d54d-2477r 
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
 * Starting nginx nginx
   ...done.
Generating AllFonts.js, please wait...Done
 * Reloading nginx configuration nginx
   ...done.

Grep command seems to have a problem

kubectl exec -it onlyoffice-documentserver-549d777dcd-vj72m -- tail -f /var/log/onlyoffice/documentserver/nginx.error.log
2018/04/02 13:30:07 [error] 105#105: *1 no live upstreams while connecting to upstream, client: 10.1.224.161, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "http://docservice/favicon.ico", host: "office.XXXX.org", referrer: "http://office.XXXX.org/welcome"

I replace my hostname by XXXX => so that means that data server is not ok:

kubectl exec -it onlyoffice-documentserver-549d777dcd-vj72m --  curl 10.1.224.161
404 page not found

There is something that I miss... but what ?

Nginx are running on both documentserver and documentserver-data... that should work...

Any help... ?

healthcheck returns false on new docker setup

Steps to reproduce:

sudo docker pull onlyoffice/documentserver
sudo docker run -i -t -d -p 80:80 \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \
    -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice onlyoffice/documentserver
wget http://localhost/healthcheck

Any ideas?

SSL

OS Linux Ubuntu 16.04, Using the docker install method.
STEP 1: Create the 'onlyoffice' network.
docker network create --driver bridge onlyoffice

STEP 1: Install ONLYOFFICE Document Server.

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-document-server \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
    onlyoffice/documentserver

STEP 2: Install ONLYOFFICE Mail Server.

sudo docker run --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server \
    -p 25:25 -p 143:143 -p 587:587 \
    -v /app/onlyoffice/MailServer/data:/var/vmail \
    -v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \
    -v /app/onlyoffice/MailServer/logs:/var/log \
    -v /app/onlyoffice/MailServer/mysql:/var/lib/mysql \
    -h server.mydomain.club \
    onlyoffice/mailserver

STEP 3: Install ONLYOFFICE Community Server

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-community-server \
    -p 8880:80 -p 5222:5222 -p 443:443 \
    -v /app/onlyoffice/CommunityServer/data:/var/www/onlyoffice/Data \
    -v /app/onlyoffice/CommunityServer/mysql:/var/lib/mysql \
    -v /app/onlyoffice/CommunityServer/logs:/var/log/onlyoffice \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/DocumentServerData \
    -e DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server \
    -e MAIL_SERVER_DB_HOST=onlyoffice-mail-server \
    onlyoffice/communityserver

I have installed Onlyoffice, I created virtual host for apache

sudo nano /etc/apache2/sites-available/onlyoffice.conf

<VirtualHost *:80>

        ServerName server.mydomain.club
        ServerAdmin [email protected]
#        DocumentRoot /var/www/

        ProxyPass / http://127.0.0.1:8880/
        ProxyPassReverse / http://127.0.0.1:8880/
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
sudo a2ensite onlyoffice.conf

sudo a2enmod proxy_http

sudo service apache2 reload

I have a purchased CA SSL Certs from GoDaddy
I renamed them with the appropriate names and installed them into each of their directory respected directories

    /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
    /app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt
    /app/onlyoffice/DocumentServer/data/certs/dhparam.pem

And repeated this for the Document server.
The Community and mail server seam to work find but the Document server will not working with HTTPS I get an error. and cant edit the doc. I checked the Setting and I can not set the api.js path just keeps saying API url: service is not define.

I have reinstalled it countless times searched google I cant get SSL to work with the Documentserver.

After playing around and looking throught the settting I manage to get the API.JS the Document server to be accessed at this address http://server.mydomain.club/2016-08-03-13-33/web-apps/apps/api/documents/api.js
screen shot 2016-08-09 at 1 40 22 am

may this is an error bug old code not sure.
The documents server can not be accessed localy http://10.0.1.4:8880

the editors loads but then I get a blank error message.

Any help would be appreciated, Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.