diff --git a/admin/manage.py b/admin/manage.py index a277d71..4bf40ca 100644 --- a/admin/manage.py +++ b/admin/manage.py @@ -1,6 +1,29 @@ from mailu import manager, db from mailu.admin import models +import os +import socket +import uuid + + +@manager.command +def advertise(): + """ Advertise this server against statistic services. + """ + filepath = "/data/instance" + endpoint = "14.{}.stats.mailu.io" + if os.path.isfile(filepath): + with open(filepath, "r") as handle: + instance_id = handle.read() + else: + instance_id = str(uuid.uuid4()) + with open(filepath, "w") as handle: + handle.write(instance_id) + try: + socket.gethostbyname(endpoint.format(instance_id)) + except: + pass + @manager.command def flushdb(): diff --git a/admin/start.sh b/admin/start.sh index afe276b..2a899bb 100755 --- a/admin/start.sh +++ b/admin/start.sh @@ -1,4 +1,5 @@ #!/bin/sh +python manage.py advertise python manage.py db upgrade gunicorn -w 4 -b 0.0.0.0:80 --access-logfile - --error-logfile - --preload mailu:app