Zulip Documentation Release 1.7.1
Total Page:16
File Type:pdf, Size:1020Kb
Zulip Documentation Release 1.7.1 The Zulip Team Nov 23, 2017 Overview 1 Zulip overview 3 1.1 Community................................................3 1.2 Installing the Zulip Development environment.............................4 1.3 Running Zulip in production.......................................4 1.4 Ways to contribute............................................4 1.5 Google Summer of Code.........................................4 1.6 How to get involved with contributing to Zulip.............................5 1.7 License..................................................6 2 Zulip architectural overview 7 2.1 Key Codebases..............................................7 2.2 Usage assumptions and concepts.....................................7 2.3 Components...............................................8 2.4 Glossary................................................. 11 3 Directory structure 13 3.1 Core Python files............................................. 13 3.2 HTML Templates............................................ 13 3.3 JavaScript and other static assets..................................... 14 3.4 Tests................................................... 14 3.5 Management commands......................................... 14 3.6 Scripts.................................................. 14 3.7 API and Bots............................................... 15 3.8 Production puppet configuration..................................... 15 3.9 Additional Django apps......................................... 15 3.10 Jinja2 Compatibility Files........................................ 15 3.11 Translation files............................................. 16 3.12 Documentation.............................................. 16 4 Zulip Roadmap 17 4.1 Introduction............................................... 17 4.2 Major projects.............................................. 17 4.3 Core User Experience.......................................... 18 4.4 Social features.............................................. 18 4.5 Real-time sync.............................................. 18 4.6 Onboarding issues............................................ 18 4.7 Production installation issues...................................... 19 i 4.8 Administration and management..................................... 19 4.9 Scalability and performance....................................... 19 4.10 Technology improvements........................................ 19 4.11 Technical Debt.............................................. 20 4.12 Security.................................................. 20 4.13 Testing.................................................. 20 4.14 Documentation.............................................. 20 4.15 Integrations and bots........................................... 20 4.16 Android app............................................... 21 4.17 iOS app.................................................. 21 4.18 Server/webapp support for mobile.................................... 21 4.19 Desktop apps............................................... 21 4.20 Community................................................ 21 5 Version History 23 5.1 Unreleased................................................ 23 5.2 1.7.1 – 2017-11-21............................................ 23 5.3 1.7.0 – 2017-10-25............................................ 23 5.4 1.6.0 – 2017-06-06............................................ 27 5.5 1.5.2 – 2017-06-01............................................ 30 5.6 1.5.1 – 2017-02-07............................................ 30 5.7 1.5.0 – 2017-02-06............................................ 30 5.8 1.4.3 - 2017-01-29............................................ 33 5.9 1.4.2 - 2016-09-27............................................ 33 5.10 1.4.1 - 2016-09-03............................................ 33 5.11 1.4.0 - 2016-08-25............................................ 33 5.12 1.3.13 - 2016-06-21........................................... 36 5.13 1.3.12 - 2016-05-10........................................... 37 5.14 1.3.11 - 2016-05-02........................................... 37 5.15 1.3.10 - 2016-01-21........................................... 38 5.16 1.3.9 - 2015-11-16............................................ 38 5.17 1.3.8 - 2015-11-15............................................ 38 5.18 1.3.7 - 2015-10-19............................................ 39 6 Zulip in production 41 6.1 Requirements............................................... 41 6.2 Install................................................... 41 6.3 Running................................................. 41 7 Requirements 43 7.1 Server................................................... 43 7.2 Credentials needed............................................ 44 8 Production Installation 45 8.1 Step 1: Install SSL Certificates...................................... 45 8.2 Step 2: Download and install latest release............................... 45 8.3 Step 3: Configure Zulip......................................... 46 8.4 Step 4: Test email configuration..................................... 46 8.5 Step 5: Initialize Zulip database..................................... 46 8.6 Step 6: Create a Zulip organization and login.............................. 47 8.7 Step 7: Next steps............................................ 47 8.8 Troubleshooting............................................. 47 9 Troubleshooting 49 9.1 Using supervisorctl............................................ 49 ii 9.2 Troubleshooting services......................................... 51 10 Customize Zulip 53 10.1 Making changes............................................. 53 10.2 Specific settings............................................. 53 10.3 Zulip announcement list......................................... 54 10.4 Enjoy your Zulip installation!...................................... 54 11 Mobile push notification service 55 11.1 How to sign up.............................................. 55 11.2 Why this is necessary.......................................... 56 11.3 Security and privacy implications.................................... 56 12 Secure, maintain, and upgrade 57 12.1 Upgrading................................................ 57 12.2 Upgrading from a git repository..................................... 59 12.3 Backups................................................. 60 12.4 Monitoring................................................ 61 12.5 Scalability................................................ 61 12.6 Securing your Zulip server........................................ 62 12.7 Management commands......................................... 62 12.8 Hosting multiple Zulip organizations.................................. 63 13 Security Model 65 13.1 Secure your Zulip server like your email server............................. 65 13.2 Encryption and Authentication...................................... 65 13.3 Messages and History.......................................... 66 13.4 Users and Bots.............................................. 67 13.5 User-uploaded content.......................................... 67 13.6 Final notes and security response.................................... 68 14 Authentication methods 69 14.1 Adding additional methods using python-social-auth.......................... 69 14.2 Remote User SSO Authentication.................................... 70 15 Postgres database details 73 15.1 Remote Postgres database........................................ 73 15.2 Debugging postgres database issues................................... 74 15.3 Stopping the Zulip postgres database.................................. 74 15.4 Debugging issues starting postgres.................................... 74 15.5 Postgres Vacuuming alerts........................................ 75 16 Development environment installation 77 16.1 Requirements............................................... 77 16.2 Recommended setup (Vagrant)...................................... 77 16.3 Advanced setup (non-Vagrant)...................................... 77 16.4 Slow internet connections........................................ 78 16.5 Installing remotely............................................ 78 16.6 Next steps................................................ 78 17 Vagrant environment setup tutorial 79 17.1 Requirements............................................... 80 17.2 Step 0: Set up Git & GitHub....................................... 80 17.3 Step 1: Install Prerequisites....................................... 80 17.4 Step 2: Get Zulip Code.......................................... 83 iii 17.5 Step 3: Start the development environment............................... 84 17.6 Step 4: Developing............................................ 87 17.7 Next Steps................................................ 88 17.8 Troubleshooting and Common Errors.................................. 89 17.9 Specifying a proxy............................................ 95 18 Zulip development environment setup without Vagrant 97 18.1 Installing directly on Ubuntu....................................... 97 18.2 Installing manually on Linux....................................... 97 18.3 Using Docker (experimental)...................................... 103 19 Using the Development Environment 105 20 Developing on a remote machine 107 20.1 Connecting to the remote environment................................. 107 20.2 Setting up the development environment................................ 107 20.3 Running the development server....................................