Browse Source

Add some development instructions to (#1348)

yeah 3 years ago
2 changed files with 53 additions and 0 deletions
  1. +47
  2. +6

+ 47
- 0 View File

@@ -1,3 +1,50 @@
# Contributing

Mail-in-a-Box is an open source project. Your contributions and pull requests are welcome.

## Development

To start developing Mail-in-a-Box, [clone the repository]( and familiarize yourself with the code.

$ git clone

### Vagrant and VirtualBox

We recommend you use [Vagrant]( and [VirtualBox]( for development. Please install them first.

With Vagrant set up, the following should boot up Mail-in-a-Box inside a virtual machine:

$ vagrant up --provision

_If you're seeing an error message about your *IP address being listed in the Spamhaus Block List*, simply uncomment the `export SKIP_NETWORK_CHECKS=1` line in `Vagrantfile`. It's normal, you're probably using a dynamic IP address assigned by your Internet provider–they're almost all listed._

### Modifying your `hosts` file

After a while, Mail-in-a-Box will be available at `` (unless you changed that in your `Vagrantfile`). To be able to use the web-based bits, we recommend to add a hostname to your `hosts` file:

$ echo " mailinabox.lan" | sudo tee -a /etc/hosts

You should now be able to navigate to https://mailinabox.lan/admin using your browser. There should be an initial admin user with the name `me@mailinabox.lan` and the password `12345678`.

### Making changes

Your working copy of Mail-in-a-Box will be mounted inside your VM at `/vagrant`. Any change you make locally will appear inside your VM automatically.

Running `vagrant up --provision` again will repeat the installation with your modifications.

Alternatively, you can also ssh into the VM using:

$ vagrant ssh

Once inside the VM, you can re-run individual parts of the setup like in this example:

vm$ cd /vagrant
vm$ sudo setup/ # replace with script you'd like to re-run

### Tests

Mail-in-a-Box needs more tests. If you're still looking for a way to help out, writing and contributing tests would be a great start!

## Public domain

This project is in the public domain. Copyright and related rights in the work worldwide are waived through the [CC0 1.0 Universal public domain dedication][CC0]. See the LICENSE file in this directory.

+ 6
- 0 View File

@@ -82,6 +82,12 @@ For help, DO NOT contact me directly --- I don't do tech support by email or twe

Post your question on the [discussion forum]( instead, where me and other Mail-in-a-Box users may be able to help you.

Contributing and Development

Mail-in-a-Box is an open source project. Your contributions and pull requests are welcome. See [CONTRIBUTING]( to get started.

The Acknowledgements