2016-08-09 22:21:19 +02:00
|
|
|
# Requirements
|
2016-07-12 21:35:25 +02:00
|
|
|
|
2017-02-13 01:55:54 +01:00
|
|
|
Note that if you just want to play around with Zulip and see what it
|
|
|
|
looks like, it is easier to install it in a development environment
|
|
|
|
following
|
|
|
|
[these instructions](readme-symlink.html#installing-the-zulip-development-environment),
|
|
|
|
since then you don't need to worry about setting up SSL certificates
|
|
|
|
and an authentication mechanism. Or, you can check out the
|
|
|
|
[Zulip development community server](chat-zulip-org.html).
|
2016-07-28 01:38:02 +02:00
|
|
|
|
2016-08-25 00:19:10 +02:00
|
|
|
## Server
|
2016-07-28 01:38:02 +02:00
|
|
|
|
2017-07-26 00:32:51 +02:00
|
|
|
#### General
|
|
|
|
|
2017-05-24 22:36:15 +02:00
|
|
|
The installer expects Zulip to be the **only thing** running on the
|
2017-07-26 00:32:51 +02:00
|
|
|
system; it will install system packages with `apt` (like nginx,
|
|
|
|
postgresql, and redis) and configure them for its own use. We
|
2017-05-24 22:36:15 +02:00
|
|
|
strongly recommend using either a fresh machine instance in a cloud
|
|
|
|
provider, a fresh VM, or a dedicated machine. If you decide to
|
|
|
|
disregard our advice and use a server that hosts other services, we
|
|
|
|
can't support you, but
|
|
|
|
[we do have some notes on issues you'll encounter](prod-install-existing-server.html).
|
2017-07-26 00:32:51 +02:00
|
|
|
|
|
|
|
#### Operating System
|
|
|
|
|
|
|
|
Ubuntu 14.04 Trusty and Ubuntu 16.04 Xenial are supported for running
|
|
|
|
Zulip in production. 64-bit is recommended.
|
|
|
|
|
2016-08-25 00:19:10 +02:00
|
|
|
#### Hardware Specifications
|
2016-07-28 01:38:02 +02:00
|
|
|
|
2016-11-27 04:04:35 +01:00
|
|
|
* CPU and Memory: For installations with 100+ users you'll need a
|
|
|
|
minimum of **2 CPUs** and **4GB RAM**. For installations with fewer
|
2017-04-12 05:48:02 +02:00
|
|
|
users, 1 CPU and 2GB RAM is sufficient. We strongly recommend against
|
2016-11-27 04:04:35 +01:00
|
|
|
installing with less than 2GB of RAM, as you will likely experience
|
|
|
|
out of memory issues installing dependencies. We recommend against
|
|
|
|
using highly CPU-limited servers like the AWS `t2` style instances
|
|
|
|
for organizations with a hundreds of users (active or no).
|
2016-07-28 01:38:02 +02:00
|
|
|
|
2017-06-04 08:38:44 +02:00
|
|
|
See our
|
|
|
|
[documentation on scalability](prod-maintain-secure-upgrade.html#scalability)
|
|
|
|
for advice on hardware requirements for larger organizations.
|
|
|
|
|
2017-07-07 21:40:00 +02:00
|
|
|
* Disk space: You'll need at least 10GB of free disk space for a
|
|
|
|
server with dozens of users. If you intend to store uploaded files
|
|
|
|
locally rather than on S3 you will likely need more, depending how
|
|
|
|
often your users upload large files. You'll eventually need 100GB
|
|
|
|
or more if you have thousands of active users or millions of total
|
|
|
|
messages sent.
|
2016-07-28 01:38:02 +02:00
|
|
|
|
2016-08-25 00:19:10 +02:00
|
|
|
#### Network and Security Specifications
|
2016-07-28 01:38:02 +02:00
|
|
|
|
2017-01-10 20:40:47 +01:00
|
|
|
* Incoming HTTPS access (usually port 443, though this is
|
|
|
|
configurable) from the networks where your users are (usually, the
|
|
|
|
public Internet). If you also open port 80, Zulip will redirect
|
|
|
|
users to HTTPS rather than not working when users type
|
|
|
|
e.g. `http://zulip.example.com` in their browser. If you are using
|
|
|
|
Zulip's [incoming email integration][email-mirror-code] you may also
|
|
|
|
need incoming port 25 open.
|
|
|
|
|
|
|
|
[email-mirror-code]: https://github.com/zulip/zulip/blob/master/zerver/management/commands/email_mirror.py
|
|
|
|
|
|
|
|
* Outgoing HTTP(S) access (ports 80 and 443) to the public Internet so
|
2017-02-22 06:12:12 +01:00
|
|
|
that Zulip can properly manage inline image previews. You'll also
|
|
|
|
need outgoing SMTP access to your SMTP server (the standard port for
|
|
|
|
this is 587) so that Zulip can send email.
|
2016-07-28 01:38:02 +02:00
|
|
|
|
2016-08-25 00:19:10 +02:00
|
|
|
#### Domain name
|
|
|
|
|
|
|
|
You should already have a domain name available for your Zulip
|
|
|
|
production instance. In order to generate valid SSL certificates with Let's
|
|
|
|
Encrypt, and to enable other services such as Google Authentication, you'll
|
2017-07-28 03:44:59 +02:00
|
|
|
need to update the domain's A record to point to your production server.
|
2016-08-25 00:19:10 +02:00
|
|
|
|
|
|
|
## Credentials needed
|
|
|
|
|
|
|
|
#### SSL Certificate
|
|
|
|
|
2017-07-28 03:44:59 +02:00
|
|
|
* An SSL certificate for the host you're putting this on (e.g.,
|
|
|
|
zulip.example.com). If you don't have an SSL solution already, read
|
|
|
|
about [getting an SSL certificate for free](ssl-certificates.html) using
|
|
|
|
Let's Encrypt.
|
2016-07-28 01:38:02 +02:00
|
|
|
|
2016-08-25 00:19:10 +02:00
|
|
|
#### Outgoing email
|
2016-07-28 01:38:02 +02:00
|
|
|
|
2017-02-22 06:12:12 +01:00
|
|
|
* Outgoing email (SMTP) credentials that Zulip can use to send
|
|
|
|
outgoing emails to users (e.g. email address confirmation emails
|
|
|
|
during the signup process, missed message notifications, password
|
|
|
|
reset, etc.). If you don't have an existing outgoing SMTP solution,
|
|
|
|
read about
|
2017-08-16 01:42:44 +02:00
|
|
|
[free outgoing SMTP options and options for prototyping](prod-email.html#free-outgoing-email-services).
|
2016-07-12 21:35:25 +02:00
|
|
|
|
2016-07-28 01:38:02 +02:00
|
|
|
Once you have met these requirements, see [full instructions for installing
|
|
|
|
Zulip in production](prod-install.html).
|