Install puppet master and puppet compiler server

I want to install foreman as a puppet master, and this is the main primary server. I am not sure how I would go about installing a puppet compiler server that connects to the primary foreman puppet master server.
Similar to this puppet enterprise diagram attached. From this page:
Do I set up the puppet “compiler” server as Smart proxy?
Similar to this “Standalone Puppetserver” Foreman :: Manual

Expected outcome:

Distribution and version:
CentOS 7 and RHEL7.