Skip to content

# Special Instructions for Installing with Docker on Synology NAS (Intel/AMD)

Make sure the Docker package is installed on your compatible (x86_64 architecture) Synology NAS. You can install the package from the Package Center application.

1. Make a subdirectory to contain Reactor's data and configuration files. This can be anywhere on your NAS to which you have access; a subdirectory within your user home directory is recommended. You can use other directories, even on other volumes, if you choose. If uncertain right now, just create a `reactor-data` subdirectory in your home directory;

2. Open Docker by clicking the Open button under the Docker item in the Package Center of your NAS;

3. In the Docker app, go to the Registry, and search for `toggledbits`. The listing for `toggledbits/reactor:latest-amd64` should come up. Click the row, and then click the Download button;

4. Click the Image tab in the left navigation area of the Docker window, and you'll see the downloaded image. Click that row;

5. Click the Launch button to open the container creation dialog;

6. Adjust the `Container Name` if you wish. The `High Privilege` and `Resource Limitation` checkboxes should be left off. Leave all other settings at their defaults for now;

7. Click the Advanced Settings button. On the Advanced Settings dialog that comes up are several tabs... we'll work through these one at a time...

8. On the Advanced Settings tab, turn on the Enable auto-restart checkbox. Then click the Volume tab header;

9. On the Volume tab, click Add Folder. Then, under `File/Folder`, navigate to and select the directory you created earlier to contain your Reactor data. Under `Mount Path`, enter `/var/reactor`. Do not check the read only checkbox. When ready, click the Network tab header;

10. The Network Name listed should be `bridge`; add it if it's not there. Then click the Port Settings tab header;

11. On the Port Settings tab, the `Container Port` should show `8111`. The `Local Port` must also show `8111`; if it does not (e.g. it shows `Auto` or something else), click on the `Local Port` and change it to `8111`. Click on the Environment tab header;

12. On the Environment tab, add a variable called `TZ` and enter the canonical name of your local timezone, which is of the form `area_name/locale_name` (e.g. `America/New_York` or `Europe/Prague`. If you don't know it, you can browse this list. Also make sure the `PORT` environment variable agrees with the port assigned on the Network tab (8111 is the default);

13. Click Apply to save your settings. This will close the Advanced Settings dialog and take you back to Create Container;

14. Click Next and you'll see a summary of the container configuration. Turn on the Run this container after the wizard is finished checkbox and click Apply to start Reactor.

After a few seconds to create the container and start it up, you should be able to browse to port 8111 on your NAS and see the Reactor UI: `http://your-nas-IP:8111/`

In the next steps, you'll be doing configuration by modifying the configuration files. These files are located in the Reactor data directory you created, in the `config` subdirectory. Any reference in other instructions to `logs`, `config` or other subdirectories will mean a subdirectory in your Reactor data directory. When asked to stop and start your container, you can just use the on/off slider in the Docker container list on the Reactor container's row.

You may now proceed to Concepts & Terminology, where you'll learn some basics about Reactor's objects, and then start to configure your hubs/controllers and get access to their devices.

## Upgrading the Container

When new versions of the image are released, you can upgrade your container as follows:

1. Open Docker by clicking the Open button under the Docker item in the Package Center of your NAS;
2. In the Docker app, go to the Registry, and search for `toggledbits`. The listing for `toggledbits/reactor` should come up. Click that row, and then click the Download button;
3. Go to the Containers list;
4. Click on your Reactor container;
5. Choose Reset from the Action dropdown (this is Clear on Docker apps earlier than 20.10.3-0554);
6. Start the container.
7. Go to your Reactor UI, hard-refresh your browser, and then confirm in the Reactor UI that the version/build number shown (upper-right corner) is that of the expected build.

Updated 2023-Jan-16