Understanding Docker on NAS Synology

Currently reading
Understanding Docker on NAS Synology

6
0
NAS
DS916+
Operating system
  1. Windows
Mobile operating system
  1. Android
Good Day Community!

I was directed by the Docker Community to Syno-Forum in regards to potential answer for my questions and hope to find advise and insight to a possible solutions.

I am new to Docker and its functionalities and have no background in programing, coding or anything related these areas, just FYI. So please be kind with your language and some what clear on your descriptions if possible.

I recently saw a post for people using Docker to run “gaming servers” for a game that I enjoy playing; Space Engineers, and became interested in using Docker to meet my needs. I unfortunately for the last 37 days have not been able to resolve, inquire on outside forum, or find a solution via the web to fix my problems installing the “containers” provided by creator of said gaming servers. I was hoping to find a friendly community that might assist me in understanding what I might be doing wrong or if I was ever intentionally able to install these containers.

I am running a:
Synology DS916+
INTEL Pentium N3710
CPU clock rate 1.6 GHz
CPU cores 4
Total physical memory 8192 MB

I have installed Docker software with no problems to my NAS and downloaded multiple containers from the Registry Tab of the game server; (devidian-spaceengineers1 as an example) with no avail in running more than 2 minutes per the Overview panel.

I have reviewed my logs and seen nothing of an error. I believe that my problem “might” be related to the Volume tab. I do not understand for sure that Docker want me to point to as a “File/Folder” and a “Mounted Path”.

I understand that the possibility might be with my hardware as well, but at this point I truly have no clue. I would really appreciate the help as I have searched for ways to contact the designers of the container/servers on Github and other sites with no appearance of “comment, reach out, or leave a message for” on the these websites. It is sad to be alone with nowhere to ask any questions and hope that this community can at least give me a light to start to solve my questions.
 
Welcome to the forum!

Actualy, I directed you here, as I know it's easier to find answers amongst people that are walking in the same shoes. It's easier for others to fill in Synology specifics that I might miss.

Thus said, can you share the repo:tag of the image on Dockerhub? Since you seem to strugle with converting the command line configuration parameters to the syno docker ui, could you share screenshots of the current configuration of the container? Especialy the tabs for volumes, ports and environment variables. This will allow us to see the problem and make the right suggestions.
 
I am not sure what images you were looking for, but here are snapshots of the Docker side of installation.
 

Attachments

  • screenshot1.jpg
    screenshot1.jpg
    218.4 KB · Views: 154
  • screenshot2.jpg
    screenshot2.jpg
    204.5 KB · Views: 150
  • screenshot3.jpg
    screenshot3.jpg
    210.6 KB · Views: 128
  • screenshot4.jpg
    screenshot4.jpg
    211.9 KB · Views: 150
Last edited:
screenshot1 shows it: the repo:tag of the image is devidian/spaceengineers:latest.

screenshot2 shows that you need to add following "volumes" (actualy you bind a host folder into a container folder, which in reality is called "bind"):

The "volume" declarations always follows this convention:
Left hand side of the colon is a host path -> "Folder" in Syno-UI - you can choose this path freely.
Right hand side of the colon is the container path -> "Mount Path" in Syno-UI: you have to use the right hand side as given in the description.

This translates to following configurations:
Folder: docker/space-engieers/instances -> Mount Path: /appdata/space-engineers/instances
Folder: docker/space-engieers/SpaceEngineersDedicated-> Mount Path: /appdata/space-engineers/SpaceEngineersDedicated
Folder: docker/space-engieers/steamcmd-> Mount Path: /root/.steam

I assume that you create the folder "space-engieers" in the docker share (can be done after clicking "add folder"in the folder picker) and the required subfolders. This is just a suggestion, of course you can use other folders.

A screenshot of your "Port Mappings" tab would be good, to see wether you added this mappings:
Local Port: 8080 (or whatever you like) -> Container Port: 8080 -> tcp
Local Port: 27016 -> Container Port: 27016 - > udp

In the "Environment" tab you will want to add this entry:
Variable: INSTANCE_NAME" -> Value: TestInstance

Of course your can replace the value "TestInstance" with whatever you like (I would avoid space and special chars though)

I trust that you have setup a world using Space Engineers Dedicated Server and copied it into docker/space-engieers/instances before you start the container.

If the container is still not working after changing the configuration, please post logs that indicate error messages.
 
screenshot1 shows it: the repo:tag of the image is devidian/spaceengineers:latest.

screenshot2 shows that you need to add following "volumes" (actualy you bind a host folder into a container folder, which in reality is called "bind"):

The "volume" declarations always follows this convention:
Left hand side of the colon is a host path -> "Folder" in Syno-UI - you can choose this path freely.
Right hand side of the colon is the container path -> "Mount Path" in Syno-UI: you have to use the right hand side as given in the description.

This translates to following configurations:
Folder: docker/space-engieers/instances -> Mount Path: /appdata/space-engineers/instances
Folder: docker/space-engieers/SpaceEngineersDedicated-> Mount Path: /appdata/space-engineers/SpaceEngineersDedicated
Folder: docker/space-engieers/steamcmd-> Mount Path: /root/.steam

I assume that you create the folder "space-engieers" in the docker share (can be done after clicking "add folder"in the folder picker) and the required subfolders. This is just a suggestion, of course you can use other folders.

A screenshot of your "Port Mappings" tab would be good, to see wether you added this mappings:
Local Port: 8080 (or whatever you like) -> Container Port: 8080 -> tcp
Local Port: 27016 -> Container Port: 27016 - > udp

In the "Environment" tab you will want to add this entry:
Variable: INSTANCE_NAME" -> Value: TestInstance

Of course your can replace the value "TestInstance" with whatever you like (I would avoid space and special chars though)

I trust that you have setup a world using Space Engineers Dedicated Server and copied it into docker/space-engieers/instances before you start the container.

If the container is still not working after changing the configuration, please post logs that indicate error messages.
I have setup the folders, but I was not even sure if I setup them in the right order or layer.
 
May I ask you to share new screenshots after the changes? Also you might like to shed some light on what "right order or layer" refers to :)

N.B.: I have no idea about the gameserver itself, I just fetched the informations from the dockerhub description and wrote how to apply it to the Syno-UI.
 
Good Morning Mr. One-Eyed-King! I have appreciated your help but with a family that constantly needs something, getting back and responding to you in a timely matter has been limited, So my sincerest apologizes and appreciation.

I have screenshot the pages and still have a few questions:

1.0 - I understand the Volume - File/Folder "concept", BUT what make the files/folder important? What is the program/command looking for? .exe? .cfg? etc...

1.1 - As per the screenshot, when I insert the File/Folder path, it then wants a mount? Per the last question, what file is it looking for? Per this question as well, what file will it look for in the next to that you states I must include:

Mount Path: /appdata/space-engineers/SpaceEngineersDedicated
Mount Path: /root/.steam <----- does this folder need to be created "outside" the docker folder?

2. Under General - Does the limiting of memory actually matter? If I allow full access to my resources, will it just take as needed and still allow other application to run? Not that others do, but more concerned if it will effect my kids from streaming movies from the NAS Box.

I have also included in screenshots 3 & 4 files that I referenced in question 1.1. I also wondered if it was necessary to include the files in the dedicated server folder?
 

Attachments

  • screenshot4.1.jpg
    screenshot4.1.jpg
    285.4 KB · Views: 51
  • screenshot3.1.jpg
    screenshot3.1.jpg
    245.9 KB · Views: 52
  • screenshot2.1.jpg
    screenshot2.1.jpg
    232.3 KB · Views: 47
  • screenshot1.1.jpg
    screenshot1.1.jpg
    255.6 KB · Views: 52
Last edited:
Good Morning Mr. One-Eyed-King! I have appreciated your help but with a family that constantly needs something, getting back and responding to you in a timely matter has been limited, So my sincerest apologizes and appreciatio
Welcome and don't worry. We all have lifes and things always tend to get in between :)

1.0 - I understand the Volume - File/Folder "concept", BUT what make the files/folder important? What is the program/command looking for? .exe? .cfg? etc...
I wish I had a different answer than "it depends". The documentation of the container indicates that it expects volumes to be mapped to has three container folders. As I have no idea what the application does, I can only provide a generic response: usualy configurations and persistent data are stored in volumes. Sometimes you even encounter situation where the container expects a specific file to be present with a given name in order to work properly - better images at least create a default file for you, others don't.

Without volumes, the state would be written into the container and would be lost when the container is removed (which will happen if you want to "upgrade" the container based on a new image version). With a volume, the state is written outside the container is not coupled to the lifecycle of the container anymore.

1.1 - As per the screenshot, when I insert the File/Folder path, it then wants a mount? Per the last question, what file is it looking for?
I assume by mount you mean a share? Again: I have no idea, I don't know the application. But the "Mount Path" is a path in the container, it is the target location inside the container the "Folder" (=host path) is mapped to. The container has no idea about the host system or the host's filesystem. Thoug, if you write a file in the host path, the container will be able to access it and the other way arround. It appears if both are connected, but in fact it is the same physical location (same blocks on the host's hardisk).

Per this question as well, what file will it look for in the next to that you states I must include:

Mount Path: /appdata/space-engineers/SpaceEngineersDedicated
Mount Path: /root/.steam <----- does this folder need to be created "outside" the docker folder?
Like written before: please use the Mount Paths as I wrote them (=as they are taken from the dockerhub description) without changing a single character. Those are the container paths the container expects to either find content or persist data. I was wondering about /root/.steam as well. I have no idea if this is just a file or a folder and if you need to prepare the content or if it's created. I would recommend to ask the image maintainer!
2. Under General - Does the limiting of memory actually matter? If I allow full access to my resources, will it just take as needed and still allow other application to run? Not that others do, but more concerned if it will effect my kids from streaming movies from the NAS Box.
It does. It sets a memory limit (!= reservation) -> it will use whatever memory it needs, without "blocking" the declared amount of memory.


Now lets comme to your screenshots:
Screenshot1: Please do not set "Execute contiainer using higher priviliges". The only situation where this should be checked is if the image describes required `docker run --privilged ..` If it's enabled the isolation of the container will be a lot weaker.

Screenshot2: Please set the "Local Ports" to the same ports as the "Container Ports". The Local Ports are the ports you will need to use later to access you application, e.g. http://{NAS-IP}:8080. The auto setting assings a random port. Oddly Port 27016 TCP is not described in the documentation - I assume all values have been created automaticly (or been present after creating the container)?

Screenshot3: Please assign a value to INSTANCE_NAME.

Note: there is no screenshot that shows the volumes. So I can't tell if everything is according documentation or not.
 
I did not send it as when I enter the directory "file/folder", it wants a mount to continue to the next line, but I am unsure of what to add into the "mount" location.

and for the "Local Ports" is that the number directly after my ip link in the address bar of my browser?
 
I did not send it as when I enter the directory "file/folder", it wants a mount to continue to the next line, but I am unsure of what to add into the "mount" location.
Can you share a screnshot of what bothers your? The popup dialg should list your shares and allows to create folders withing shares. Just pick one of your shares, people tend to use the docker share for this and then create the folders needed.

This translates to following configurations:
Folder: docker/space-engieers/instances -> Mount Path: /appdata/space-engineers/instances
Folder: docker/space-engieers/SpaceEngineersDedicated-> Mount Path: /appdata/space-engineers/SpaceEngineersDedicated
Folder: docker/space-engieers/steamcmd-> Mount Path: /root/.steam
This example assumes that you use the docker share, and create the folder "space-engineers" and within it the subfolder "isntances" and klick klick okay, then enter the matching Mount Path.
Then click "add folder" again, navigate to the docker sahre and the folder space-engineers and create the next folder, and so on.
and for the "Local Ports" is that the number directly after my ip link in the address bar of my browser?
Each "Local Port" definied for a container is accessible by [nas name or ip}:{local port}. Not every port is necessarily a fronedend ment to be used with a browser. Though, like I said I don't know anything about the application. I can assist with the docker part, but can't help you with the application itself. It's up to you to master how to use the application...
 
This is where I am now with the directories and setups.
 

Attachments

  • screenshot3.jpg
    screenshot3.jpg
    320.4 KB · Views: 44
  • screenshot4.jpg
    screenshot4.jpg
    194.3 KB · Views: 45
  • screenshot5.jpg
    screenshot5.jpg
    177.2 KB · Views: 38
  • screenshot6.jpg
    screenshot6.jpg
    168.6 KB · Views: 34
  • screenshot7.jpg
    screenshot7.jpg
    185.7 KB · Views: 38
  • screenshot8.jpg
    screenshot8.jpg
    219.6 KB · Views: 43
s4: It seems the INSTANCE_NAME is related to the world you have to create with the tool mentioned in the dockerhub description. At least it appers like that in the logs.

s5: can you please re-read what about wrote about Ports in my second response?! And this time please take what I wrote litteraly :) I have no idea why you came up with modifying the container port...

s7: Same here: please re-read what about wrote about Volumes in my second respone! This also needs to be applied litteraly.
I have no how why you changed the Mount Paths.

I am kind of loosing faith here.
 

Create an account or login to comment

You must be a member in order to leave a comment

Create account

Create an account on our community. It's easy!

Log in

Already have an account? Log in here.

Similar threads

For the heck of it, I just checked again in docker container, and it announced an update was available. I...
Replies
4
Views
638
  • Question
Do realize, that enabling any user to run docker containers is largely the same as giving that user full...
Replies
6
Views
1,197
Hello, I already have it configured perfectly with wireguard. I was looking at the Gluetun configuration...
Replies
4
Views
823
Thanks... I tried something similar with rsync. The docker volume lived in...
Replies
7
Views
898
I can’t find any option to restore just the settings. 1710356648 Phew, managed to fix it. Within the...
Replies
4
Views
683
Good to hear. Deluge has not been updated for almost two years now as an app, nevertheless. But it gives...
Replies
12
Views
1,387
  • Question
Open an issue on that GitHub page. The developers will be glad to assist. OP has posted two threads on...
Replies
5
Views
1,334

Welcome to SynoForum.com!

SynoForum.com is an unofficial Synology forum for NAS owners and enthusiasts.

Registration is free, easy and fast!

Trending threads

Back
Top