From 6162a9637c52ad5dd38c165999256ab0c17e3e68 Mon Sep 17 00:00:00 2001 From: yeah Date: Mon, 5 Feb 2018 20:41:19 +0700 Subject: [PATCH] Add some development instructions to CONTRIBUTING.md (#1348) --- CONTRIBUTING.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ README.md | 6 ++++++ 2 files changed, 53 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8e8614a3..00e15ec7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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](https://github.com/mail-in-a-box/mailinabox) and familiarize yourself with the code. + + $ git clone https://github.com/mail-in-a-box/mailinabox + +### Vagrant and VirtualBox + +We recommend you use [Vagrant](https://www.vagrantup.com/intro/getting-started/install.html) and [VirtualBox](https://www.virtualbox.org/wiki/Downloads) 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 to add a hostname to your `hosts` file: + + $ echo "192.168.50.4 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/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][CC0]. See the LICENSE file in this directory. diff --git a/README.md b/README.md index d24ecfce..f4b428ab 100644 --- a/README.md +++ b/README.md @@ -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](https://discourse.mailinabox.email/) 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](CONTRIBUTING.md) to get started. + + The Acknowledgements --------------------