2020-10 upd: we reached the first fundraising goal and rented a server in Hetzner for development! Thank you for donating !
Reggae quick start
Initialization
Reggae Quick Start Guide
Install Reggae from ports or pkg:
make -C /usr/ports/sysutils/reggae install
pkg install -y reggae
Initialize PF, CBSD and ZFS dataset:
reggae network-init # it sets up PF and SSH, which you should (re)start reggae cbsd-init reggae master-init # creates resolver and dhcp jails
In most cases, the default config is acceptable, but if you want to change something /usr/local/etc/reggae.conf is the right place
Create service
Create simple service
mkdir myservice cd myservice reggae init make
Create service with shell and ansible provisioners
mkdir myservice cd myservice reggae init shell ansible make
Create project
Project consists of multiple services
mkdir myproject cd myproject reggae project-init
Resulting Makefile is this:
REGGAE_PATH = /usr/local/share/reggae #SERVICES = consul https://github.com/mekanix/jail-consul \ # letsencrypt https://github.com/mekanix/jail-letsencrypt \ # ldap https://github.com/mekanix/jail-ldap \ # mail https://github.com/mekanix/jail-mail \ # jabber https://github.com/mekanix/jail-jabber \ # webmail https://github.com/mekanix/jail-webmail \ # web https://github.com/mekanix/jail-web \ # webconsul https://github.com/mekanix/jail-webconsul .include <${REGGAE_PATH}/mk/project.mk>
Every service that is commented out is created using reggae init and edited to add extra functionality.