Zulip Documentation Release 1.7.0
Total Page:16
File Type:pdf, Size:1020Kb
Zulip Documentation Release 1.7.0 The Zulip Team Oct 25, 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.0 – 2017-10-25............................................ 23 5.3 1.6.0 – 2017-06-06............................................ 27 5.4 1.5.2 – 2017-06-01............................................ 30 5.5 1.5.1 – 2017-02-07............................................ 30 5.6 1.5.0 – 2017-02-06............................................ 30 5.7 1.4.3 - 2017-01-29............................................ 32 5.8 1.4.2 - 2016-09-27............................................ 32 5.9 1.4.1 - 2016-09-03............................................ 33 5.10 1.4.0 - 2016-08-25............................................ 33 5.11 1.3.13 - 2016-06-21........................................... 35 5.12 1.3.12 - 2016-05-10........................................... 36 5.13 1.3.11 - 2016-05-02........................................... 36 5.14 1.3.10 - 2016-01-21........................................... 37 5.15 1.3.9 - 2015-11-16............................................ 38 5.16 1.3.8 - 2015-11-15............................................ 38 5.17 1.3.7 - 2015-10-19............................................ 38 6 Zulip in production 39 6.1 Requirements............................................... 39 6.2 Install................................................... 39 6.3 Running................................................. 39 7 Requirements 41 7.1 Server................................................... 41 7.2 Credentials needed............................................ 42 8 Production Installation 43 8.1 Step 1: Install SSL Certificates...................................... 43 8.2 Step 2: Download and install latest release............................... 43 8.3 Step 3: Configure Zulip......................................... 44 8.4 Step 4: Test email configuration..................................... 44 8.5 Step 5: Initialize Zulip database..................................... 44 8.6 Step 6: Create a Zulip organization and login.............................. 45 8.7 Step 7: Next steps............................................ 45 8.8 Troubleshooting............................................. 45 9 Troubleshooting 47 9.1 Using supervisorctl............................................ 47 9.2 Troubleshooting services......................................... 49 ii 10 Customize Zulip 51 10.1 Making changes............................................. 51 10.2 Specific settings............................................. 51 10.3 Zulip announcement list......................................... 52 10.4 Enjoy your Zulip installation!...................................... 52 11 Mobile push notification service 53 11.1 How to sign up.............................................. 53 11.2 Why this is necessary.......................................... 54 11.3 Security and privacy implications.................................... 54 12 Secure, maintain, and upgrade 55 12.1 Upgrading................................................ 55 12.2 Upgrading from a git repository..................................... 57 12.3 Backups................................................. 58 12.4 Monitoring................................................ 59 12.5 Scalability................................................ 59 12.6 Securing your Zulip server........................................ 60 12.7 Management commands......................................... 60 12.8 Hosting multiple Zulip organizations.................................. 61 13 Security Model 63 13.1 Secure your Zulip server like your email server............................. 63 13.2 Encryption and Authentication...................................... 63 13.3 Messages and History.......................................... 64 13.4 Users and Bots.............................................. 65 13.5 User-uploaded content.......................................... 65 13.6 Final notes and security response.................................... 66 14 Authentication methods 67 14.1 Adding additional methods using python-social-auth.......................... 67 14.2 Remote User SSO Authentication.................................... 68 15 Postgres database details 71 15.1 Remote Postgres database........................................ 71 15.2 Debugging postgres database issues................................... 72 15.3 Stopping the Zulip postgres database.................................. 72 15.4 Debugging issues starting postgres.................................... 72 15.5 Postgres Vacuuming alerts........................................ 73 16 Development environment installation 75 16.1 Requirements............................................... 75 16.2 Recommended setup (Vagrant)...................................... 75 16.3 Advanced setup (non-Vagrant)...................................... 75 16.4 Slow internet connections........................................ 76 16.5 Installing remotely............................................ 76 16.6 Next steps................................................ 76 17 Vagrant environment setup tutorial 77 17.1 Requirements............................................... 78 17.2 Step 0: Set up Git & GitHub....................................... 78 17.3 Step 1: Install Prerequisites....................................... 78 17.4 Step 2: Get Zulip Code.......................................... 81 17.5 Step 3: Start the development environment............................... 82 17.6 Step 4: Developing............................................ 85 iii 17.7 Next Steps................................................ 86 17.8 Troubleshooting and Common Errors.................................. 87 17.9 Specifying a proxy............................................ 93 18 Zulip development environment setup without Vagrant 95 18.1 Installing directly on Ubuntu....................................... 95 18.2 Installing manually on Linux....................................... 95 18.3 Using Docker (experimental)...................................... 101 19 Using the Development Environment 103 20 Developing on a remote machine 105 20.1 Connecting to the remote environment................................. 105 20.2 Setting up the development environment................................ 105 20.3 Running the development server..................................... 106 20.4 Making changes to code