A Vagrant base box for Mastodon
Go to file
Moritz Heiber 11e58921d9 Add insecure Vagrant default key, set a default root password, update Ansible submodule, prepare Vagrant tests 2017-04-17 22:19:32 +02:00
ansible@cc8b0b3d51 Add insecure Vagrant default key, set a default root password, update Ansible submodule, prepare Vagrant tests 2017-04-17 22:19:32 +02:00
preseeds Add insecure Vagrant default key, set a default root password, update Ansible submodule, prepare Vagrant tests 2017-04-17 22:19:32 +02:00
.gitignore Add insecure Vagrant default key, set a default root password, update Ansible submodule, prepare Vagrant tests 2017-04-17 22:19:32 +02:00
.gitmodules Moved submodule location after repository migration 2017-04-17 15:20:03 +02:00
LICENSE.md Added README, requirements.txt, removed unneded base packages, added submodule for Ansible provisioner 2017-04-16 22:22:32 +02:00
README.md Re-enabled headless operations, added build documentation to README 2017-04-16 22:33:48 +02:00
Vagrantfile Add insecure Vagrant default key, set a default root password, update Ansible submodule, prepare Vagrant tests 2017-04-17 22:19:32 +02:00
packer.json Add insecure Vagrant default key, set a default root password, update Ansible submodule, prepare Vagrant tests 2017-04-17 22:19:32 +02:00
requirements.txt Added README, requirements.txt, removed unneded base packages, added submodule for Ansible provisioner 2017-04-16 22:22:32 +02:00

README.md

A VirtualBox box for Mastodon

This VirtualBox base box contains all the required packages and configuration for running/instantiating a Mastodon instance. It is build using Hashicorp's Packer, the provisioning is done with Ansible through a dedicated git submodule called mastodon-ansible. The tests are using ServerSpec.

Prerequisites

  • VirtualBox >= 5.1.x
  • Packer >= 1.0.0
  • Python >= 2.x
  • pip/python-pip >= 8.x

for testing purposes:

  • Vagrant >= 1.9.3

Setup

$ virtualenv env
$ source env/bin/activate
$ pip install -r requirements.txt

Building the box

Just execute:

$ packer build packer.json

Note: It will take at least roughly 5 - 10 minutes for the ISO to get preseeded ("pre-provisioned") by the Debian installer, hence the rather long timeout/waiting period before packer actually starts provisioning. If you're unsure whether there is any progress change the values headless in the packer.json from true to false and re-run the process. This will give have VirtualBox show you the output of the console the ISO is running on.

This will preseed the Ubuntu ISO image for Ubuntu Xenial 64bit with a couple of sane defaults and packages. Afterwards, the Ansible provisioner is run using the playbooks from the mastodon-ansible repository.

In the end you should have a box in builds/ with all the required components installed you can run directly in Vagrant.

Submitting to Atlas

tbd

Testing

TODO