[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/docs/user/configuration/ -> notifications.diviner (source)

   1  @title Notifications User Guide: Setup and Configuration
   2  @group config
   3  
   4  Guide to setting up notifications.
   5  
   6  = Overview =
   7  
   8  By default, Phabricator delivers information about events (like users creating
   9  tasks or commenting on code reviews) through email and in-application
  10  notifications.
  11  
  12  Phabricator can also be configured to deliver notifications in real time, by
  13  popping up a message in any open browser windows if something has
  14  happened or an object has been updated.
  15  
  16  To enable real-time notifications:
  17  
  18    - Set `notification.enabled` in your configuration to true.
  19    - Run the notification server, as described below.
  20  
  21  This document describes the process in detail.
  22  
  23  = Running the Aphlict Server =
  24  
  25  Phabricator implements realtime notifications using a Node.js server called
  26  "Aphlict". To run it:
  27  
  28    - Install node.js.
  29    - Run `bin/aphlict start` (this script must be run as root).
  30  
  31  The server must be able to listen on port **843** and port **22280** for Aphlict
  32  to work. You can change the latter port in the `notification.client-uri` config,
  33  but port 843 is used by Flash and can not be changed. In particular, if you're
  34  running in EC2, you need to unblock both of these ports in the server's security
  35  group configuration.
  36  
  37  You may want to adjust these settings:
  38  
  39    - `notification.client-uri` Externally-facing host and port that browsers will
  40      connect to in order to listen for notifications.
  41    - `notification.server-uri` Internally-facing host and port that Phabricator
  42      will connect to in order to publish notifications.
  43    - `notification.log` Log file location for the server.
  44    - `notification.user` Non-root user to drop permissions to after binding to
  45      privileged ports.
  46    - `notification.pid` Pidfile location used to stop any running server when
  47      aphlict is restarted.
  48  
  49  In most cases, the defaults are appropriate, except that you should set
  50  `notification.user` to some valid system user so Aphlict isn't running as root.
  51  
  52  == Verifying Server Status ==
  53  
  54  Access `/notification/status/` to verify the server is operational. You should
  55  see a table showing stats like "uptime" and connection/message counts if the
  56  server is working. If it isn't working, you should see an error.
  57  
  58  == Testing the Server ==
  59  
  60  The easiest way to test the server is to have two users login and comment on
  61  the same Maniphest Task or Differential Revision. They should receive in-browser
  62  notifications about the other user's activity.
  63  
  64  NOTE: This is cumbersome. There will be better testing tools at some point.
  65  
  66  == Debugging Server Problems ==
  67  
  68  You can run `aphlict` in the foreground to get output to your console:
  69  
  70    phabricator/ $ sudo ./bin/aphlict debug
  71  
  72  You can run `support/aphlict/client/aphlict_test_client.php` to connect to the
  73  Aphlict server from the command line. Messages the client receives will be
  74  printed to stdout.
  75  
  76  You can set `notification.debug` in your configuration to get additional
  77  output in your browser.
  78  
  79  The server also generates a log, by default in `/var/log/aphlict.log`. You can
  80  change this location by changing `notification.log` in your configuration. The
  81  log may contain information useful in resolving issues.


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1