Install Group-Office on a Synology NAS with Docker

This is a walkthrough on how to install Group-Office on a Synology NAS with docker. Make sure you've installed Docker via the Synology package center.
  1. Launch Docker
  2. Go to the “Registry” tab and search for “mariadb”. Double click to download the latest:

  3. Search for “groupoffice” and install the latest “intermesh/groupoffice”:

  4. Go to the image tab and double click “maridb” to create a container called “godb”.
  5. Click on “Advanced Settings” and set in the “Environment” tab:

  6. Create a folder for the “/var/lib/mysql” volume in the “Volumes” tab.

  7. Click “Apply” to create the container.
  8. Now double click the “intermesh/groupoffice” container and go to the “Advanced Settings”.
  9. In the “Links” tab create a link to “godb” and call it “db”:
  10. Go to the "Volume" tab and mount a folder on "/var/lib/groupoffice":

  11. Review the “Environment” tab. Set apache server name and email:

  12. Check the port settings and launch your browser to the host and port. You should see the Group-Office installation screen. If you get the message "Please create a writable config.,ini" file then either /var/lib/groupoffice is not writable or the database connection can't be established. Please review those if you get that message.
  13. Finally you must add a scheduled task for GroupOffice. Go to Control Panel -> Task Scheduler on the Synology UI and choose Create -> Scheduled Task:

    Configure this command:

    /usr/local/bin/docker exec --user www-data intermesh-groupoffice1 php /usr/local/share/groupoffice/cron.php
  14. You're up and running!

Install SSL certificate

You probably need to install an SSL certificate too. This can be done easily. I've generated a Let's encrypt certificate at Control Panel -> Security:

  1. Right click on the certificate and choose "Export certificate". 
  2. Extract those files in a folder on the synology NAS called "docker/certs".
  3. The add a file called "apache.conf" and put this in:

    SSLCertificateKeyFile /etc/ssl/groupoffice/privkey.pem
    SSLCertificateFile /etc/ssl/groupoffice/cert.pem
    SSLCertificateChainFile /etc/ssl/groupoffice/chain.pem
  4. The folder on Docker should look like this:
  5. Edit the Docker container settings of groupoffice and mount this folder at "/etc/ssl/groupoffice"
  6. Check the SSL port settings and start the container. You should now have SSL!

Install license files

If you purchased additional modules from Intermesh you can install the licenses by mounting them in the Volume tab:


  • Anonymous
    May 15, 2018 at 17:24

    Hey, thank you for providing a docker image! That's really helpful. Although I have a problem following this introduction as it ends too early. When I'm installing it, the installer tells me I have to create a config.ini file in /etc/groupoffice/config.ini. But I'm not quite sure how to access the docker filesystem and create this file. Furthermore, when I open the Terminal in the docker panel in DSM, the groupoffice-container shuts down immediately.


  • Merijn
    May 15, 2018 at 18:12


    It should not ask you to create a config.ini file as it is already prepared. If it asks you this then either the /var/lib/groupoffice folder is not writable or it can't connect to the database. Please check the settings carefully. I also noticed the terminal shutting down immediately./ I have no idea why this happens as I'm using a pretty standard php image.

  • Radek Vymazal
    December 09, 2019 at 23:54

    after like 4 hours of pain a found out the solution that is missing here in the manual.
    1. If the config.php is having trouble with permissions, log in to the container. Check the container name with docker ps, it shoudl be the default name, so go inside docker exec -it intermesh-groupoffice1 bash
    and then go to /etc/groupoffice and chmod 777 for config.php

    2. SQL
    For reasons unknown, mysql did not connect. I tried to regenereta the password by going to the container docker exec -it godb bash and logging to mysql -u root -p (password groupoffice), then changing password for user groupoffice in db groupoffice but it did not work. So fuck it, just connect to the db as root and with password groupoffice made it :-)

  • web
    December 10, 2019 at 08:23

    Group-Office is a must-have in such case, thanks for the setup guide!

  • Radek Vymazal
    December 11, 2019 at 12:28

    Here is an updated article about instalation GO in docker

Back to Top