|dependabot[bot] 0c82ac600d Bump ansible from 2.10.0 to 2.10.7 (#4)||1 month ago|
|ansible @ ce3f400453||4 years ago|
|config||4 years ago|
|preseeds||4 years ago|
|scripts||4 years ago|
|.gitignore||3 years ago|
|.gitmodules||4 years ago|
|LICENSE.md||3 years ago|
|README.md||3 years ago|
|Vagrantfile||4 years ago|
|packer.json||3 years ago|
|requirements.txt||1 month ago|
This VirtualBox base image contains all the required packages and configuration for running/instantiating a Mastodon instance for development. 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. It's made available through Hashicorp's Vagrant Cloud at
Note: Some of the content of the scripts in
scripts/ is borrowed from the Bento project.
for testing purposes:
$ virtualenv env $ source env/bin/activate $ pip install -r requirements.txt
$ 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
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.
Note: You need a valid access token to submit new versions of the box to Vagrant Cloud. It will not work otherwise. There is a organization called
mastodon which is responsible for the Vagrant boxes under the same namespace. If you think you can/want to contribute send me a message on @email@example.com and I'll add your to the organization.
If you have a valid
VAGRANT_CLOUD_TOKEN you can use the
vagrant-cloud post-processor to upload a new version to Vagrant Cloud. It'll be done automatically if the token is set:
$ VAGRANT_CLOUD_TOKEN="my-token" packer build packer.json