Poudriere in a bhyve VM

Setup iohyve:

Fetch ISO:

Create guest with 20GiB HDD.

Install FreeBSD 11:

Attach to console

Exit and stop the installer when finished

Start the machine.

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:

server {

    listen 80 default;
    server_name server_domain_or_IP;
    root /usr/local/share/poudriere/html;

    location /data {
        alias /usr/local/poudriere/data/logs/bulk;
        autoindex on;
    }

    location /packages {
        root /usr/local/poudriere/data;
        autoindex on;
    }

}

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