For deploying your application in a production environment, you will probably end up using a WSGI application server like uwsgi or gunicorn. By default, Flask-Diamond will install gunicorn as a requirement.
Under most circumstances, you will want to automatically run the application server when the host boots. This is going to be different for every host, but an example demonstrates launching gunicorn via Ubuntu upstart:
#!upstart description "flask-diamond daemon" env USER=flask-diamond env SETTINGS=/etc/flask-diamond.conf start on runlevel  stop on runlevel  respawn exec start-stop-daemon --start \ --make-pidfile \ --pidfile /var/run/$USER-daemon.pid \ --chuid $USER \ --exec /var/lib/$USER/.virtualenvs/$USER/bin/gunicorn -- \ --workers 2 \ --bind 0.0.0.0:5000 \ --user $USER \ --chdir /var/lib/$USER \ --log-file /var/lib/$USER/gunicorn-error.log \ --access-logfile /var/lib/$USER/gunicorn-access.log \ --pid /var/run/$USER-daemon.pid \ --daemon \ flask_diamond.wsgi:app
This demonstrates several important principles:
You probably want to keep your application server behind a firewall, so a common pattern for deploying Flask-Diamond applications relies upon a reverse proxy. There is a good Digital Ocean tutorial for setting up a reverse proxy with either nginx or apache.
For scaling up deployment, it is recommended to use an automation solution like Puppet or Chef. Flask-Diamond is particularly easy to deploy with Puppet-Diamond, which will simplify the management of the host configurations as well as application deployment.
Flask-Diamond provides an embedded web server with bin/manage.py and bin/runserver.py for simple deployments, like development and debugging. This is not recommended for production use. However, when paired with a reverse proxy, this is actually good enough to handle a surprising amount of traffic.