Poudriere in a bhyve VM
Setup iohyve:
iohyve setup pool=tank
iohyve setup net=igb1
iohyve setup kmod=1Fetch 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.isoCreate guest with 20GiB HDD.
iohyve create poudriere 20G
iohyve set poudriere ram=8G cpu=4Install FreeBSD 11:
iohyve install poudriere FreeBSD-11.0-RELEASE-amd64-bootonly.isoAttach to console
iohyve console poudriereExit and stop the installer when finished
iohyve stop poudriereStart the machine.
iohyve start poudriereIn 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