Skip to main content

we have run FME server on windows. Here we used an UNC path as the input folder parameter for the workbenches. This allowed us to store the data that we would like to process on a (windows) network share. Another benefit is that we are able to run the workbench in FME Desktop with the same parameters as in FME Server, since we do not rely on the FME_SERVER_* parameters in the workbench.

 

We are now migrating to a FME Linux / Docker installation, and the UNC path solution does not work anymore. We are looking for a way to just change the content of input parameter, and still access the data on the (windows) network share.

 

I can't find the instructions on setting this up. Would we need to mount the windows network share from the linux server?

 

Additional questions:

Just mounting the windows share from the linux host is not sufficient. Is it possible to access this mount on the linux host from within the FME server docker by using bind mounts?

Hi @r_huesken​,

 

Unfortunately, we don't have a specific direction for mounting to a docker container, but there are many methods discussed on docker forums. The only thing to be aware of is that FME Server components run under the fmeserver user, so when mounting you should be using the GID and UID of the fmeserver user, as shown in the documentation.


Hi @r_huesken​,

 

Unfortunately, we don't have a specific direction for mounting to a docker container, but there are many methods discussed on docker forums. The only thing to be aware of is that FME Server components run under the fmeserver user, so when mounting you should be using the GID and UID of the fmeserver user, as shown in the documentation.

Hi,

 

Thanks for the reply. I'm not sure if I understand you correctly. You mentioned "mounting to a docker container". However, I attempt to have the fmeserver (inside the container) access a network share outside (!) the docker container. Is that possible?

 

Some background: We are currently running under windows (express install) and there we can access the network share. This share is passed to the workbenches as input parameters (e.g. a parameter "INPUT_FOLDER" with a value "\\\\<some-server>\\ServiceData\\Dev\\<rest-of-path>"). We do not use any of the resources defined within FME_SERVER such as Data or Temp. Under docker, I noticed that the reader of the workbench translates this INPUT_FOLDER parameter value to : "/<some-server>/ServiceData/Dev/<rest-of-path>". This fails because fmeserver (i.e. the reader) cannot locate that folder.

 

In my opinion, I need to tell the fme server docker container about this network share (mount it in the Linux host and pass volume commands to the fmeserver container?). Is this the way to go?

 

Once this is in place, I can change the values of the input parameters to make things work again.

 


hi,

 

In case anybody might be interested, please check out these links:

 

We have achieved in getting this to work, by making some adjustments in the docker-compose yaml

  • add a volume in both the fmeservercore and the fmeserverengine services (the latter is most important)
  • add a volume in the volumes section at the very endof the yaml to mount a cifs filesystem

 

Recommendation for SAFE: make docker documentation for fmeserver more verbose. Most examples refer to a windows installation...

 


hi,

 

In case anybody might be interested, please check out these links:

 

We have achieved in getting this to work, by making some adjustments in the docker-compose yaml

  • add a volume in both the fmeservercore and the fmeserverengine services (the latter is most important)
  • add a volume in the volumes section at the very endof the yaml to mount a cifs filesystem

 

Recommendation for SAFE: make docker documentation for fmeserver more verbose. Most examples refer to a windows installation...

 

Thanks for your comments, and advice it's appreciated by us and the community.


Reply