I did something similar, when I wanted the internal SATA port, I was using a small 60GB SSD drive and bought a USB to SATA cable and used that on 1 of the rear USB ports. I feel SSD's are a little more robust than a thumb drive, it's been working well since I made the change.
Posts by trythat
-
-
Not with the way libvirt is creating the lxc container. I honestly don't know why you are doing this though. Running a container in a container is something I don't want to make changes for.
I follow a youtube channel called @scottibyte and he explains as others have that a lxc container uses up less resources than a vm. He use docker within a lxc container a lot, I do understand to some extent why he does it.
I've not tried it yet, as I've not seen many posts on here regarding lxc, which to me says either it's a little harder than using bare metal ubuntu and lxc, or people really just want to use docker an vms, which is pretty easy to do.
The scottibyte channel is a good jumping in place to consider using lxc, very well put together tutorials. Plus I believe lxc is extremely popular with proxmox.
I might actually have a go with my test vm for OMV and see what I can accomplish, probably more in the autumn/winter though, as I expect it might become a bit of a rabbit warren once I start playing with it

-
When things are stored in the database and on the filesystem, it is free backup. And I honestly don't know if you can edit files on the filesystem with portainer either.
I've not used portainer for ages now, I like the plugin and it does all I want. I can work around any OMV 'quirks' from my end, there aren't many TBH. I really do like the plugin.
-
If people use it how I think they will, they will be editing every time they add a container/compose.
I think this is how I intend to use this feature - For 'global.env' I've setup a few variables i.e. PGUD that I use often, plus folders I use regularly i.e media, downloads etc. Then if I wanted something like passwords for cameras, I will then add that to the container.env file.
But as with most things PC related there is rarely just one way to do it
As long as it works for me, I'm a happy bunny.I didn't add the auto generated header to the global.env file for the same reason I removed it from the regular .env file creation for the Files tab - it causes issues for some things. I would have to find the post with an example of how it causes problems. It was reported by a couple of users. But you shouldn't rely on that header. If a file is maintained by something in OMV, you are most likely not able to make changes from the command line.
OK, I'm getting used to hearing 'That is the OMV way.'

-
That is the OMV way. I don't have anyway to sync the database if you edit outside the plugin. Is there a reason to edit the file outside of the plugin?
Not really, apart from in vs-code I have a tab for 'global.env' open. But TBH I expect a global file is not going to be edited very often. Also in the compose files there is a warning, but not in 'global.env', just dotting i's and crossing t's.
-
The enabled checkbox on the global.env editor determines if global.env exists. If you disable it, the file will be deleted but environment variables will stay in the database. When you enable it, the file will be recreated.
Does this work the same as compose yml files, you can only edit from within plugin?
-
Works like a charm. Think I prefer this method rather than using symlinks for my containers.
Will make writing yml files a little easier, nicely thought out and implemented.
-
Great, I've just been messing about for most of the afternoon, trying to get your original solution to work and couldn't. Was just going to start reading up on env files, glad I checked here first.
Look forward to new release.
-
Got to say that I think 'CHANGE_TO_COMPOSE_DATA_PATH' is the one of the best additions you've made to the plugin! Makes life so much easier when adding containers and using test OMV vm's (yes I have set 1 up). Great addition!!
-
I changed Compose folder to root:users, and everyone.
When I try and add container no files are saved to compose folder.
Code
Display Moressh'd into VM cd to drive ls -la drwxr-xr-x 9 root root 4096 Jul 9 11:15 . drwxr-xr-x 6 root root 4096 Jul 6 17:57 .. drwxrwsrwx 2 root users 4096 Jul 6 17:58 appdata -rw------- 1 root root 6144 Jul 6 18:10 aquota.group -rw------- 1 root root 7168 Jul 6 18:10 aquota.user drwxrwsrwx 4 root users 4096 Jul 9 11:21 compose drwxrwxrwx 2 root users 4096 Jul 9 11:13 composecomposerize drwxrwxrwx 2 root users 4096 Jul 9 11:13 composediun drwxrwxrwx 2 root users 4096 Jul 9 11:15 composedozzle drwx------ 2 root root 16384 Jul 6 17:56 lost+found drwxrwsrwx+ 4 root users 4096 Jul 6 18:00 media compose was already there from other testing. folder composeCONTAINER contains both yml files.Below is when doing 'Check'
Code
Display MoreFailed to execute command 'export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LANG=C.UTF-8; export LANGUAGE=; docker-compose --file '/srv/dev-disk-by-uuid-791e0595-fd15-4e1c-a1fc-cc15d932ccbc/compose/diun/diun.yml' --env-file '/srv/dev-disk-by-uuid-791e0595-fd15-4e1c-a1fc-cc15d932ccbc/compose/diun/diun.env' config 2>&1': service "diun" refers to undefined volume CHANGE_TO_COMPOSE_DATA_PATH/diun: invalid compose project OMV\ExecException: Failed to execute command 'export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LANG=C.UTF-8; export LANGUAGE=; docker-compose --file '/srv/dev-disk-by-uuid-791e0595-fd15-4e1c-a1fc-cc15d932ccbc/compose/diun/diun.yml' --env-file '/srv/dev-disk-by-uuid-791e0595-fd15-4e1c-a1fc-cc15d932ccbc/compose/diun/diun.env' config 2>&1': service "diun" refers to undefined volume CHANGE_TO_COMPOSE_DATA_PATH/diun: invalid compose project in /usr/share/openmediavault/engined/rpc/compose.inc:566 Stack trace: #0 /usr/share/php/openmediavault/rpc/serviceabstract.inc(619): OMVRpcServiceCompose->{closure}('/tmp/bgstatusrH...', '/tmp/bgoutputOP...') #1 /usr/share/openmediavault/engined/rpc/compose.inc(569): OMV\Rpc\ServiceAbstract->execBgProc(Object(Closure)) #2 [internal function]: OMVRpcServiceCompose->doCommand(Array, Array) #3 /usr/share/php/openmediavault/rpc/serviceabstract.inc(123): call_user_func_array(Array, Array) #4 /usr/share/php/openmediavault/rpc/rpc.inc(86): OMV\Rpc\ServiceAbstract->callMethod('doCommand', Array, Array) #5 /usr/sbin/omv-engined(537): OMV\Rpc\Rpc::call('Compose', 'doCommand', Array, Array, 1) #6 {main} -
That is expected. The Delete button will delete the stop the compose, delete the compose file and env, delete the directory (not recursively), and then delete the database entry. If you undo that change, the database entry will be brought back which is all that is needed to recreate the dir and files it just deleted.
I can't. By that time, the database entry would be gone and the saltstack code would know to delete it. I don't want the code to delete everything in that directory and recreate all compose files every time saltstack runs.
Right, I understand that. I'm going to have lookup 'saltstack' as this seems to control a lot of what OMV does or allows.
QuoteWhat do you mean by "live"? When you click the save button in the edit window, it is writing to the database and then executing the saltstack code which should rewrite the compose and env files.
In the above example, when I undo changes, the container still shows in the Files tab, but to recreate the container folder and yml files in the Compose folder, I have to click edit and save. And you can only click save after making some sort of change i.e adding or removing a space.
I just thought if the folder was not in the Compose folder and the file window >1 character then the Save button could be used straight away.
QuoteWhenever the changes are applied right away (from the add or edit box), it doesn't keep the highlighted name. I can't change that behavior unless I change the plugin back to not applying the add or edit right away.
OK, fair enough, I'd rather have the auto apply.
-
I'll try and explain this the best way I can, please ask questions if need be. I don't remember seeing this bought up before, and it might be a very unusual problem, without an easy fix, I also think it might be a OMV one rather than this plugin.
I've created a new container from within Files tab, here are the steps to reproduce, all from within Files Tab
1. Press Down
2. Press Delete, Yes
3. Click undo changes, Yes
Files tab still list container name.
Compose folder does not have container name directory.
But you can still click edit and make a change and save it.
The plugin will then recreate the container folder in the Compose folder, you can then click 'Up' and all is well.
Actually looking at it, it would seem as though the plugin should not delete folder until Apply changes have been confirmed.
Also is there a reason why the 'Save' button can not be live as soon as you enter the edit window? Or at least be live if the character count >1?
I know I asked this before, but it was when loads of questions was coming your way. Almost all the actions that work on a highlighted name in Files tab, keep the highlight on after completing the action i.e 'check', I know they use a pop out box, and edit does not, but could the name stay highlight after using edit?
-
- Typing # BACKUP at the end of the line that defines a volume will include that volume in the backup
I've been out of the forum for a couple of days, which means I've missed a bit, this plugin is changing at a rapid pace
I know when you me were testing the backup/restore, ryecoaaron did say that '# BACKUP' would Backup even if the volume was larger than the max value in setting, is this still the case? -
You shouldn't do tests like this on your production system, use virtual machines. If it breaks you lose nothing.
It is also easy to do tests, take a snapshot of the clean version, if it breaks, you just need to restore from the snapshot and retry, it takes a minute to do it.
Yeah I know, I used to enjoy computing on the edge
But the more I thought of it, the more I thought there's KVM in OMV use it! And as you say there's the snapshot thing as well, I'm just spinning up a VM now. -
Ah, I got you, when creating volumes in the files.yml, you'd add the above.
Again it's 1 of those things that might not crop up very often, I did try backing up 2 containers and it worked ok, still not sure if I wanted 0=unlimited for a couple of containers and 1GB for the rest, I'd just create 2 jobs. But I might want unlimited for all containers, thats a lot of comments to add.
Personally, I'm not sure I'd want much more than my compose files, and my appdata folder. My CCTV and media are on drives of their own. At the moment I just backup my 1TB ssd to a backup 2TB NVME with a few other folders and then syncthing somewhere else.
QuoteAre you running these tests on an important system??
I am, I've done this loads of times, I have backups of what I think is important, and sometimes a breakage is just what is needed, to get a better system. In my window days, I also rebuilt my system at the least every 6 months.
But I think I might spin up a simple OMV VM, as it wasn't quite as enjoyable as in the old days (this getting older is a pain)
In fact I'm going to do that now! Thanks for the push. -
While I remember.
Regarding Backup max size, should a value of '0' = unlimited? I know you can't enter 0 at the moment and I know I could enter say 100, but in lots of software '0' = unlimited.
-
Did you re-download the .deb file and install it? Make sure to delete the old .deb in the download directory as well.
Just wgetted it, I try and delete as soon as installed. Got caught out that way before
-
The new package fixes that error.
Just wgetted and can log in now ... phew
-
-
sudo apt-get -f install
Code
Display Moresudo apt-get -f install Reading package lists... Done Building dependency tree... Done Reading state information... Done Correcting dependencies... Done The following additional packages will be installed: python3-argcomplete python3-toml python3-xmltodict yq The following NEW packages will be installed: python3-argcomplete python3-toml python3-xmltodict yq 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. 1 not fully installed or removed. Need to get 80.1 kB of archives. After this operation, 331 kB of additional disk space will be used. Do you want to continue? [Y/n] Get:1 https://debian.mirrors.uk2.net/debian bullseye/main amd64 python3-argcomplete all 1.8.1-1.5 [29.7 kB] Get:4 https://openmediavault-plugin-developers.github.io/packages/debian shaitan/main amd64 yq all 3.1.0-3 [19.2 kB] Get:2 https://debian.mirrors.uk2.net/debian bullseye/main amd64 python3-toml all 0.10.1-1 [15.9 kB] Get:3 https://debian.mirrors.uk2.net/debian bullseye/main amd64 python3-xmltodict all 0.12.0-2 [15.2 kB] Fetched 80.1 kB in 0s (302 kB/s) Selecting previously unselected package python3-argcomplete. (Reading database ... 54529 files and directories currently installed.) Preparing to unpack .../python3-argcomplete_1.8.1-1.5_all.deb ... Unpacking python3-argcomplete (1.8.1-1.5) ... Selecting previously unselected package python3-toml. Preparing to unpack .../python3-toml_0.10.1-1_all.deb ... Unpacking python3-toml (0.10.1-1) ... Selecting previously unselected package python3-xmltodict. Preparing to unpack .../python3-xmltodict_0.12.0-2_all.deb ... Unpacking python3-xmltodict (0.12.0-2) ... Selecting previously unselected package yq. Preparing to unpack .../archives/yq_3.1.0-3_all.deb ... Unpacking yq (3.1.0-3) ... Setting up python3-xmltodict (0.12.0-2) ... Setting up python3-toml (0.10.1-1) ... Setting up python3-argcomplete (1.8.1-1.5) ... Setting up yq (3.1.0-3) ... Setting up openmediavault-compose (6.9) ... Updating configuration database ... Running migration conf.service.compose_6.9 Processing triggers for openmediavault (6.4.7-1) ... Updating workbench configuration files ... Restarting engine daemon ...Code
Display Moresudo omv-engined -df omv-engined[1878541]: Daemon process started (pid=1878542) omv-engined[1878541]: trythat@omv:~$ Registered data models: conf.service conf.service.compose conf.service.compose.dockerfile conf.service.compose.file conf.service.compose.job conf.service.filebrowser conf.service.kvm.job conf.service.nfs conf.service.nfs.share conf.service.nut conf.service.remotemount conf.service.remotemount.mount conf.service.resetperms conf.service.rsync.job conf.service.rsyncd conf.service.rsyncd.module conf.service.smartmontools conf.service.smartmontools.device conf.service.smartmontools.job conf.service.smb conf.service.smb.share conf.service.ssh conf.service.symlinks conf.service.symlinks.symlink conf.service.usbbackup conf.service.usbbackup.job conf.service.wetty conf.service.wireguard conf.service.wireguard.client conf.service.wireguard.custom conf.service.wireguard.tunnel conf.system.apt.distribution conf.system.backup conf.system.certificate.ssh conf.system.certificate.ssl conf.system.cron.job conf.system.filesystem.mountpoint conf.system.filesystem.quota conf.system.hdparm conf.system.mdadm.device conf.system.monitoring.perfstats conf.system.network.dns conf.system.network.interface conf.system.network.iptables.rule conf.system.network.proxy conf.system.notification.email conf.system.notification.notification conf.system.omvextras conf.system.powermngmnt conf.system.sharedfolder conf.system.sharedfolder.privilege conf.system.sharedfolder.snapshot.lifecycle conf.system.syslog.remote conf.system.time conf.system.usermngmnt.group conf.system.usermngmnt.homedir conf.system.usermngmnt.user conf.webadmin rpc.apt.getchangelog rpc.apt.install rpc.apt.setsettings rpc.apt.upload rpc.backup.set rpc.certificatemgmt.copysshid rpc.certificatemgmt.create rpc.certificatemgmt.createssh rpc.certificatemgmt.set rpc.certificatemgmt.setssh rpc.common.devicefile rpc.common.getlist rpc.common.objectuuid rpc.compose.doautocompose rpc.compose.dodockercmd rpc.compose.doprune rpc.compose.set rpc.compose.setdockerfile rpc.compose.setexample rpc.compose.setfile rpc.compose.setjob rpc.config.applychanges rpc.config.delete rpc.config.get rpc.config.revertchanges rpc.config.set rpc.cron.getlist rpc.cron.set rpc.diskmgmt.sethdparm rpc.diskmgmt.wipe rpc.emailnotification.set rpc.exec.attach rpc.exec.getoutput rpc.exec.isrunning rpc.exec.stop rpc.filesystemmgmt.create rpc.filesystemmgmt.createbtrfs rpc.filesystemmgmt.enumeratemountedfilesystems rpc.filesystemmgmt.grow rpc.filesystemmgmt.hasfilesystem rpc.filesystemmgmt.setmountpoint rpc.filesystemmgmt.umount rpc.folderbrowser.get rpc.fstab.getbydir rpc.fstab.getbyfsname rpc.fstab.set rpc.iptables.setrule rpc.iptables.setrules rpc.iptables.setrules6 rpc.kvm.adddisk rpc.kvm.addfspass rpc.kvm.addhostoptical rpc.kvm.addoptical rpc.kvm.clonevm rpc.kvm.convertvolume rpc.kvm.createbacking rpc.kvm.createlinkedclone rpc.kvm.dobackup rpc.kvm.dochangecpumemory rpc.kvm.docommand rpc.kvm.dorestore rpc.kvm.doweb rpc.kvm.downloadiso rpc.kvm.enumeratevolumes rpc.kvm.enumeratevolumesbyvm rpc.kvm.name rpc.kvm.path rpc.kvm.removedisk rpc.kvm.removefspass rpc.kvm.resizedisk rpc.kvm.setjob rpc.kvm.setlxc rpc.kvm.setmacvtap rpc.kvm.setnetwork rpc.kvm.setnotes rpc.kvm.setpool rpc.kvm.setvm rpc.kvm.setvmxml rpc.kvm.setvolume rpc.kvm.snapshot rpc.kvm.usb rpc.kvm.vmname rpc.kvm.vnc rpc.kvm.volumecommand rpc.logfile.clear rpc.logfile.getcontent rpc.logfile.getlist rpc.network.enumeratebondslaves rpc.network.enumeratebridgeslaves rpc.network.getinformation rpc.network.identify rpc.network.setbondiface rpc.network.setbridgeiface rpc.network.setethernetiface rpc.network.setgeneralsettings rpc.network.setproxy rpc.network.setvlaniface rpc.network.setwirelessiface rpc.nfs.setsettings rpc.nfs.setshare rpc.notification.isenabled rpc.notification.set rpc.notification.setlist rpc.nut.set rpc.omvextras.set rpc.perfstats.set rpc.plugin.install rpc.plugin.remove rpc.plugin.upload rpc.powermgmt.set rpc.powermgmt.setscheduledjob rpc.quota.getbytypename rpc.quota.set rpc.quota.setbytypename rpc.raidmgmt.add rpc.raidmgmt.create rpc.raidmgmt.grow rpc.raidmgmt.remove rpc.remotemount.set rpc.resetperms.setsettings rpc.rsync.set rpc.rsyncd.setmodule rpc.rsyncd.setsettings rpc.session.login rpc.sharemgmt.copyprivileges rpc.sharemgmt.createscheduledsnapshot rpc.sharemgmt.delete rpc.sharemgmt.deletesnapshot rpc.sharemgmt.fromsnapshot rpc.sharemgmt.getfileacl rpc.sharemgmt.getprivilegesbyrole rpc.sharemgmt.restoresnapshot rpc.sharemgmt.set rpc.sharemgmt.setfileacl rpc.sharemgmt.setprivileges rpc.sharemgmt.setprivilegesbyrole rpc.smart.setdevicesettings rpc.smart.setscheduledtest rpc.smart.setsettings rpc.smb.setsettings rpc.smb.setshare rpc.ssh.set rpc.symlinks.setsymlink rpc.syslog.setsettings rpc.system.reboot rpc.system.setdate rpc.system.settimesettings rpc.system.shutdown rpc.system.standby rpc.usbbackup.set rpc.usermgmt.authuser rpc.usermgmt.deletegroup rpc.usermgmt.deleteuser rpc.usermgmt.getgroup rpc.usermgmt.getuser rpc.usermgmt.importgroup rpc.usermgmt.importuser rpc.usermgmt.setgroup rpc.usermgmt.setpasswordbycontext rpc.usermgmt.setsettings rpc.usermgmt.setuser rpc.usermgmt.setuserbycontext rpc.webgui.clearlocalstorageitems rpc.webgui.getlocalstorageitems rpc.webgui.setlocalstorageitem rpc.webgui.setsettings rpc.wireguard.setclient rpc.wireguard.setcustom rpc.wireguard.settunnel Registered file system backends: btrfs cifs davfs exfat ext ext2 ext3 ext4 f2fs fuse fuseblk hfsplus iso9660 jfs msdos nfs nfs4 none ntfs reiserfs s3fs swap udf ufs umsdos vfat xfs PHP Parse error: syntax error, unexpected '$object' (T_VARIABLE) in /usr/share/openmediavault/engined/rpc/compose.inc on line 1354