Listing Thumbnail

    Perimattic Managed Zulip - Team Chat on AWS

     Info
    Deployed on AWS
    AWS Free Tier
    Zulip 12.3 (Apache-2.0) team chat with PostgreSQL, memcached, RabbitMQ and Valkey on Ubuntu 24.04, with HTTPS, an invite-only organization and a generated owner password. Ready after one SSH login.

    Overview

    This AMI runs Zulip, the open-source team chat with threaded conversations (topics), on Ubuntu 24.04 LTS. It uses the official Zulip server Docker image (ghcr.io/zulip/zulip-server 12.3-0) with the services Zulip's own Docker Compose file lists: PostgreSQL 14 (zulip/zulip-postgresql, pinned by digest), memcached 1.6.45, RabbitMQ 4.2.9 and Valkey 9.1.3. All images are pinned and baked into the AMI, so first start does not depend on a registry. Zulip is an independent project and Perimattic is not affiliated with it.

    Why Zulip?

    Zulip organizes every conversation into channels and topics, so a team can catch up asynchronously without losing threads. It has search, integrations, bots, an API, desktop and web clients, and self-hosting with all features of the server included.

    What Perimattic adds

    Secure by default: on a fresh Zulip server, whoever reaches it first can create the organization. Here, during first-login setup, the first organization and its owner are created on your server with Zulip's own create_realm management command and a random 24-character password, before the site is published. The organization is invite-only, no organization creation link is generated, and setup checks that a stranger can neither create an organization nor join without an invitation, that a wrong password and anonymous requests are refused. All service passwords and the Django secret key are generated per instance and passed to the containers as Docker secrets. No default credential exists.

    Pinned, tested versions: every image is fixed to an exact tag or digest, not 'latest', so a rebuild never changes the application behind your back.

    HTTPS: Apache is configured as a reverse proxy in front of Zulip's plain-HTTP mode and a free Let's Encrypt certificate is requested for your domain with certbot. Only the Docker gateway address is trusted to set forwarded headers. Zulip listens only on the loopback interface; the database, memcached, RabbitMQ and Valkey are reachable only inside the Docker network.

    Patched base: Ubuntu 24.04 LTS built through an automated EC2 Image Builder pipeline, with security updates applied at build time.

    Email, memory and limits

    Zulip needs a host name (a domain with an A record pointing at the instance). Without an SMTP server, invitations by email, password-reset emails and missed-message notification emails do not work: the owner can still invite people with a reusable invitation link and can set a password on the server. Add your SMTP settings to the compose file to enable email. Mobile push notifications need Zulip's push service and are not configured. Zulip is memory hungry: with no users or messages, Zulip used about 1.7 to 2.3 GB and its four services about 0.25 GB more (measured on t3.medium and t3.large with queue workers in one process); Zulip's own minimum is 2 GB. See the recommended instance type below. Uploads, daily database dumps and configuration are in /opt/app/zulip-data and the database in /opt/app/postgres on the root volume: choose the EBS volume size for your use and take snapshots for backup.

    Licence

    Zulip is released under the Apache License 2.0; this AMI runs the unmodified official image. PostgreSQL is released under the PostgreSQL License, memcached and Valkey under BSD licences and RabbitMQ under the Mozilla Public License 2.0.

    Getting Started Launch the AMI and open ports 22, 80 and 443 in the security group SSH in and answer the setup prompts (domain and owner email) Open https://your-domain  and sign in with the owner email and the password printed at the end of setup Invite your team with an invitation link

    This AMI is built and supported by Perimattic.

    Book a free setup consultation at https://cal.com/gaurav-pareek-perimattic/marketplace-setup-consultations  or email us at aws-support@perimattic.com .

    Support Managed and supported by Perimattic, a cloud infrastructure company with 13+ years of experience serving global clients. We offer free setup assistance, custom integrations, infrastructure consulting, and 24/7 support.

    Highlights

    • Zulip 12.3 (Apache-2.0, official image) with PostgreSQL, memcached, RabbitMQ and Valkey, all pinned and pre-installed: threaded team chat on your own server.
    • Secure first login: the organization and its owner are created with Zulip's own command and a random 24-character password before the site is published; invite-only, and a stranger can neither create an organization nor join.
    • Built on patched Ubuntu 24.04 LTS, with HTTPS through Apache and Let's Encrypt, and supported by Perimattic: free setup assistance at aws-support@perimattic.com.

    Details

    Delivery method

    Delivery option
    64-bit (x86) Amazon Machine Image (AMI)

    Latest version

    Operating system
    Ubuntu 24.04

    Deployed on AWS
    New

    Introducing multi-product solutions

    You can now purchase comprehensive solutions tailored to use cases and industries.

    Multi-product solutions

    Features and programs

    Financing for AWS Marketplace purchases

    AWS Marketplace now accepts line of credit payments through the PNC Vendor Finance program. This program is available to select AWS customers in the US, excluding NV, NC, ND, TN, & VT.
    Financing for AWS Marketplace purchases

    Pricing

    Perimattic Managed Zulip - Team Chat on AWS

     Info
    Pricing is based on actual usage, with charges varying according to how much you consume. Subscriptions have no end date and may be canceled any time.
    Additional AWS infrastructure costs may apply. Use the AWS Pricing Calculator  to estimate your infrastructure costs.
    If you are an AWS Free Tier customer with a free plan, you are eligible to subscribe to this offer. You can use free credits to cover the cost of eligible AWS infrastructure. See AWS Free Tier  for more details. If you created an AWS account before July 15th, 2025, and qualify for the Legacy AWS Free Tier, Amazon EC2 charges for Micro instances are free for up to 750 hours per month. See Legacy AWS Free Tier  for more details.

    Usage costs (685)

     Info
    • ...
    Dimension
    Cost/hour
    t3.large
    Recommended
    $0.03
    t3.micro
    $0.03
    c3.2xlarge
    $0.03
    c3.4xlarge
    $0.03
    c3.8xlarge
    $0.03
    c3.large
    $0.03
    c3.xlarge
    $0.03
    c4.2xlarge
    $0.03
    c4.4xlarge
    $0.03
    c4.8xlarge
    $0.03

    Vendor refund policy

    For any questions or concerns, please contact: Perimattic.com Email: aws-support@perimattic.com 

    How can we make this page better?

    Tell us how we can improve this page, or report an issue with this product.
    Tell us how we can improve this page, or report an issue with this product.

    Legal

    Vendor terms and conditions

    Upon subscribing to this product, you must acknowledge and agree to the terms and conditions outlined in the vendor's End User License Agreement (EULA) .

    Content disclaimer

    Vendors are responsible for their product descriptions and other product content. AWS does not warrant that vendors' product descriptions or other product content are accurate, complete, reliable, current, or error-free.

    Usage information

     Info

    Delivery details

    64-bit (x86) Amazon Machine Image (AMI)

    Amazon Machine Image (AMI)

    An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.

    Version release notes

    Initial release.

    • Application: Zulip 12.3 (container image pinned, baked into the AMI).
    • Base: Ubuntu 24.04 LTS, fully patched at build time, built by an automated EC2 Image Builder pipeline.
    • TLS: Apache reverse proxy with a Let's Encrypt certificate requested by certbot at first login.
    • Credentials are generated on the instance at first login; none are present in the image.
    • The first organization and its owner are created at first login with Zulip's create_realm command and a random password; the organization is invite-only and no creation link is generated. Setup verifies that a wrong password and anonymous requests are refused and that a stranger can neither create an organization nor join, before the site is published.
    • Application: Zulip 12.3 (Apache-2.0, official image ghcr.io/zulip/zulip-server 12.3-0) with PostgreSQL 14 (zulip/zulip-postgresql, pinned by digest), memcached 1.6.45, RabbitMQ 4.2.9 and Valkey 9.1.3. Service passwords and the Django secret key are generated per instance (Docker secrets).
    • Email and mobile push notifications are not configured: they need your SMTP server and Zulip's push service.

    Additional details

    Usage instructions

    1. Launch an Instance

      From AWS Marketplace, click Continue to Subscribe and then Continue to Configuration to launch the AMI.

    2. Choose the Recommended Instance Type

      t3.large (8 GB of memory) is the recommended starting size: Zulip and its services used about 2.2 GB of memory with no users, and grow with team size. A t3.medium (4 GB) booted and passed our tests and suits a small team. Choose t3.xlarge or larger for hundreds of active users.

    3. Configure Security Group

      Allow inbound traffic on the following ports:

      • 22 (SSH) - terminal access for setup
      • 80 (HTTP) - needed to validate your domain for the TLS certificate
      • 443 (HTTPS) - access to Zulip
    4. Point a domain at the instance

      Create a DNS A record (for example chat.example.com) pointing to the instance's public IP before you log in.

    5. Connect to the Instance

      ssh -i <your-key.pem> ubuntu@<public-ip>

    6. First-Login Setup

      The first SSH login runs a guided setup:

      • Prompts for your domain and owner email and checks the DNS A record
      • Generates a random 24-character owner password and the database, cache, queue and Django secrets on your server
      • Starts Zulip, PostgreSQL, memcached, RabbitMQ and Valkey (the first start takes several minutes) and creates the organization and its owner with Zulip's create_realm command
      • Checks that the owner password works, that a wrong password and anonymous requests are refused, and that a stranger cannot create an organization or join without an invitation
      • Configures Apache as an HTTPS reverse proxy and requests a Let's Encrypt certificate
      • Prints the URL and the owner credentials; they are also stored in /opt/app/access.txt (root only)

      If a step fails, fix the problem shown and log in again: the setup resumes where it stopped.

    7. Access Zulip

      Open https://<your-domain> and log in with the owner email you entered and the generated password (view it again with: sudo cat /opt/app/access.txt). Invite people from Personal settings > Invite users with an invitation link; no SMTP server is needed for that.

    8. Credentials

      Generated on your server, never shared between customers. View them again with:

      sudo cat /opt/app/access.txt

    9. Manage the Services

      cd /opt/app sudo docker compose ps sudo docker compose restart

    Uploads, daily database dumps and generated configuration are in /opt/app/zulip-data and the database in /opt/app/postgres: back up all of /opt/app or snapshot the volume before upgrades. Email (emailed invitations, password resets, notifications) needs an SMTP server: see /opt/app/access.txt for the settings to add to /opt/app/docker-compose.yml. Without SMTP, set a user's password with: cd /opt/app && sudo docker compose exec -u zulip zulip /home/zulip/deployments/current/manage.py change_password <email> -r ''.

    Thank you for subscribing.

    Need Support or Customization? Perimattic's team can help with setup issues, custom features and integrations:

    Email us: aws-support@perimattic.com  WhatsApp: +91-92142 66896 Learn more: <www.perimattic.com >

    We offer free setup assistance, custom development and integrations, and infrastructure consulting.

    Support

    Vendor support

    Support by Perimattic

    Perimattic provides 24/7 support for all AWS Marketplace products. Our team has 13+ years of cloud infrastructure expertise serving global clients.

    Contact Channels: Email: aws-support@perimattic.com  WhatsApp: +91-92142 66896 Website: <www.perimattic.com >

    What We Help With: Initial setup and configuration assistance (free) Troubleshooting connectivity, performance, and backup issues Custom development and integrations Infrastructure consulting and architecture review Migration planning from other solutions Automation solutions and scaling guidance

    Instance Sizing Guidance: t2.medium or t3.medium: Development environments, small applications m5.large: Production workloads with moderate traffic m5.xlarge: High-traffic production deployments and larger datasets

    For workload-specific sizing recommendations, contact our team for a free consultation.

    Refunds and Issues: If you experience any issues or need to request a refund, contact us at aws-support@perimattic.com  and we will respond promptly.

    AWS infrastructure support

    AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.

    Similar products

    Customer reviews

    Ratings and reviews

     Info
    0 ratings
    5 star
    4 star
    3 star
    2 star
    1 star
    0%
    0%
    0%
    0%
    0%
    0 reviews
    No customer reviews yet
    Be the first to review this product . We've partnered with PeerSpot to gather customer feedback. You can share your experience by writing or recording a review, or scheduling a call with a PeerSpot analyst.