2016-09-21 19:31:51 +02:00
|
|
|
# Development environment installation
|
2015-11-04 05:57:54 +01:00
|
|
|
|
2016-11-28 01:56:24 +01:00
|
|
|
## Requirements
|
2016-10-11 02:10:39 +02:00
|
|
|
|
2016-11-29 23:23:54 +01:00
|
|
|
The Zulip development environment can be installed on **macOS,
|
|
|
|
Windows, and Linux** (Ubuntu recommended). You'll need at least **2GB
|
|
|
|
of available RAM**.
|
2016-10-11 02:10:39 +02:00
|
|
|
|
2016-11-29 23:23:54 +01:00
|
|
|
Installing the Zulip development environment requires downloading several hundred
|
2016-11-28 01:56:24 +01:00
|
|
|
megabytes of dependencies, so you will need an **active, reasonably fast,
|
|
|
|
internet connection throughout the entire installation processes.** You can
|
|
|
|
[configure a proxy][configure-proxy] if you need one.
|
2016-09-21 19:31:51 +02:00
|
|
|
|
2016-11-28 02:50:33 +01:00
|
|
|
## Recommended setup (Vagrant)
|
2015-11-04 05:57:54 +01:00
|
|
|
|
2018-05-07 10:01:05 +02:00
|
|
|
**For first-time contributors on macOS, Windows, and most Debian-based distros
|
|
|
|
(like Ubuntu), we recommend using the [Vagrant development
|
|
|
|
environment][install-vagrant]**.
|
2016-09-21 19:31:51 +02:00
|
|
|
|
2016-11-28 01:56:24 +01:00
|
|
|
This method creates a virtual machine (for Windows and macOS) or a Linux
|
|
|
|
container (for Ubuntu) inside which the Zulip server and all related services
|
2016-11-29 23:23:54 +01:00
|
|
|
will run. Vagrant adds a bit of overhead to using the Zulip development server, but
|
2016-11-28 01:56:24 +01:00
|
|
|
provides an isolated environment that is easy to install, update, and
|
|
|
|
uninstall. It has been well-tested and performs well.
|
2016-09-21 19:31:51 +02:00
|
|
|
|
2016-11-28 02:50:33 +01:00
|
|
|
## Advanced setup (non-Vagrant)
|
2016-09-21 19:31:51 +02:00
|
|
|
|
2016-11-28 01:56:24 +01:00
|
|
|
For more experienced contributors, or for first-time contributors who don't
|
|
|
|
want to or can't use Vagrant, Zulip supports a wide range of ways to install
|
|
|
|
the Zulip development environment on **macOS and Linux (Ubuntu
|
|
|
|
recommended)**:
|
2016-09-21 19:31:51 +02:00
|
|
|
|
2018-05-05 20:07:22 +02:00
|
|
|
* On **Ubuntu** 16.04 Xenial and 14.04 Trusty and **Debian** 9
|
|
|
|
Stretch, you can easily
|
|
|
|
**[install without using Vagrant][install-direct]**.
|
2016-11-28 01:56:24 +01:00
|
|
|
* On **other Linux** distributions, you'll need to follow slightly different
|
|
|
|
instructions to **[install manually][install-generic]**.
|
|
|
|
* On **macOS and Linux** (Ubuntu recommended), you can install **[using
|
|
|
|
Docker][install-docker]**, though support for this remains experimental.
|
2016-09-21 19:31:51 +02:00
|
|
|
|
2016-11-28 01:56:24 +01:00
|
|
|
Unfortunately, the only supported method to install on Windows is the [Vagrant
|
|
|
|
method][install-vagrant].
|
|
|
|
|
|
|
|
## Slow internet connections
|
|
|
|
|
|
|
|
If you have a very slow network connection, however, you may want to avoid
|
|
|
|
using Vagrant (which involves downloading an Ubuntu virtual machine or Linux
|
|
|
|
Container) and either [install directly][install-direct] on Ubuntu 16.04 Xenial
|
|
|
|
or 14.04 Trust, or use [the manual install process][install-generic] instead.
|
|
|
|
These options only support Linux.
|
|
|
|
|
|
|
|
An alternative option if you have poor network connectivity is to rent a cloud
|
2016-11-29 23:23:54 +01:00
|
|
|
server and install the Zulip development environment for remote use. See [next
|
2016-11-28 01:56:24 +01:00
|
|
|
section][self-install-remote] for details.
|
|
|
|
|
|
|
|
## Installing remotely
|
|
|
|
|
2016-11-29 23:23:54 +01:00
|
|
|
The Zulip development environment works well on remote virtual
|
|
|
|
machines. This can be a good alternative for those with poor network
|
|
|
|
connectivity or who have limited storage/memory on their local
|
|
|
|
machines.
|
2016-11-28 01:56:24 +01:00
|
|
|
|
2016-11-29 23:23:54 +01:00
|
|
|
We recommend giving the Zulip development environment its **own virtual machine**, running
|
2016-11-28 01:56:24 +01:00
|
|
|
**Ubuntu 14.04 or 16.04**, with at least **2GB of memory**.
|
|
|
|
|
2016-11-29 23:23:54 +01:00
|
|
|
If the Zulip development environment will be the only thing running on
|
|
|
|
the remote virtual machine, we recommend installing
|
|
|
|
[directly][install-direct]. Otherwise, we recommend the
|
|
|
|
[Vagrant][install-vagrant] method so you can easily uninstall if you
|
|
|
|
need to.
|
2016-11-28 01:56:24 +01:00
|
|
|
|
2017-01-15 05:13:22 +01:00
|
|
|
If you want to run a non-Ubuntu distribution, follow the [generic Linux
|
2016-11-28 01:56:24 +01:00
|
|
|
directions][install-generic].
|
|
|
|
|
|
|
|
## Next steps
|
2016-09-21 19:31:51 +02:00
|
|
|
|
|
|
|
Once you've installed the Zulip development environment, you'll want
|
|
|
|
to read these documents to learn how to use it:
|
|
|
|
|
2016-11-28 01:56:24 +01:00
|
|
|
* [Using the Development Environment][using-dev-env]
|
2017-07-28 12:14:16 +02:00
|
|
|
* [Testing][testing] (and [Configuring Travis CI][travis-ci])
|
2016-11-28 01:56:24 +01:00
|
|
|
|
2016-11-29 23:23:54 +01:00
|
|
|
And if you've setup the Zulip development environment on a remote
|
|
|
|
machine, take a look at our tips for
|
|
|
|
[developing remotely][dev-remote].
|
2016-05-05 01:16:31 +02:00
|
|
|
|
2017-11-08 17:55:36 +01:00
|
|
|
[dev-remote]: remote.html
|
2018-05-16 23:59:20 +02:00
|
|
|
[install-direct]: ../development/setup-advanced.html#installing-directly-on-ubuntu-or-debian
|
2017-11-08 17:55:36 +01:00
|
|
|
[install-docker]: ../development/setup-advanced.html#using-docker-experimental
|
|
|
|
[install-generic]: ../development/setup-advanced.html#installing-manually-on-linux
|
|
|
|
[install-vagrant]: ../development/setup-vagrant.html
|
2016-11-28 01:56:24 +01:00
|
|
|
[self-install-remote]: #installing-remotely
|
|
|
|
[self-slow-internet]: #slow-internet-connections
|
2017-11-08 17:55:36 +01:00
|
|
|
[configure-proxy]: ../development/setup-vagrant.html#specifying-a-proxy
|
|
|
|
[using-dev-env]: using.html
|
|
|
|
[testing]: ../testing/testing.html
|
2017-11-23 20:21:57 +01:00
|
|
|
[travis-ci]: ../git/cloning.html#step-3-configure-travis-ci-continuous-integration
|