mirror of https://github.com/zulip/zulip.git
portico: Add a self-hosting page.
Co-authored-by: Aman Agrawal <amanagr@zulip.com>
This commit is contained in:
parent
eb3ae7c3d9
commit
e93320c40d
Binary file not shown.
After Width: | Height: | Size: 102 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
Binary file not shown.
After Width: | Height: | Size: 892 B |
|
@ -4197,6 +4197,13 @@ nav {
|
|||
}
|
||||
}
|
||||
|
||||
.feature-icon {
|
||||
img,
|
||||
div.quote {
|
||||
width: 100px;
|
||||
}
|
||||
}
|
||||
|
||||
.topics-image {
|
||||
border: solid 2px hsl(0, 0%, 60%);
|
||||
}
|
||||
|
@ -4420,7 +4427,7 @@ nav {
|
|||
}
|
||||
}
|
||||
|
||||
.for-education.pricing-model {
|
||||
.solutions-page .pricing-model {
|
||||
.padded-content {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
@ -4429,52 +4436,57 @@ nav {
|
|||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.pricing-details {
|
||||
color: inherit;
|
||||
font-style: inherit;
|
||||
}
|
||||
.price-box {
|
||||
margin: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.price-box {
|
||||
margin: 10px;
|
||||
height: 625px;
|
||||
.for-education.pricing-model {
|
||||
.pricing-details {
|
||||
color: inherit;
|
||||
font-style: inherit;
|
||||
}
|
||||
|
||||
.bottom {
|
||||
height: 275px;
|
||||
.price-box {
|
||||
height: 625px;
|
||||
|
||||
.standard-register-button {
|
||||
margin-top: 10px;
|
||||
.bottom {
|
||||
height: 275px;
|
||||
|
||||
.standard-register-button {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.free-text {
|
||||
margin-top: 90px;
|
||||
|
||||
.pricing-details {
|
||||
font-size: 34px;
|
||||
}
|
||||
|
||||
.free-text {
|
||||
margin-top: 90px;
|
||||
a {
|
||||
margin-top: 76px;
|
||||
}
|
||||
}
|
||||
|
||||
.pricing-details {
|
||||
font-size: 34px;
|
||||
}
|
||||
.standard-price-box {
|
||||
flex-flow: row wrap;
|
||||
height: 90px;
|
||||
font-size: 15px;
|
||||
|
||||
a {
|
||||
margin-top: 76px;
|
||||
}
|
||||
&:first-child {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.standard-price-box {
|
||||
flex-flow: row wrap;
|
||||
height: 90px;
|
||||
font-size: 15px;
|
||||
|
||||
&:first-child {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
p {
|
||||
padding: 0;
|
||||
margin: 0 0 -10px;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-weight: 550;
|
||||
color: hsl(169, 46%, 33%);
|
||||
}
|
||||
p {
|
||||
padding: 0;
|
||||
margin: 0 0 -10px;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-weight: 550;
|
||||
color: hsl(169, 46%, 33%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4598,3 +4610,159 @@ nav {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.self-hosting-page {
|
||||
p {
|
||||
font-size: 18px !important;
|
||||
}
|
||||
|
||||
.hero-buttons {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.alternative-features {
|
||||
.feature-container {
|
||||
padding: 30px;
|
||||
|
||||
&:nth-child(even) {
|
||||
background: hsl(171, 49%, 39%, 0.21);
|
||||
border-radius: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.feature-icon img {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.triangle {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-style: solid;
|
||||
border-width: 150px 100vw 0 0;
|
||||
border-color: hsl(0, 0%, 100%) transparent transparent transparent;
|
||||
}
|
||||
|
||||
.quote {
|
||||
position: relative;
|
||||
margin: 0;
|
||||
margin-top: 50px;
|
||||
padding: 50px;
|
||||
padding-top: 200px;
|
||||
border-radius: 0;
|
||||
background: linear-gradient(
|
||||
145deg,
|
||||
hsl(191, 56%, 55%),
|
||||
hsl(169, 65%, 42%)
|
||||
);
|
||||
|
||||
blockquote {
|
||||
max-width: 700px;
|
||||
margin: auto;
|
||||
font-size: 24px;
|
||||
|
||||
.author {
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.feature-grid {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
background: hsl(171, 49%, 39%, 0.21);
|
||||
padding: 50px 0;
|
||||
|
||||
.feature-row {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
max-width: 1000px;
|
||||
margin: auto;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 20px;
|
||||
|
||||
.feature-box {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
width: 40vw;
|
||||
height: 350px;
|
||||
box-shadow: 0 1px 1px 0 hsla(193, 100%, 7.1%, 0.3),
|
||||
1px 1px 1px 0 hsla(193, 100%, 7.1%, 0.15),
|
||||
-1px 1px 1px 0 hsla(193, 100%, 7.1%, 0.15);
|
||||
|
||||
background: hsl(0, 0%, 100%);
|
||||
text-align: left;
|
||||
margin: 10px 0;
|
||||
padding: 50px 30px 0;
|
||||
border-top: 5px solid hsl(171, 49%, 39%);
|
||||
|
||||
@media (width < 1000px) {
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-weight: 550;
|
||||
font-size: clamp(24px, 2.5vw, 32px);
|
||||
}
|
||||
|
||||
.feature-icon {
|
||||
align-self: center;
|
||||
|
||||
img {
|
||||
max-width: 100px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (width < 768px) {
|
||||
flex-direction: column;
|
||||
|
||||
.feature-box {
|
||||
width: 75vw !important;
|
||||
height: calc(600px - 35vw);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.for-education.pricing-model .pricing-container .price-box {
|
||||
height: 525px;
|
||||
|
||||
.bottom {
|
||||
height: 150px;
|
||||
}
|
||||
}
|
||||
|
||||
.feature-end {
|
||||
margin: 0;
|
||||
|
||||
.feature-pricing {
|
||||
padding: 50px;
|
||||
background: linear-gradient(
|
||||
180deg,
|
||||
hsl(191, 56%, 55%),
|
||||
hsl(169, 65%, 42%)
|
||||
);
|
||||
|
||||
@media (width <= 540px) {
|
||||
padding: 50px 0;
|
||||
|
||||
.price-box {
|
||||
padding-bottom: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: hsl(0, 0%, 100%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -113,7 +113,7 @@ topic to a different stream](/help/move-content-to-another-stream).
|
|||
Zulip.
|
||||
- [#production help](https://chat.zulip.org/#narrow/stream/31-production-help) is
|
||||
for all questions related to [self-hosting
|
||||
Zulip](https://zulip.readthedocs.io/en/latest/production/install.html).
|
||||
Zulip](/self-hosting/).
|
||||
- [#zulip
|
||||
cloud](https://chat.zulip.org/#narrow/stream/387-zulip-cloud) is for
|
||||
all conversations about the [Zulip Cloud](https://zulip.com/plans/)
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
<li><a href="/why-zulip/">{{ _("Why Zulip") }}</a></li>
|
||||
<li><a href="/features/">{{ _("Features") }}</a></li>
|
||||
<li><a href="/plans/">{{ _("Plans & pricing") }}</a></li>
|
||||
<li><a href="/self-hosting/">{{ _("Self-hosting") }}</a></li>
|
||||
<li><a href="/apps/">{{ _("Desktop & mobile apps") }}</a></li>
|
||||
<li><a href="/security/">{{ _("Security") }}</a></li>
|
||||
<li><a href="/integrations/">{{ _("Integrations") }}</a></li>
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
<a href="/plans/" class="button">
|
||||
{{ _('View pricing') }}
|
||||
</a>
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/install.html" class="button">
|
||||
<a href="/self-hosting/" class="button">
|
||||
{{ _('Self-host Zulip') }}
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
<a href="/accounts/go/?next=/upgrade%23sponsorship" class="button">
|
||||
{{ _('Request sponsorship') }}
|
||||
</a>
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/install.html" class="button">
|
||||
<a href="/self-hosting/" class="button">
|
||||
{{ _('Self-host Zulip') }}
|
||||
</a>
|
||||
</div>
|
||||
|
@ -63,7 +63,7 @@
|
|||
<a href="/accounts/go/?next=/upgrade%23sponsorship" class="button">
|
||||
{{ _('Request sponsorship') }}
|
||||
</a>
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/install.html" class="button">
|
||||
<a href="/self-hosting/" class="button">
|
||||
{{ _('Self-host Zulip') }}
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
<a href="#feature-pricing" class="button">
|
||||
{{ _('Education pricing') }}
|
||||
</a>
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/install.html" class="button">
|
||||
<a href="/self-hosting/" class="button">
|
||||
{{ _('Self-host Zulip') }}
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
<a href="/accounts/go/?next=/upgrade%23sponsorship" class="button">
|
||||
{{ _('Request sponsorship') }}
|
||||
</a>
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/install.html" class="button">
|
||||
<a href="/self-hosting/" class="button">
|
||||
{{ _('Self-host Zulip') }}
|
||||
</a>
|
||||
</div>
|
||||
|
@ -280,7 +280,7 @@
|
|||
<a href="/accounts/go/?next=/upgrade%23sponsorship" class="button">
|
||||
{{ _('Request sponsorship') }}
|
||||
</a>
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/install.html" class="button">
|
||||
<a href="/self-hosting/" class="button">
|
||||
{{ _('Self-host Zulip') }}
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<a href="/accounts/go/?next=/upgrade%23sponsorship" class="button">
|
||||
{{ _('Request sponsorship') }}
|
||||
</a>
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/install.html" class="button">
|
||||
<a href="/self-hosting/" class="button">
|
||||
{{ _('Self-host Zulip') }}
|
||||
</a>
|
||||
</div>
|
||||
|
@ -699,7 +699,7 @@
|
|||
<a href="/accounts/go/?next=/upgrade%23sponsorship" class="button">
|
||||
{{ _('Request sponsorship') }}
|
||||
</a>
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/install.html" class="button">
|
||||
<a href="/self-hosting/" class="button">
|
||||
{{ _('Self-host Zulip') }}
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
<a href="/accounts/go/?next=/upgrade%23sponsorship" class="button">
|
||||
{{ _('Request sponsorship') }}
|
||||
</a>
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/install.html" class="button">
|
||||
<a href="/self-hosting/" class="button">
|
||||
{{ _('Self-host Zulip') }}
|
||||
</a>
|
||||
</div>
|
||||
|
@ -387,7 +387,7 @@
|
|||
<a href="/accounts/go/?next=/upgrade%23sponsorship" class="button">
|
||||
{{ _('Request sponsorship') }}
|
||||
</a>
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/install.html" class="button">
|
||||
<a href="/self-hosting/" class="button">
|
||||
{{ _('Self-host Zulip') }}
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -371,7 +371,7 @@
|
|||
and <a href="https://github.com/matrix-org/synapse/graphs/contributors">matrix.org</a>.
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/install.html" class="button">Install Zulip {{ latest_release_version }}</a>
|
||||
Learn about <a href="/self-hosting/">self-hosting Zulip</a>
|
||||
or <a href="{{ latest_release_announcement }}">read the Zulip {{ latest_major_version }} release announcement</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
@ -20,14 +20,13 @@ us know!
|
|||
## Choosing between Zulip Cloud and self-hosting
|
||||
|
||||
Whether [signing up for Zulip Cloud](/new/) or [self-hosting
|
||||
Zulip][install-self-hosted] is the right choice for you depends on the
|
||||
Zulip](/self-hosting/) is the right choice for you depends on the
|
||||
needs of your organization.
|
||||
|
||||
If you aren’t sure what you need, our high quality export and import
|
||||
tools ([cloud][export-cloud], [self-hosted][export-self-hosted])
|
||||
ensure you can always move from our hosting to yours (and back).
|
||||
|
||||
[install-self-hosted]: https://zulip.readthedocs.io/en/stable/production/install.html
|
||||
[export-cloud]: /help/export-your-organization
|
||||
[export-self-hosted]: https://zulip.readthedocs.io/en/latest/production/export-and-import.html
|
||||
|
||||
|
|
|
@ -1,10 +1,24 @@
|
|||
* Zulip is [100% open-source software](https://github.com/zulip), with no "open core" catch.
|
||||
* We work hard to make it easy to [set up][install-zulip],
|
||||
[back up][back-up-zulip], and [maintain][maintain-zulip] a self-hosted
|
||||
Zulip installation.
|
||||
* Retain full control over your data.
|
||||
* Customize Zulip for all your needs.
|
||||
* Zulip is [100% open-source software][zulip-github], with no "open core" catch.
|
||||
When you self-host Zulip, you get the same software as [Zulip Cloud
|
||||
Standard](/plans/) customers.
|
||||
|
||||
* Retain full control over your data and simplify compliance by self-hosting
|
||||
Zulip behind your firewall.
|
||||
|
||||
* We work hard to make it easy to [install][install-zulip], [back
|
||||
up][back-up-zulip], and [maintain][maintain-zulip] a self-hosted
|
||||
Zulip server. Self host Zulip directly on Ubuntu or Debian Linux, in
|
||||
<a href="https://github.com/zulip/docker-zulip">Docker</a>, or with
|
||||
prebuilt images for <a
|
||||
href="https://marketplace.digitalocean.com/apps/zulip">Digital
|
||||
Ocean</a> and <a
|
||||
href="https://render.com/docs/deploy-zulip">Render</a>.
|
||||
|
||||
* Customize Zulip for all your needs. It's easy to develop and maintain [custom
|
||||
integrations](/api/incoming-webhooks-overview) and [features][modify-zulip].
|
||||
|
||||
[zulip-github]: https://github.com/zulip/zulip#readme
|
||||
[install-zulip]: https://zulip.readthedocs.io/en/latest/production/install.html
|
||||
[back-up-zulip]: https://zulip.readthedocs.io/en/stable/production/export-and-import.html#backups
|
||||
[maintain-zulip]: https://zulip.readthedocs.io/en/stable/production/upgrade-or-modify.html
|
||||
[modify-zulip]: https://zulip.readthedocs.io/en/latest/production/upgrade-or-modify.html#modifying-zulip
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
* [Zulip Cloud or self-hosting?](/help/zulip-cloud-or-self-hosting)
|
||||
* [Trying out Zulip](/help/trying-out-zulip)
|
||||
* [Self-hosting Zulip](/self-hosting)
|
||||
* [Installing a Zulip server](https://zulip.readthedocs.io/en/stable/production/install.html)
|
||||
* [Setting up your organization](/help/getting-your-organization-started-with-zulip)
|
||||
* [Getting started with Zulip](/help/getting-started-with-zulip)
|
||||
|
|
|
@ -19,7 +19,7 @@ ensure you can always move from our hosting to yours (and back).
|
|||
## Related resources
|
||||
|
||||
* [Sign up for Zulip Cloud](/new/)
|
||||
* [Installing a Zulip server](https://zulip.readthedocs.io/en/stable/production/install.html)
|
||||
* [Self-hosting Zulip](/self-hosting/)
|
||||
* [Trying out Zulip](/help/trying-out-zulip)
|
||||
* [Setting up your organization](/help/getting-your-organization-started-with-zulip)
|
||||
* [Migrating from other chat tools](/help/migrating-from-other-chat-tools)
|
||||
|
|
|
@ -28,6 +28,9 @@
|
|||
<li>
|
||||
<a href="/features/">Features</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/self-hosting/">Self-hosting</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/security/">Security</a>
|
||||
</li>
|
||||
|
|
|
@ -112,7 +112,7 @@
|
|||
|
||||
<div class="price-box" tabindex="-1">
|
||||
<div class="text-content">
|
||||
<h2>Self-service</h2>
|
||||
<h2>Free</h2>
|
||||
<div class="description">
|
||||
Retain full control over your data.
|
||||
</div>
|
||||
|
@ -133,8 +133,8 @@
|
|||
Zulip is 100% free and open
|
||||
source, with no proprietary version. <br />
|
||||
</div>
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/install.html" class="button green">
|
||||
Install a Zulip server
|
||||
<a href="/self-hosting/" class="button green">
|
||||
Self-host Zulip
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -148,7 +148,7 @@
|
|||
</div>
|
||||
<hr />
|
||||
<ul class="feature-list">
|
||||
<li>All self-service features included</li>
|
||||
<li>All Free features included</li>
|
||||
<li>Professional support with SLAs</li>
|
||||
<li>High availability</li>
|
||||
<li>Incident collaboration</li>
|
||||
|
|
|
@ -0,0 +1,348 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% set OPEN_GRAPH_TITLE = 'Self-host Zulip today.' %}
|
||||
{% set OPEN_GRAPH_DESCRIPTION = 'Open-source software that provides enterprise-grade reliability and security.' %}
|
||||
|
||||
{% block title %}
|
||||
<title>Self-host Zulip today. Open-source software that provides enterprise-grade reliability and security.</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
{% endblock %}
|
||||
|
||||
{% block portico_content %}
|
||||
|
||||
{% include 'zerver/landing_nav.html' %}
|
||||
|
||||
<div class="portico-landing why-page no-slide solutions-page self-hosting-page">
|
||||
<div class="hero bg-pycon security">
|
||||
<div class="bg-dimmer"></div>
|
||||
<div class="content">
|
||||
<h1 class="center">Self-host Zulip today.</h1>
|
||||
<p>Open-source team chat with enterprise-grade reliability and security.</p>
|
||||
</div>
|
||||
<div class="hero-buttons center">
|
||||
<a href="#feature-pricing-self-hosting" class="button">
|
||||
{{ _('Features & pricing') }}
|
||||
</a>
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/install.html" class="button">Install Zulip {{ latest_release_version }}</a>
|
||||
<a href="/for/business/" class="button">
|
||||
{{ _('Zulip for business') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="alternative-features">
|
||||
<div class="feature-container">
|
||||
<div class="feature-half">
|
||||
<div class="feature-text">
|
||||
<h1>
|
||||
100% free and open-source software.
|
||||
</h1>
|
||||
<p>
|
||||
When you self-host Zulip, you get <a href="https://github.com/zulip/zulip#readme">
|
||||
the same software</a> as our <a href="/plans/">Zulip
|
||||
Cloud Standard</a> customers.
|
||||
</p>
|
||||
<p>
|
||||
Unlike the competition, you don't pay for
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/authentication-methods.html">SAML
|
||||
authentication</a>, <a href="https://zulip.readthedocs.io/en/stable/production/authentication-methods.html#synchronizing-data">LDAP
|
||||
sync</a>, or advanced <a href="/help/roles-and-permissions">roles</a> and <a href="/help/stream-permissions">permissions</a>. There
|
||||
is no “open core” catch — just freely available world-class software.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="feature-half">
|
||||
<div class="feature-icon">
|
||||
<img alt="" src="/static/images/landing-page/open_source/build_inclusive_communities.svg" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="feature-container alternate-grid">
|
||||
<div class="feature-half md-hide">
|
||||
<div class="feature-icon">
|
||||
<img class="mirror-image" alt="" src="/static/images/landing-page/education/privacy.svg" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="feature-half">
|
||||
<div class="feature-text">
|
||||
<h1>
|
||||
Enterprise-grade security and compliance.
|
||||
</h1>
|
||||
<p>
|
||||
Protect your sensitive conversations and simplify
|
||||
compliance by self-hosting Zulip behind your
|
||||
firewall.
|
||||
</p>
|
||||
<p>
|
||||
Zulip's <a
|
||||
href="/help/configure-authentication-methods">authentication</a>
|
||||
and <a
|
||||
href="/help/roles-and-permissions">permissions</a>
|
||||
systems are designed to flexibly support every
|
||||
organization's security tools and policies.
|
||||
</p>
|
||||
<p>Making sure your information stays protected is <a href="https://zulip.com/security/">our highest priority</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="feature-half md-display">
|
||||
<div class="feature-icon">
|
||||
<img class="mirror-image" alt="" src="/static/images/landing-page/education/privacy.svg" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="feature-container">
|
||||
<div class="feature-half">
|
||||
<div class="feature-text">
|
||||
<h1>
|
||||
Take charge of your mission-critical communication platform.
|
||||
</h1>
|
||||
<p>
|
||||
Keep full control of your data and avoid <a
|
||||
href="https://www.theverge.com/2021/9/30/22702876/slack-is-down-outage-morning-disruption-work-chat">
|
||||
unpredictable downtime</a>
|
||||
from <a
|
||||
href="https://www.theverge.com/2021/4/27/22405300/microsoft-teams-down-outage-worldwide-issues">SaaS
|
||||
team chat vendors</a> by hosting Zulip on
|
||||
your own infrastructure.
|
||||
</p>
|
||||
<p>
|
||||
Our extensive <a
|
||||
href="https://zulip.readthedocs.io/en/stable/production/settings.html">
|
||||
configuration options</a> let you set up Zulip
|
||||
to suit the needs of your organization.
|
||||
Zulip offers <a
|
||||
href="/integrations/">over one hundred native
|
||||
integrations</a>, and hundreds more via third-party
|
||||
extensions.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="feature-half">
|
||||
<div class="feature-icon">
|
||||
<img class="mirror-image" alt="" src="/static/images/landing-page/education/mobile.svg" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="feature-container alternate-grid">
|
||||
<div class="feature-half md-hide">
|
||||
<div class="feature-icon">
|
||||
<img alt="" src="/static/images/landing-page/education/flexible-administration.svg" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="feature-half">
|
||||
<div class="feature-text">
|
||||
<h1>
|
||||
Installation and upgrades that Just Work.
|
||||
</h1>
|
||||
<p>
|
||||
Our well-documented scripts help you
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/install.html">setup</a>,
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/export-and-import.html#backups">backup</a>, and
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/upgrade-or-modify.html">upgrade</a>
|
||||
your self-hosted Zulip installation. Migrate your
|
||||
<a href="/help/migrating-from-other-chat-tools">data</a>
|
||||
and <a href="/integrations/doc/slack_incoming">integrations</a>
|
||||
from other chat tools for a smooth transition.
|
||||
</p>
|
||||
<p>
|
||||
Self-host Zulip directly on Ubuntu or Debian Linux,
|
||||
in <a href="https://github.com/zulip/docker-zulip">Docker</a>,
|
||||
or with prebuilt images for <a href="https://marketplace.digitalocean.com/apps/zulip">Digital Ocean</a>
|
||||
and <a href="https://render.com/docs/deploy-zulip">Render</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="feature-half md-display">
|
||||
<div class="feature-icon">
|
||||
<img alt="" src="/static/images/landing-page/education/flexible-administration.svg" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="quote">
|
||||
<div class="triangle"></div>
|
||||
<blockquote>
|
||||
Zulip has been extremely stable and requires no maintenance beyond installing updates.
|
||||
<div class="author">
|
||||
— Robert Imschweiler, <a href="/case-studies/tum/">Technical University of Munich</a>
|
||||
</div>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div class="feature-grid">
|
||||
<div class="feature-row">
|
||||
<div class="feature-box">
|
||||
<div class="feature-icon">
|
||||
<img alt="" src="/static/images/landing-page/self-hosting/growth.png" />
|
||||
</div>
|
||||
<div class="feature-text">
|
||||
<h1>
|
||||
Rock-solid reliability at scale.
|
||||
</h1>
|
||||
<p>
|
||||
Zulip is engineered to make every interaction snappy and
|
||||
efficient, even for organizations with 10,000s of users,
|
||||
with a simple deployment on
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/requirements.html#scalability">
|
||||
modest hardware</a>.
|
||||
</p>
|
||||
<p>
|
||||
With a user experience designed to work great at any
|
||||
size, organizations that send <a
|
||||
href="/case-studies/rust/">thousands</a> of <a
|
||||
href="/case-studies/tum/">messages</a> per week <a
|
||||
href="/case-studies/lean/">thrive on Zulip</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="feature-box">
|
||||
<div class="feature-icon">
|
||||
<img alt="" src="/static/images/landing-page/self-hosting/database.png" />
|
||||
</div>
|
||||
<div class="feature-text">
|
||||
<h1>
|
||||
No lock-in.
|
||||
</h1>
|
||||
<p>
|
||||
You can <a href="https://zulip.com/help/zulip-cloud-or-self-hosting">move
|
||||
freely</a> between <a href="/plans/">Zulip Cloud</a>
|
||||
hosting and your own servers with our high quality <a
|
||||
href="/help/export-your-organization">export</a> and
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/export-and-import.html">import
|
||||
</a> tools.
|
||||
</p>
|
||||
<p>
|
||||
Zulip also supports exporting your organization's
|
||||
message history to a <a
|
||||
href="https://github.com/zulip/zulip-archive">static
|
||||
HTML archive</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="feature-row">
|
||||
<div class="feature-box">
|
||||
<div class="feature-icon">
|
||||
<img alt="" src="/static/images/landing-page/self-hosting/fork.png" />
|
||||
</div>
|
||||
<div class="feature-text">
|
||||
<h1>
|
||||
Yours to customize.
|
||||
</h1>
|
||||
<p>
|
||||
<a href="/api/incoming-webhooks-overview">Creating custom integrations</a> is a breeze with
|
||||
our well-documented <a href="/api">REST API</a>.
|
||||
</p>
|
||||
<p>
|
||||
Zulip makes it easy to
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/upgrade-or-modify.html#modifying-zulip">
|
||||
maintain a fork</a> with customized features, with 175,000 words of documentation for
|
||||
system administrators and developers.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="feature-box">
|
||||
<div class="feature-icon">
|
||||
<img alt="" src="/static/images/landing-page/self-hosting/help.png" />
|
||||
</div>
|
||||
<div class="feature-text">
|
||||
<h1>
|
||||
Amazing support experience.
|
||||
</h1>
|
||||
<p>
|
||||
<a href="mailto:sales@zulip.com">Contact Sales</a> to
|
||||
discuss Enterprise support offerings.
|
||||
</p>
|
||||
<p>
|
||||
We provide free, interactive support for the vast
|
||||
majority of questions about running a Zulip server. Stop by <a href="/developer-community/">our friendly
|
||||
development community</a> to ask for help or suggest
|
||||
improvements!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="feature-end">
|
||||
<div class="feature-pricing" id="feature-pricing-self-hosting">
|
||||
<h1 class="center"> Self-hosting plans </h1>
|
||||
<div class="pricing-model">
|
||||
<div class="padded-content">
|
||||
<div class="pricing-container">
|
||||
<div class="price-box" tabindex="-1">
|
||||
<div class="text-content">
|
||||
<h2>Free</h2>
|
||||
<div class="description">
|
||||
Retain full control over your data.
|
||||
</div>
|
||||
<hr />
|
||||
<ul class="feature-list">
|
||||
<li>All Zulip Cloud features included</li>
|
||||
<li>Friendly community support</li>
|
||||
<li><a href="https://zulip.readthedocs.io/en/stable/production/authentication-methods.html">SAML, OIDC, Google, social SSO</a></li>
|
||||
<li><a href="https://zulip.readthedocs.io/en/stable/production/authentication-methods.html#synchronizing-data">LDAP/Active Directory sync</a></li>
|
||||
<li>Advanced <a href="/help/roles-and-permissions">roles</a> and <a href="/help/stream-permissions">permissions</a></li>
|
||||
<li>Easy <a href="https://zulip.readthedocs.io/en/stable/production/install.html">installation</a>
|
||||
and <a href="https://zulip.readthedocs.io/en/stable/production/upgrade-or-modify.html">maintenance</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="text-content">
|
||||
<div class="pricing-details multi-line">
|
||||
Zulip is 100% free and open
|
||||
source, with no proprietary version. <br />
|
||||
</div>
|
||||
<a href="https://zulip.readthedocs.io/en/stable/production/install.html" class="button green">
|
||||
Install a Zulip server
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="price-box" tabindex="-1">
|
||||
<div class="text-content">
|
||||
<h2>Enterprise</h2>
|
||||
<div class="description">
|
||||
For mission-critical installations.
|
||||
</div>
|
||||
<hr />
|
||||
<ul class="feature-list">
|
||||
<li>All self service features included</li>
|
||||
<li>Professional support with SLAs</li>
|
||||
<li>High availability</li>
|
||||
<li>Incident collaboration</li>
|
||||
<li>Advanced compliance</li>
|
||||
<li>Funds the Zulip open source project</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="text-content">
|
||||
<div class="pricing-details multi-line">
|
||||
Affordable pricing depends on support required.
|
||||
</div>
|
||||
<a href="mailto:sales@zulip.com" target="_blank" rel="noopener noreferrer" class="no-action button green">
|
||||
Contact sales
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
|
@ -167,6 +167,7 @@ class DocPageTest(ZulipTestCase):
|
|||
self._test("/for/research/", "for research")
|
||||
self._test("/for/business/", "Communication efficiency represents")
|
||||
self._test("/for/communities/", "Zulip for communities")
|
||||
self._test("/self-hosting/", "Self-host Zulip")
|
||||
self._test("/security/", "TLS encryption")
|
||||
self._test("/attribution/", "Attributions")
|
||||
self._test("/devlogin/", "Normal users", landing_page=False)
|
||||
|
|
|
@ -97,7 +97,7 @@ def team_view(request: HttpRequest) -> HttpResponse:
|
|||
|
||||
@add_google_analytics
|
||||
def landing_view(request: HttpRequest, template_name: str) -> HttpResponse:
|
||||
return TemplateResponse(request, template_name)
|
||||
return TemplateResponse(request, template_name, latest_info_context())
|
||||
|
||||
|
||||
@add_google_analytics
|
||||
|
|
|
@ -642,6 +642,7 @@ i18n_urls = [
|
|||
"for/working-groups-and-communities/",
|
||||
RedirectView.as_view(url="/for/communities/", permanent=True),
|
||||
),
|
||||
path("self-hosting/", landing_view, {"template_name": "zerver/self-hosting.html"}),
|
||||
path("security/", landing_view, {"template_name": "zerver/security.html"}),
|
||||
]
|
||||
|
||||
|
|
Loading…
Reference in New Issue