Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add documentation about Play 2 packaging as deb- and rpm-packages #427

Merged
merged 2 commits into from
Dec 5, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/sphinx/DetailedTopics/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ Advanced Topics
docker.rst
paths.rst
custom.rst
play.rst
44 changes: 44 additions & 0 deletions src/sphinx/DetailedTopics/play.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
Play 2 Packaging
================

Although Play 2 supports Sbt Native Packager, it requires some additional steps
to successfully package and run your application.

Build Configuration
-------------------

Depending on whether you want to package your application as a deb-package or
as an rpm-package, you have to setup your build configuration accordingly.
Please, refer to :doc:`Debian </DetailedTopics/debian>` and :doc:`Redhat </DetailedTopics/redhat>`
pages for additional information.

Note that **Upstart** is not supported by all available operation systems and may not always work as expected.
You can always fallback to the **SystemV** service manager instead.
For more information on service managers please refer
to :doc:`Getting Started With Servers </GettingStartedServers/index>` page.

Application Configuration
-------------------------

In order to run your application in production you need to provide it with at least:

* Location where it can store its pidfile
* Production configuration

One way to provide this information is create ``src/templates/etc-default`` with the following contents:

.. code-block:: bash

# Since play uses separate pidfile we have to provide it with a proper path
-Dpidfile.path=/var/run/${{app_name}}/play.pid

# Use separate configuration file for production environment
-Dconfig.file=/usr/share/${{app_name}}/conf/production.conf

# You may also want to include this setting if you use play evolutions
-DapplyEvolutions.default=true

This way you should either store your production configuration under ``${{path_to_app_name}}/conf/production.conf``
or put it under ``/usr/share/${{app_name}}/conf/production.conf`` by hand or using some configuration management system.

See :doc:`adding configuration </GettingStartedServers/AddingConfiguration>` for more information on `etc-default` template.