Ubuntu deprecated Upstart so I had to turn to Systemd for my app controls in Ubuntu 18.04. In this script I set 2 environment variables (HOME and LANG), change directory to the app directory and starts the Play Framework application
# Myapp systemd script
#
# Location:/lib/systemd/system/myapp.service
#
# Useful commands:
#
# Start Myapp: systemctl start myapp.service
# Stop Myapp: systemctl stop myapp.service
# Restart Myapp: systemctl restart myapp.service
# Show status: systemctl status myapp.service
# Enable start on boot: systemctl enable myapp.service
# Disable start on boot:systemctl disable myapp.service
#
# List all services running: systemctl
# Check config: systemd-analyze verify myapp.service
#
####################################################################################
[Unit]
Description=Job that runs my app daemon
[Service]
Type=forking
Environment=HOME=/opt/myapp/app
Environment=LANG=en_US.UTF-8
ExecStartPre=/bin/bash -c 'cd /opt/myapp/app'
ExecStart=/bin/bash -c 'bin/myapp -J-Xms256M -J-Xmx768m -J-server -Dhttp.port=80 -Dconfig.file=conf/application.conf -Dlogger.file=conf/application-logger.xml'
[Install]
WantedBy=multi-user.target
The arguments for the Play service are what I normally use for AWS. You might need other settings
Tested on Ubuntu 18.04 and Play Framework 2.3