Poudriere in a bhyve VM

Setup iohyve:

iohyve setup pool=tank
iohyve setup net=igb1
iohyve setup kmod=1

Fetch ISO:

iohyve fetchiso ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/11.0/FreeBSD-11.0-RELEASE-amd64-bootonly.iso
iohyve deleteiso FreeBSD-11.0-RELEASE-amd64-bootonly.iso

Create guest with 20GiB HDD.

iohyve create poudriere 20G
iohyve set poudriere ram=8G cpu=4

Install FreeBSD 11:

iohyve install poudriere FreeBSD-11.0-RELEASE-amd64-bootonly.iso

Attach to console

iohyve console poudriere

Exit and stop the installer when finished

iohyve stop poudriere

Start the machine.

iohyve start poudriere

In VM

Update

Poudriere

Install poudriere

Copy the config.

Certs

Setup SSL to sign ports:

NFS

Start NFS

Mount packages

Add to fstab:

Add locking:

Configuration

Edit /usr/local/etc/poudriere.conf

Configuration

These were the settings I had uncommented:

Create jail

Create a new '11.1-RELEASE' jail with the name 'freebsd-11-amd64'.

Setup ports tree:

Create pkg list(s) /usr/local/etc/poudriere.d/portlists/freebsd-11-amd64/iocage

Add to make.conf : /usr/local/etc/poudriere.d/freebsd-11-amd64-make.conf

use py3.6 version of python3:

For my jails globally: /usr/local/etc/poudriere.d/make.conf

No docs, X11 NLS or egs:

Set options:

To update jail

Update tree:

Start build(s):

Web Server

Remove all inside server in /usr/local/etc/nginx/nginx.conf, add:

Edit mimetypes /usr/local/etc/nginx/mime.types, add log:

Check config and start nginx:

Repo Only server

In jail, nullfs mount packages to same spot. Install nginx.

Clients

Get cert:

Save it on clients:

Repo

Define repo:

Inside, use the name FreeBSD in order to match the default repository definition. Disable the repository by defining it like this:

Repo file at /usr/local/etc/pkg/repos/poudriere.conf

If you want to mix your custom packages with those of the official repositories, your file should look something like this:

If you want to only use your compiled packages, your file should look something like this:

Update:

Crontab:

Upgrade jails

To upgrade releases, ie 11.0 to 11.1:

Or delete and re-create

Re-create ports tree:

Add new ports

Add additional lists. for example, Emby:

Add ports.

Poudriere options:

For ffmpeg:

  • enable the ass subtitles option

  • enable the lame option

  • enable the opus subtitles option

  • enable the x265 subtitles option

For ImageMagick

  • disable (unset) 16BIT_PIXEL (to increase thumbnail generation performance)

Reference

Last updated