Mozilla Push server and Push Endpoint utilizing PyPy, twisted, and DynamoDB.

🚨 🚨 🚨 🚨 🚨 🚨 🚨
Note: This document is obsolete. Please refer to Autopush Documentation on GitHub.


🚨 🚨 🚨 🚨 🚨 🚨 🚨

This is the third generation of Push server built in Mozilla Services, first to handle Push for FirefoxOS clients, then extended for push notifications for Firefox (via the W3C Push spec.)

For how to read and respond to autopush error codes, see Errors.

For an overview of the Mozilla Push Service and where autopush fits in, see the Mozilla Push Service architecture diagram. This push service uses websockets to talk to Firefox, with a Push endpoint that implements the WebPush standard for its http API.

Autopush APIsΒΆ

For developers writing mobile applications in Mozilla, or web developers using Push on the web with Firefox.

Running AutopushΒΆ

If you just want to run autopush, for testing Push locally with Firefox, or to deploy autopush to a production environment for Firefox.

Source CodeΒΆ

All source code is available on github under autopush.


We are using rust for a number of optimizations and speed improvements. These efforts are ongoing and may be subject to change. Unfortunately, this also means that formal documentation is not yet available. You are, of course, welcome to review the code located in ./autopush_rs.



Bugs should be reported on the autopush github issue tracker.

The developers of autopush can frequently be found on the Mozilla IRC network ( in the #push channel.

autopush EndpointsΒΆ

autopush is automatically deployed from master to a dev environment for testing, a stage environment for tagged releases, and the production environment used by Firefox/FirefoxOS.





autopush is offered under the Mozilla Public License 2.0.