diff --git a/ansible/files/fjaweb.service b/ansible/files/fjaweb.service
new file mode 100644
index 0000000000000000000000000000000000000000..66f45b26a59c7f38b967ab9dbb4b8c2b8006b5ee
--- /dev/null
+++ b/ansible/files/fjaweb.service
@@ -0,0 +1,27 @@
+[Unit]
+Description=FJA web frontend
+
+[Service]
+Type=simple
+WorkingDirectory=/home/fja/eval
+Environment=PYTHONPATH=/home/fja/eval
+ExecStart=/usr/bin/uwsgi -s /run/uwsgi/fjaweb.socket \
+            --manage-script-name --plugin python3 \
+            --mount '/=evalweb:create_app()'
+User=fja
+Group=www-data
+Restart=always
+RestartSec=2
+TimeoutStopSec=300
+
+CPUAccounting=true
+MemoryAccounting=true
+Nice=10
+# quota for one CPU
+CPUQuota=10%
+MemoryHigh=800M
+MemoryMax=1G
+
+[Unit]
+StartLimitBurst=0
+StartLimitIntervalSec=0
diff --git a/ansible/files/fjaweb.socket b/ansible/files/fjaweb.socket
new file mode 100644
index 0000000000000000000000000000000000000000..b253b26bb623053bb713971f59d67591857db7a5
--- /dev/null
+++ b/ansible/files/fjaweb.socket
@@ -0,0 +1,12 @@
+[Unit]
+Description=Socket for FJA web frontend
+
+[Socket]
+ListenStream=/run/uwsgi/fjaweb.socket
+SocketUser=fja
+SocketGroup=www-data
+SocketMode=0660
+
+[Install]
+WantedBy=sockets.target
+