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:
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