|Trent Palmer 29afdd025c||3 months ago|
|app||3 months ago|
|css||3 months ago|
|examples||3 months ago|
|js||3 months ago|
|LICENSE||3 months ago|
|README.md||3 months ago|
|config.py||3 months ago|
|photo_app.py||3 months ago|
This application allows you to upload photos, where are then automatically scaled down, using python3-pillow, and saved into an adjacent directory which is served from a different subdomain.
There is also dashboard functionality, showing you information about the photos such as size-on-disc, and exif data such as gps coordinates.
works on Debian 10 using only distro python3 packages, examples for deployment in the examples directory
the example apache configs don't include ssl support, but if you user letsencrypt, cert-bot will automatically create those, (and presumable you would select automatic https redirection when creating the certs)
the photos are served from an entirely separate subdomain outside of the flask app
login to your dns provider and add A and AAAA records for photo_app.example.com and add A and AAAA records for photos.example.com
or for LAN testing or deployment, if you are running dnsmasq on your router, you
can add something like the following to the
/etc/hosts file, and then restart
192.168.X.XXX photos.example_host photo_app.example_host
in order to register, login to the psql command line and insert your email address into the email_white_list table
The configured logging handler in
__init__.py requires setting up some
xmpp accounts, i.e. setting up an Prosody server.
If this isn't possible, you could use a different logging handler, such as SMTPHandler, or just look in the systemd-journal.
apt-get install apache2 postgresql postgresql-contrib apt-get install python3-gunicorn gunicorn3 apt-get install python3-qrcode python3-pil sendxmpp python3-wtforms python3-dotenv apt-get install python3-flask python3-flask-sqlalchemy python3-psycopg2 apt-get install python3-flask-login python3-jwt python3-flaskext.wtf apt-get install python3-flask-mail python3-zxcvbn python3-pyotp
For 2fa, you can use an authenticator application such as Google Authenticator or andOTP on your smartphone.
useradd -r -s /sbin/nologin <app_user>