Forum Discussion
FICO
11 months agoCommunity Manager
Access rights to the Workbench data directory of Dockerized Workbench
I switched to Linux and found out that Linux version of Xpress does not include Workbench (nor IVE). (By the way, this information is rather hidden in the documentation.)
I am therefore experimenting with the Dockerized version, in particular the "insight-local-filesystem" version, started as `docker compose up workbench`.
While it works, I see that all files within my Workbench data directory are owned by user 'systemd-network' and group 'crontab'. This is rather inconvenient.
Is there some way to change the ownership?
Furthermore, while the app detects when I copy a new directory there (and hit "refresh"), it does not detect symlinks, so I cannot just symlink my existing files to avoid copying the edited files back.
Can this be fixed in some way?
7 Replies
- FICOCommunity Manager
About the symlink issue: could you use hard links instead? Or do you have to link whole directories or across file systems?
- FICOCommunity Manager
The advantage of symlinks is that I can link a whole directory, since my projects normally consists of several .mos file plus other files. Moreover, these files are often integrated in bigger projects, so while I do model development in Workbench, I need the complete setups for actual usage of the models.
This also means that if I just copy the files to the data folder, I need to copy them manually back in order to test them...
I have many of those directories on my computer, sorted under projects they belong to - so my plan (when I found about the dockerized Workbench) was to symlink the directories "on demand" to the Workbench data directory.
But I guess I could just create a directory and then hard-link all files - I tested this and it works.
(Interestingly, using `mount --bind` on a directory does not work either, i.e., it is not discovered by the app.)
But I am open for other types of setups - any idea how others are using this dockerized Workbench?
I guess one could create a setup that would start the container with Workbench data directory pointing to the current working directory, or something along those lines?
By the way, are there any plans to bring a proper Workbench, or other Mosel IDE, to Linux?
- FICOCommunity Manager
Just a short add-on: I tested the idea of starting docker compose with WORKBENCH_DATA_VOLUME pointing to my project/model directory and found two issues:
- one has to point to the directory's parent, since workbench expects everything to be in subdirectories
- one has to make the directory writable by the app; because of the weird file ownership (systemd-network/crontab), one would probably need to give write access to everybody, which is not desirable
- FICOCommunity Manager
Thanks for your feedback. We will update documentation to make the Linux part more obvious.
We recommend using Docker Desktop for Windows and MacOS.
If you wish to use Linux we also recommend Docker Desktop but consider recommendations and restrictions mentioned here: Linux | Docker Docs
- FICOCommunity Manager
Sorry, but how does that answer my question?
On Windows, there is Workbench as a Windows application, so I do not have any need for the Docker version.
And I do not see how using Docker Desktop would have addressed my questions, or the issue of weird file ownership...
- FICOCommunity Manager
Let me try to answer
- The provision of Xpress Workbench via Docker is meant as part of the Xpress Insight Dockerized distribution; it was not intended as a general-purpose all-platforms replacement to the Workbench IDE installers on supported platforms.
- The user:group on file created by the docker process is controlled by the Docker subsystem, this may not be user-configurable
- Docker Desktop is distinct from the regular Linux Docker Engine (see Docker docs link in earlier message), and may have more user-friendly handling of users and groups; this is what we tested on.
- We don't recommend symlinks that reach outside of the workspace, it is meant to be self-contained.
- The workspace root folder should contain each project as an immediate child folder. Metadata will be stored in hidden files/folders in the workspace root.
Hope this helps.
- FICOCommunity Manager
Dear Alexander, thank you for the answers.
I will check Docker Desktop, though I would prefer to avoid it due to the costs...
If the Workbench via Docker is not the intended as a replacement for Workbench IDE, what IDE do you recommend on Linux? I know you provide syntax highlighting for many editors, but I would like something with an integrated compiler (so I can click on error and go to the relevant line) and, if possible, a debugger...