Skip to content

Installation

Volker Hilsheimer edited this page Oct 22, 2021 · 6 revisions

Setup

Clone this repository, and run the relevant setup script to install minicoin and its dependencies:

$ cd minicoin
$ ./setup.sh

or

C:\Users\me> cd minicoin
C:\Users\me\minicoin> setup

The setup script uses apt, so requires Debian Linux. On macOS, the script requires homebrew. On Windows, the setup.cmd script uses the chocolatey package manager.

Host platform specifics

On macOS 11, you have to give VirtualBox permission to install and use kernel extensions. You will see messages during the installation process. Make the changes in the system preferences, but wait with the reboot until after the installation is completed.

On recent Windows 10, the firewall might block network traffic from VirtualBox. You will have to change the firewall settings to allow that traffic through.

Manual setup

To set things up manually, install Vagrant; vagrant 2.2.14 or later is required.

Vagrant requires a virtual machine provider, like VirtualBox, or an account with a cloud provider.

See provider specific details for more information about providers.

If you want to host macOS VMs, you will need to run an SSH server on your host. See the Platform Notes and System Requirements for platform specific details.

Optional packages for an optimal experience

Minicoin can do most things with only VirtualBox and vagrant being present, but for an optimal experience, install the following on your host as well:

The setup scripts will install mutagen, which provides very fast synchronization of your local file system to the guest. It is used by the mutagen role. Installing mutagen on the host is the preferred solution - minicoin will establish the sync-point on the host. A good practice is to add those folders that you work with regularly to the default configuration in your personal ~/minicoin/minicoin.yml file.

Using machines in the cloud requires a local mutagen installation.

Ansible is a tool for automating the provisioning of machines in a declarative way, making it unnecessary to write complex shell scripts. Some of the prebuild roles use Ansible.

Security notice

Vagrant boxes are by default insecure. They use the default, insecure, ssh keys that anyone can download from github. This is by design; on some machines, those default keys will be replaced with secure keys during provisioning, but not on all.

Even with secure keys, the user credentials are still the default, ie vagrant/vagrant.

In other words, don't expose those boxes to an untrusted network. By default, they should be as secure as your host machine.

Boxes from the generic namespace are created using packer scripts here:

https://github.com/lavabit/robox