Build your first DAB Appliance Template

From Proxmox VE
Jump to: navigation, search

Introduction

Completely done on the console of the Proxmox VE Box - this example is a walk-through of building the vTigerCRM v5.2.1 OpenVZ template. The WordPress Makefile is discussed separately.

DAB is the « Debian Appliance Builder ».

Install DAB

apt-get update
apt-get dist-upgrade
apt-get install dab zip unzip bzip2

Prepare the Build Area

cd /var/lib/vz/template/
mkdir builds
cd builds
mkdir vtiger

Get the Build Files

cd /var/lib/vz/template/builds/vtiger
wget http://www.sacollege.net/files/appliances/vTigerCRM-521-squeeze-make.zip
unzip vTigerCRM-521-squeeze-make.zip
wget http://www.sacollege.net/files/appliances/vtigercrm-5.2.1-installed.tar.gz

Proxmox VE dab build files: https://git.proxmox.com/?p=dab-pve-appliances.git;a=summary

Build the Template

The first time an appliance template is built for an architecture / version, it will take a while as the Operating System files need to be cached locally from their respective repositories online.

make

Check Build

ls -al

If all went well, then the following file will be listed on the console:

  • debian-6.0-vtigercrm_5.2.1-1_i386.tar.gz

Move Template to Local Repository

Now move the template to where the others are:

mv debian-6.0-vtigercrm_5.2.1-1_i386.tar.gz ../../cache

Clean Up

While the template is being built, a container numbered 90000 onwards (depending on how many are being built simultaneously) will appear on the Proxmox VE GUI and then vanish when the clean up is done.

make clean

Verify Availability

Now proceed to your Proxmox VE Web interface and find the freshly built template listed for creating new OpenVZ containers.

Caveats

At this time (Circa Feb 011) attempting to make a Debian Lenny based template will Forum Posting result in an error like:

unpack: libxkbfile1
configure standard packages
command 'vzctl exec2 90000 defenv dpkg --force-confold --skip-same-version --configure -a' failed with exit code 1
command 'vzctl exec2 90000 defenv dpkg --force-confold --skip-same-version --configure -a' failed with exit code 1
make: *** [all] Error 1

This is due to:

libdns55 depend on both libisc52 and libisc50

Debian Squeeze based templates compile well for now and the example here is based on it. The following error at near the end of the build process based on Debian Squeeze is harmless:

update-rc.d: using dependency based boot sequencing
insserv: warning: script is corrupt or invalid: /etc/init.d/../rc6.d/S00vzreboot