Zulip can be developed on a remote machine. We recommend doing this if you are running Windows or have other blockers stopping you from developing locally.
We recommend a remote Ubuntu machine for ease of development.
Set up your remote server and connect to it using SSH or Mosh. We recommend using Mosh as it is more reliable over slow network connections.
After you have connected to your remote server, you need to install the development environment. Follow the platform specific instructions for your specific remote instance:
- Ubuntu Installation - this installs the Zulip development environment directly on your remote server.
- Detailed tutorial for Vagrant development environment - this installs the development environment in a self-contained environment that is easy to remove later.
- Brief installation instructions for Vagrant development environment - a shorter guide for the previous option.
Once you have set up the development environment, you can start up the development instance of zulip with the command
./tools/run-dev.py
This will start up zulip on port 9991. You can then navigate to http://<REMOTE_IP>:9991 and you should see something like (this screenshot of the Zulip dev environment).
You can port forward using ssh instead of running the dev env on an exposed interface.
For more information, see Using the Development Environment.
You will need to either edit code locally on your computer and sync it to the remote development environment or just edit the zulip code base on the remote host.
If you want to edit code locally you can install your favorite text editor:
Next, set up git on your local machine and clone the zulip repository.
Once you have your code locally you will need to sync your changes to your development server:
You will need to use a text editor on the remote machine:
Once you install an editor setup an ssh key on your host and clone the zulip repository.
At this point you should read about developing and read about using the development environment.