* modify doorcontrol.conf with your configuration * move doorcontrol.conf to `/etc/doorcontrol/doorcontrol.conf` * create `/usr/local/doorcontrol` directory * create iot user * change to iot user: `sudo -u iot -s` * `chown iot:iot /usr/local/doorcontrol` * create python virtual environment * `python3 -m venv /usr/local/doorcontrol/venv` * create `/usr/local/doorcontrol/src` directory * move doorcontrol.py to `/usr/local/doorcontrol/src` * activate virtual env: `source /usr/local/doorcontrol/venv/bin/activate` * `pip install paho.mqtt, bottle` * create uwsgi conf file, use example file and move to `/etc/uwsgi/apps-available` * if using emperor mode: `ln -s /etc/uwsgi/apps-available/doorcontrol-uwsgi.ini /etc/uwsgi/vassels/doorcontrol-uwsgi.ini` * modify nginx config: location = /main-door { rewrite ^ /main-door/; } location /main-door { auth_basic off; try_files $uri @main-door; } location @main-door { auth_basic off; include uwsgi_params; uwsgi_pass unix:/run/uwsgi/app/doorcontrol/dc.sock; } * create dir `mkdir /run/uwsgi/app/doorcontrol` * chown iot:www-data * check out documentation for uwsgi emperor