Two Nodes Docker Apps setup on ZFS replicated datastore question

Hello awesome people!
I hope someone can provide example or point me to documentation.

I have two server nodes.
Node1 is running all apps in docker on datastore1 and datastore2
With zfs replication task i replicate datastores from node 1 to node 2.
Is it possible to setup the docker apps without starting them on the second node?

TLDR:
My servers are hardware identical, based on Supermicro M11SDV-8C+ with 64GB memory
datastore1 is nvme based and datastore 2 is HDD based. I use the same naming and disk arrangement. Arc A310 4GB for docker apps to help with video and photos.
I use one of four network ports with direct cable connection solely for replication tasks with periodic snapshots. It works well.
I would like to setup the apps on the second node, so in worst case, if node 1 goes down, i would remove read -only flag from datastores and update and start the docker apps. Of course some IP changes are necessary.
What would be the correct way to do this?

I was lucky to purchase the servers before the prices went to hell.
I started my journey years ago, with a synology nas. Later i added docker to it anda new world of possibilities has opened. After finding the apps to replace the synology native apps, i was searching for the right os to host them. I went from proxmox with ubuntu server, through unraid and some other Solutions until i landed firmly on Tremas Scale.

I am not sure what you are trying to accomplish. I have a similar setup (though my second system is remote). I have separate apps running on my secondary system. The replicated datasets should be read only, so you dont want to configure apps on the backup server. If you are trying to run a cluster, TN Community edition is not going to work for you.

Beyond dealing with the Replication, making clones and read-only issues:

You either replicate apps configuration by hand, or, get really creative to directly hack the database your way :grin:.

I would, hope the TN Enterprise version includes that, but you can’t tell with all the direction and architecture changes in the last 2 years.

Hello Theo, thanks for replying :slight_smile:
I am not trying to configure a cluster. The second node is not used - beside the datastore replication, that i think of also as a backup.
Second node will be used only in case the first node fails.

So i wanted to create the Docker Apps on the second node in without starting them, so i have it faster up and running.

Or could i restore the saved backup from the first node on second node?
It has the same hardware and datastore configuration.

Hey there truenas-fan :slight_smile:

Thanks for the reply.
I would like to replicate the apps config by hand, but i don’t see any possibility to do it without starting them after configuring them. Since the replicated storage is read only, apps would fail to deploy.
I do not wish to hack the database.

For backups, if you backup your entire pool to the backup, your app data is there already. The pool is read only so you can’t install applications (nor do you need to). If you have a catastrophic failure and need to bring your system up on the secondary server, you need to make your replicated pool read/write, then unset your application pool and then set it to the replicated pool and your apps should be there and come up. I did this a few years ago, right after TN went to Docker and it worked fine. If you have your entire pool replicated, you have what you need already.

Thanks Theo :slight_smile:
I presume by pool you mean the datastore?
I understand now, that when i am replicating the whole Datastore, it also replicated the app data.
So if i i set the replicated datastore to read/write and set the app pool it will take the replicated ix-app in use.
I hope i understood correctly.

investigating a bit more, i see that the hidden .ix-apps folder is created in /mnt directly and not in the subfolders of the datastores.
I replicate datastores not pools. Should i add replication of /mnt/.ix-apps ?

i see so mount point /mnt/.ix-apps is actually zfs source path datastore1/ix-apps
so i should manually setup the path for replication to the second node.

Just replicate the entire POOL, exclude the expendable dataset (like I have ChannelsDVR and I don’t need to backup my wife’s 300 hours of recorded TV). This is the guide I followed from the awesome Captain Stux HERE.

Thank you for the details and the link! This helped me a lot!