mirror of
				https://github.com/zulip/zulip.git
				synced 2025-10-31 12:03:46 +00:00 
			
		
		
		
	This greatly reduces how much content for other platforms a reader has to scroll past in order to get the development environment set up.
		
			
				
	
	
		
			88 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Development environment installation
 | |
| 
 | |
| ## Requirements
 | |
| 
 | |
| The Zulip development environment can be installed on **macOS,
 | |
| Windows, and Linux** (Debian or Ubuntu recommended). You'll need at least **2GB
 | |
| of available RAM**.
 | |
| 
 | |
| Installing the Zulip development environment requires downloading several hundred
 | |
| 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.
 | |
| 
 | |
| ## Recommended setup
 | |
| 
 | |
| **For first-time contributors, we recommend using the
 | |
| [Vagrant development environment][install-vagrant]** on
 | |
| macOS and Linux based OS and [WSL 2 setup][install-via-wsl] on Windows.
 | |
| 
 | |
| ## Vagrant setup
 | |
| 
 | |
| [Vagrant setup][install-vagrant] creates a virtual machine (for Windows and macOS) or a
 | |
| Linux container (otherwise) inside which the Zulip server and all
 | |
| related services will run. Vagrant adds a bit of overhead to using the
 | |
| Zulip development server, but provides an isolated environment that is
 | |
| easy to install, update, and uninstall. It has been well-tested and
 | |
| performs well.
 | |
| 
 | |
| ## Advanced setup
 | |
| 
 | |
| Zulip also supports a wide range of ways to install the Zulip
 | |
| development environment:
 | |
| 
 | |
| - On Linux platforms, you can **[install directly][install-direct]**.
 | |
| - On Windows, you can **[install directly][install-via-wsl]** via WSL 2.
 | |
| 
 | |
| ## 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 [install directly][install-direct] on
 | |
| a Linux system.
 | |
| 
 | |
| An alternative option if you have poor network connectivity is to rent
 | |
| a cloud server and install the Zulip development environment for
 | |
| remote use. See the [next section][self-install-remote] for details.
 | |
| 
 | |
| ## Installing remotely
 | |
| 
 | |
| 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.
 | |
| 
 | |
| We recommend giving the Zulip development environment its **own
 | |
| virtual machine**, running one of
 | |
| [the supported platforms for direct installation][install-direct],
 | |
| with at least **2GB of memory**.
 | |
| 
 | |
| 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.
 | |
| 
 | |
| ## Next steps
 | |
| 
 | |
| Once you've installed the Zulip development environment, you'll want
 | |
| to read these documents to learn how to use it:
 | |
| 
 | |
| - [Using the development environment][using-dev-env]
 | |
| - [Testing][testing] (and [Configuring CI][ci])
 | |
| 
 | |
| And if you've set up the Zulip development environment on a remote
 | |
| machine, take a look at our tips for
 | |
| [developing remotely][dev-remote].
 | |
| 
 | |
| [dev-remote]: remote.md
 | |
| [install-direct]: setup-advanced.md#installing-directly-on-ubuntu-debian-centos-or-fedora
 | |
| [install-vagrant]: setup-recommended.md
 | |
| [self-install-remote]: #installing-remotely
 | |
| [self-slow-internet]: #slow-internet-connections
 | |
| [configure-proxy]: setup-recommended.md#specifying-a-proxy
 | |
| [using-dev-env]: using.md
 | |
| [testing]: ../testing/testing.md
 | |
| [ci]: ../git/cloning.md#step-3-configure-continuous-integration-for-your-fork
 | |
| [install-via-wsl]: setup-recommended.md
 |