Tried from webserver app (not from ns8-dokuwiki app)…
There is the user’s home dir and also virtual folders.
By default, webserver user’s home dir is represented as /srv/sftpgo/data/username (from the point of view of the container) and it can be found on the filesystem at /home/webserver1/.local/share/containers/storage/volumes/websites/_data/username
If user’s home dir is customized not to be under /srv/sftpgo/data/ path, then the home path you specify is created under /home/webserver1/.local/share/containers/storage/overlay/xxxxxxxxxxxxxxxxxxxx/diff/. Same goes for virtual folders. Probably we shouldn’t directly touch storage overlay.
A virtual folder is a mapping between a SFTPGo virtual path and a filesystem path outside the user home directory or on a different storage provider.
Therefore, there is no need to create virtual folders for the users home directory or for directories within the users home directory.
An example of virtual folder:
Create a virtual folder
First, from SFTPGo Web-Admin Interface, create a virtual folder:
giving it at least a Name.
Select the type of storage: let’s say local.
If it’s a local storage, we have to provide an absolute path. The absolute path is within the container (it will be created later on).
The virtual folder is created once a user we have granted access to logins (for instance, using sftp from linux terminal, using SFTPGo webclient, etc.):
webserver1, xxxxxxxxxxxxxxxxxxxx are examples and should be adapted according to your system.
Anything explained above comes from observation and therefore some of the interpretation could be wrong. For better source of information research the official documentation of NethServer and the documentation of each of the tools/apps in use (bearing in mind that some things that apply to apps installed on directly on local filesystem might be a little different on containerized apps: for instance, directory paths shown by the apps are not referencing the absolute / filesystem path but some other path within the container’s realm).
If you are using ns8-dokuwiki app, it comes without sftpgo.
If you have configured SSH/SFTP access on the node beforehand, you could connect to it, transfer files to the app volume mount point (indicated on the dokuwiki instance status page) and chown/chmod them with correct ownership/permissions.
On your dokuwiki instance (user dokuwiki1…) there is an .ssh folder that can also be configured to connect directly to the instance if necessary by using public key authentication (as app users are passwordless, I guess with additional restrictions in place; note some could have nologin shell), by adding your public id_rsa key to the authorized_keys file and restarting sshd service), but maybe it’s enough doing it with your custom node user with sudo powers.
An alternative could be to use some dokuwiki plugin for the task, if there’s any.
root@ns8:~# ls /srv/sftpgo/
ls: cannot access '/srv/sftpgo/': No such file or directory
root@ns8:~# ls -lsa /srv
total 8
4 drwxr-xr-x 2 root root 4096 Nov 22 21:51 .
4 drwxr-xr-x 18 root root 4096 Mar 6 08:37 ..
I interpret this to mean that an essential installation result is missing.
If user’s home dir is customized not to be under /srv/sftpgo/data/ path, then the home path you specify is created under
I didn’t customize anything
root@ns8:~# ls -lsa /home/webserver1/.local/share/containers/storage/overlay/
ls: cannot access '/home/webserver1/.local/share/containers/storage/overlay/': No such file or directory
root@ns8:~# ls -lsa /home/webserver1/.local/share/containers/storage/
total 52
4 drwx------ 11 webserver1 webserver1 4096 Mar 6 07:30 .
4 drwx------ 4 webserver1 webserver1 4096 Mar 6 07:29 ..
4 -rw-r--r-- 1 webserver1 webserver1 8 Mar 6 07:29 defaultNetworkBackend
4 drwx------ 2 webserver1 webserver1 4096 Mar 6 07:29 libpod
4 drwx------ 2 webserver1 webserver1 4096 Mar 6 07:29 mounts
4 drwx------ 2 webserver1 webserver1 4096 Mar 6 07:29 networks
4 -rw-r--r-- 1 webserver1 webserver1 64 Mar 8 08:57 storage.lock
4 drwx------ 2 webserver1 webserver1 4096 Mar 6 07:29 tmp
0 -rw-r--r-- 1 webserver1 webserver1 0 Mar 6 07:29 userns.lock
4 drwx------ 3 webserver1 webserver1 4096 Mar 6 07:29 vfs
4 drwx------ 5 webserver1 webserver1 4096 Mar 11 01:31 vfs-containers
4 drwx------ 6 webserver1 webserver1 4096 Mar 6 08:44 vfs-images
4 drwx------ 2 webserver1 webserver1 4096 Mar 11 01:31 vfs-layers
4 drwx------ 6 webserver1 webserver1 4096 Mar 11 01:31 volumes
I created the user sftpgo_marko.
Strangely enough, I cannot log on to WebAdmin with this user, bun in WebClient.
In WebClient I created a folder:
For this I want to upload the bak file to any directory created by SFTPgo.
I use backup tool to backup all ressources of my DokuWiki.
But there is no restore option of such created zip file.
Therefore I wanted to provide the zip file with SFTPgo and place it on console level in the above mentioned path and unzip it.
Hi Martin,
I’m certainly finding the switch to container-based architecture very difficult and hope that others find it easier so that semi-professional users like me don’t give up in discouragement and get lost as a target group for Nethserver.
In answer to your question: I have often asked myself whether it is possible to log into a container via ssh in order to work on the console as usual. I was thinking of data storage or editing configuration files. (The challenge with a Wordpress installation is still ahead of me…) I have not yet found a way to do this.
If I use ssh webserver1@localhost I’m landing within my host/node1 again.
# ssh webserver1@localhostThe authenticity of host 'localhost (::1)' can't be established.
However, at least for my current case (DokuWiki) this does not seem to be necessary, as the data storage for DokuWiki takes place outside the container below the /home/dokuwiki4 path.
In all other cases, too, it seems to be the case that the data is not stored within containers. I hope the learning is not wrong. My head is pretty mixed up… Container, Docker, Podman…
When I started to tinker with VMs, i get lost fast into… networking. I was convinced that my laptop (quad core) at the time was enough, the same with 512mb of ram par guest, and magnetic storage. I were wrong.
After several year I got more or less a gist of what i can and I cannot do with VMs. Far from defining myself expert, but I think I can define myself familiar.
Container is not a VM.
Is bigger than a pure software, but smaller than an OS, even it has networking stack for allowing a lot of different setups and specific isolation, if necessary.
I don’t know how you like containers, but neverthless, they are here to stay, becase growing number of projects and companies are delivering containter rather than packages/installer for software. Can help to reduce a lot issues on install, deployment, migration, upgrade. I don’t like them that much, but probably it’s me and not them.
Simply… don’t use a container like a VM. Like using comibined wrench for opening a can. Probably you’ll succeed, however it will be a long, panicking and hassle-full experience.
My only scope at the moment is to understand NS8 and to be able to administer it at some point.
I have not yet come into contact with container-based systems and hoped that as a Methuselam I would never have to do so. But you’re right, there’s no way around it.
Now I hope to be able to work my way along my tried and tested path of “try and error” using NS8 as an example.
I have no chance on a purely academic path.
But that necessarily leads to me having to annoy the community here with my low skill level.
I’ll only give up when you give up annoyed.
It doesn’t start from your OS / path but from a path within the linux user related to that container.
Either way, that is to share an existing folder (if I’m not mistaken), for instance one folder you created beforehand from “My files” section. Then, on the Share section, selecting the shared file or folder, you can get a link with the “Link” button .
The directory is empty.
No /srv/sftpgo/data/username
for instance one folder you created beforehand from “My files” section. Then, on the Share section, selecting the shared file or folder, you can get a link with the “Link” button .
Most likely I am using unauthorized local “root” directories.
So I ask again, what are recommended local “root” directories in which you could define your own subdirectories?
That path is from the point of view of the container. Real path on filesystem differs.
sftpgo_marko folder is the home folder for sftpgo_marko user. When accessing from sftp or sftpgo client you don’t see that folder name but “Home (house icon)”. So to speak, it is the landing folder for that user.
“My files” section appears when accessing the sftpgo web client (not on sftpgo web admin interface).
This are virtual folders. You first have to assign access to them to the desired “Users”. After that, at user login with an sftp client the folders will show-up for that user. The folder name the user will see will we the one you assigned for that user (even a path, as on the example with dodo & toto from the screenshots on my post above).
Bear in mind, the paths are from the poing of view of the container, they do not corresponde to the real path on the filesystem (i.e. if you created a folder at /home/marko from terminal, the container won’t see it).