diff --git a/.gitignore b/.gitignore
index e11292b357d59504d3b69fbd2c1accaf1b183985..acce3a6bf266abeed44cfb4978a21a94f5832f59 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,10 @@
 __pycache__/
 /venv
+/logs
 cmd.txt
 DB_inserts.txt
 dumb.sql
 scrap_script.py
 *.pyc
+*.db
 
diff --git a/requirements.txt b/requirements.txt
index 2bd4d95b2238425b416b1ccbe58c442863a77e59..1d3586c117b51bf3b70f3b18287f5ca8e0b1b39d 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,6 +2,7 @@ alembic==0.9.9
 click==6.7
 dominate==2.3.1
 Flask==1.0.2
+Flask-Babel
 Flask-Bootstrap==3.3.7.1
 Flask-Login==0.4.1
 Flask-Migrate==2.2.1
@@ -22,3 +23,5 @@ visitor==0.1.3
 Werkzeug==0.14.1
 WTForms==2.2.1
 WTForms-SQLAlchemy==0.1
+pyexcel
+gunicorn==19.9.0
diff --git a/run.py b/run.py
new file mode 100644
index 0000000000000000000000000000000000000000..60d5d24ad98b96670253971441f1c8b3433961a5
--- /dev/null
+++ b/run.py
@@ -0,0 +1,49 @@
+from app import app
+
+
+# Setup logging
+import logging
+from logging.handlers import RotatingFileHandler
+from logging import Formatter
+
+format = "[%(asctime)s] p%(process)s\n" \
+         "[%(levelname)s] in %(name)s: %(filename)s:%(lineno)d\n" \
+         "%(message)s\n"
+
+logging.basicConfig(
+    filename=app.config.get('LOG_FILENAME', 'logs/flask.log'),
+    level=logging.DEBUG,
+    datefmt="%Y-%m-%d %H:%M:%S",
+    format = format
+)
+
+logging.info(
+    "\n"
+    "==============================================================\n"
+    "Mega-fMRI stimulus Rating Tool Flask application started\n"
+    "PET-keskus (2018) \n"
+)
+
+handler = RotatingFileHandler('logs/flask.log', maxBytes=10000, backupCount=5)
+handler.setFormatter(
+    Formatter(format)
+)
+app.logger.addHandler(handler)
+
+# Logging for production (nginx + gunicorn)
+import os
+is_gunicorn = "gunicorn" in os.environ.get("SERVER_SOFTWARE", "")
+if is_gunicorn:
+    app.logger.info("Application run through gunicorn")
+    gunicorn_logger = logging.getLogger('gunicorn.error')
+    app.logger.handlers = gunicorn_logger.handlers
+    app.logger.setLevel(gunicorn_logger.level)
+    app.logger.info("******************")
+    '''
+else:
+    log = logging.getLogger('werkzeug')
+    log.setLevel(logging.ERROR)
+    '''
+
+# EOF
+