Ubuntu 18.04 LTS minimal server or similar Linux distribution on a virtual or physical machine is required. Unless you're an expert Linux admin with Ansible skills, use the 64-bit Ubuntu 18.04 "Bionic Beaver" mini.iso netboot image or 64-bit Ubuntu 18.04 Server image in case netboot will not work in your environment. The mini.io netboot creates the smallest footprint server so it's the most secure and requires minimal hardening for security.
Setup a Windows Hyper-V, VMware, VirtualBox, or other hypervisor VM:
- RAM: minimum 2048 megabytes, preferably 4096 megabytes
- Storage: minimum 32 gigabytes, preferably 256 gigabytes
- Network: Accessible outbound to the Internet (both IPv4 and IPv6), inbound access not required
- Firewall Route: The publically accessible IP should point to this server, a Linux firewall is automatically managed by the appliance
First, install Ubuntu 18.04.1 LTS or above minimal server on your preferred hypervisor. The smaller the footprint, the safer and more secure the appliance. You can use most of the defaults, but provide the following defaults when you are asked to make choices:
- Hostname: sandbox (devl), validate (QA) or appliance (production).
- Default User Full Name: Admin User
- Default User Name: admin
- Default User Password: adminDefault!
- Disk Partitioning: Guided - use entire disk
- PAM Configuration: Install security updates automatically
- Software Packages: OpenSSH is the only package that must be installed by default
NOTE: the user you create is called the admin user below.
After Ubuntu operating system installation is completed, log into the server as the admin user (see above).
Install the following core utilities:
sudo apt update && sudo apt install net-tools curl -y
curl https://raw.githubusercontent.com/shah/appliance-setup-framework/master/bin/bootstrap.sh | bash
After bootstrap.sh is complete, exit the shell.
Login as the admin user and review the appliance.secrets.conf.yml file to customize it for your installation.
cd /etc/appliance-setup-framework/conf
sudo vi appliance.secrets.conf.yml
The appliance.secrets.conf-tmpl.yml file is a template (sample), and the appliance.secrets.conf.yml is what will be used by the Ansible and related setup utilities.
If you have any custom playbooks, add them to /etc/appliance-setup-framework/playbooks. The bin/setup.sh utility will run all numbered playbooks in numerical order.
Resume the setup:
cd /etc/appliance-setup-framework
bash bin/setup.sh
After setup is completed, reboot the server (Docker setup will be incomplete without a reboot):
sudo reboot