Yesterday, I've set up a poudriere server to build packages for software used on other servers. These servers have software installed on the host as well as in various jails. In the host I run Nginx, MySQL, Dovecot, Postfix and PHP 8.1. In one jail I run PHP 8.3, in other jail I run ClamAV and in the last jail I run Valkey.
1) Is it better to create a separate poudriere jail for the host and individual poudriere jails for each of the jails?
2) Do you run
Since I’ve always used /usr/ports and don’t have much experience with
3) Do you run poudriere builds automatically via cron, or do you execute them manually? I'm considering using cron, but I'm wondering what happens if a build hasn't finished by the time the next one starts. Do you use lockf or another mechanism to ensure that only one instance runs at a time?
4) On my other servers, after updating /usr/ports using gitup, I run
5) You recommend after each build to copy the packages from /usr/local/poudriere/data/packages/142amd64-default
to /usr/local/poudriere/data/packages/142amd64-default-$(date +%Y%m%d-%H%M) in case I need to rollback to previous software versions?
1) Is it better to create a separate poudriere jail for the host and individual poudriere jails for each of the jails?
2) Do you run
poudriere ports -u
to update the ports tree, or do you perform a git pull/gitup in /usr/ports and then use that with poudriere?Since I’ve always used /usr/ports and don’t have much experience with
pkg
, do you keep the pkg.freebsd.org repository enabled, or do you disable it? If I disable it, that's fine as long as I don't try installing/upgrading software that wasn't built by poudriere, right?3) Do you run poudriere builds automatically via cron, or do you execute them manually? I'm considering using cron, but I'm wondering what happens if a build hasn't finished by the time the next one starts. Do you use lockf or another mechanism to ensure that only one instance runs at a time?
4) On my other servers, after updating /usr/ports using gitup, I run
pkg version -vL=
to check if software needs updating. Now with poudriere packages, this requires me to run pkg update
followed by pkg upgrade -n
. Is there an alternative pkg command that simply shows whether newer software versions are available?5) You recommend after each build to copy the packages from /usr/local/poudriere/data/packages/142amd64-default
to /usr/local/poudriere/data/packages/142amd64-default-$(date +%Y%m%d-%H%M) in case I need to rollback to previous software versions?