- Web server with command-line shell (free from Amazon, $5/mo at Digital Ocean, Linode)
- Domain Name or subdomain
- Twilio Account (for notifying friends via Text Message)
- Sendgrid Account (for notifying friends via Email)
- Download System software
apt install python3-pip unzip python3-certbot-apache ffmpeg libsm6
- Download Python software
pip3 install --upgrade pip; pip3 install flask flask_socketio python-dateutil lxml feedparser flask_cors pillow sendgrid twilio gunicorn pytz flask_talisman flask_seasurf pydub opencv-python html2text gevent 'tensorflow==1.14.0' 'tensorflow-hub==0.9.0' 'pandas==1.1.2'
- Download rp.ly
wget https://rp.ly/file/latest.zip
- Unzip rp.ly
unzip latest.zip
- Set Twilio keys
export TWILIO_ID=xxx
export TWILIO_TOKEN=xxx
export TWILIO_FROM=1231231234
- Set Sendgrid key
export SENDGRID_TOKEN=xxx
export SENDGRID_FROM=from@example.net
- Set host name
export APP_HOSTNAME=photo.gy
- Set file name
export FLEET_APP=rp.ly.html
- Set secret
export APP_SECRET_KEY=changeThisExample
- Get free SSL certificate
certbot certonly --apache
- Stop apache web server
service apache2 stop
- Copy SSL cert
cp /etc/letsencrypt/live/*/fullchain.pem .
- Copy SSL Cert key
cp /etc/letsencrypt/live/*/privkey.pem .
- Start app with Flask web server
python3 fleet.py 165.227.57.132
- Start app with Gunicorn web server
gunicorn -k gevent --certfile=fullchain.pem --keyfile=privkey.pem --bind 165.227.57.132:443 --log-file=fleet.log fleet:app