Forum: 

How To Create A Customized Appliance

Brad Rhoads's picture

I started with the Django appiance and have done weeks of work on it, setting up a custom application. I had to install *lots* of dependancies, compile stuff, etc.

Now I'd like to create a new appiance that has all my changes, so that others can roll out the app quickly. How can I do that?

Jeremy Davis's picture

If you have closely documented what you did you could create a TKLPatch that can be applied to a vanilla TKL ISO.

Or assuming that you have complied with the Debian filesystem rules then you should be able to do a TKLBAM backup and restore that to a new machine (on any platform). You may need to do some tweaking to get it to include all of your additional files though (especially if your changes don't conply with FS policy - but if that's the case make sure that you understand the implications of putting/editing files in 'naughty places').

Other options:
If it is running via the Hub (in AWS) then you can do a 'snapshot' of it and launch a new AWS server with that snapshot. If you are running in a virtual machine then you should be able to 'clone' or 'export' your VM so it can be run as a VM elsewhere. Alon also posted a blog post some time ago on how to convert a VM vHDD to an ISO. It's quite old now and applied specifically to a previous version of TKL but may be relevant enough to use with v11.x?

Brad Rhoads's picture

How do I go about making a backup or snapshot publiclly available?

Jeremy Davis's picture

But I know the devs have plans to tweak TKLBAM in the future to allow it to be used as a development tool.

Until then you can 'share' your backup by launching an appliance in your desired medium (including another AWS account) and associating it with yur account (via your API key), restoring the backup, then removing your key and associating it with their own (assuming that's what they want). A little convaluted I know but doable. If you search here on the forums you should find more detailed instructions.

As for snapshots, I have no idea, I haven't played with them enough.

Brad Rhoads's picture

My next question was going to be "how do I download a backup?" But I found this thread that answers the question.

 

http://www.turnkeylinux.org/forum/support/20111125/finding-backup-downlo...

Jeremy Davis's picture

Good thinking. I didn't even think of that. You may need to have a bit of a play to get it all working 100% sweet, but that should work well. Good thinking! :)

Brad Rhoads's picture

Just for the record, this works as expected.

Take a backup on the original vm, gen the key file, ftp the files down and up to the new vw and do the restore.

Actually the backup will create a directory with several files. Just zip it up so you can move it easily.

http://www.turnkeylinux.org/faq/backup-and-migration-tklbam#t601n2384

So assuming you want to store your backup at /mnt/otherdisk:

tklbam-backup --address file:///mnt/otherdisk/tklbam/backup
tklbam-escrow /mnt/otherdisk/tklbam/key

And restore like this:

tklbam-restore --address file:///mnt/otherdisk/tklbam/backup 
               --keyfile=/mnt/otherdisk/tklbam/key

Post new comment