2.8 KiB
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 https://github.com/mail-in-a-box/mailinabox
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 192.168.50.4
(unless you changed that in your Vagrantfile
). To be able to use the web-based bits, we recommend adding a hostname to your hosts
file:
$ echo -e "192.168.50.4\tmailinabox.lan" | sudo tee -a /etc/hosts
or
$ sudo sed -i "s/^127.0.1.1.*/192.168.50.4\tmailinabox.lan/" /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 randomly generated password from the output.
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/owncloud.sh # 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. See the LICENSE file in this directory.
All contributions to this project must be released under the same CC0 wavier. By submitting a pull request or patch, you are agreeing to comply with this waiver of copyright interest.
Code of Conduct
This project has a Code of Conduct. Please review it when joining our community.