zulip-standalone
Description
Install a Zulip standalone server.
This uses the install script recommended by the Zulip project to setup a Zulip service and all dependencies.
TODO: configure email settings, use 'expect' instaed of patching the install script for letsencrypt
Variables
Name | Type | Default | Description |
---|---|---|---|
|
string | -- | The email of the Zulip administrator. Required |
|
string | -- | The domain name of the Zulip server. Required |
|
string | 2.0.3 | The version of Zulip. |
Code
doc: short_help: Install a Zulip standalone server. help: | Install a Zulip standalone server. This uses the install script recommended by the Zulip project to setup a Zulip service and all dependencies. #TODO: configure email settings, use 'expect' instaed of patching the install script for letsencrypt args: version: doc: short_help: The version of Zulip. type: string default: 2.0.3 required: false email: doc: short_help: The email of the Zulip administrator. type: string required: true hostname: doc: short_help: The domain name of the Zulip server. type: string required: true frecklets: - path-is-absent: path: /tmp/_zulip_install become: true - archive-extracted: parent_dir_mode: '0700' owner: root group: root src: 'https://www.zulip.org/dist/releases/zulip-server-{{:: version ::}}.tar.gz' remote_src: true dest: /tmp/_zulip_install - frecklet: name: lineinfile type: ansible-module properties: elevated: true idempotent: true desc: short: patch install script to agree to Letsencrypt TOS w/o user interaction task: become: true become_user: root vars: path: '/tmp/_zulip_install/zulip-server-{{:: version ::}}/scripts/lib/install' regexp: .*setup/setup-certbot.* line: '"$ZULIP_PATH"/scripts/setup/setup-certbot --agree-tos \' - execute-shell: command: './zulip-server-{{:: version ::}}/scripts/setup/install --certbot --email={{:: email ::}} --hostname={{:: hostname ::}}' chdir: /tmp/_zulip_install become_user: root - path-is-absent: path: /tmp/_zulip_install become: true
frecklecute --community zulip-standalone --help Usage: frecklecute zulip-standalone [OPTIONS] Install a Zulip standalone server. This uses the install script recommended by the Zulip project to setup a Zulip service and all dependencies. #TODO: configure email settings, use 'expect' instaed of patching the install script for letsencrypt Options: --email EMAIL The email of the Zulip administrator. [required] --hostname HOSTNAME The domain name of the Zulip server. [required] --version VERSION The version of Zulip. --help Show this message and exit.
# -*- coding: utf-8 -*- # # module path: pycklets.zulip_standalone.ZulipStandalone # from dataclasses import dataclass from pyckles import AutoPycklet from typing import * # noqa @dataclass class ZulipStandalone(AutoPycklet): """Install a Zulip standalone server. This uses the install script recommended by the Zulip project to setup a Zulip service and all dependencies. #TODO: configure email settings, use 'expect' instaed of patching the install script for letsencrypt Args: email: The email of the Zulip administrator. hostname: The domain name of the Zulip server. version: The version of Zulip. """ FRECKLET_ID = "zulip-standalone" email: str = None hostname: str = None version: str = None def __post_init__(self): super(ZulipStandalone, self).__init__(var_names=["email", "hostname", "version"]) frecklet_class = ZulipStandalone
# -*- coding: utf-8 -*- # # module path: pycklets.zulip_standalone.ZulipStandalone # from pyckles import AutoPycklet class ZulipStandalone(AutoPycklet): """Install a Zulip standalone server. This uses the install script recommended by the Zulip project to setup a Zulip service and all dependencies. #TODO: configure email settings, use 'expect' instaed of patching the install script for letsencrypt Args: email: The email of the Zulip administrator. hostname: The domain name of the Zulip server. version: The version of Zulip. """ FRECKLET_ID = "zulip-standalone" def __init__(self, email=None, hostname=None, version="2.0.3"): super(ZulipStandalone, self).__init__(var_names=["email", "hostname", "version"]) self._email = email self._hostname = hostname self._version = version @property def email(self): return self._email @email.setter def email(self, email): self._email = email @property def hostname(self): return self._hostname @hostname.setter def hostname(self, hostname): self._hostname = hostname @property def version(self): return self._version @version.setter def version(self, version): self._version = version frecklet_class = ZulipStandalone