You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
decentral1se
02bba9a61c
|
6 days ago | |
---|---|---|
static/content | 1 week ago | |
templates | 1 week ago | |
.gitignore | 7 days ago | |
LICENSE | 1 week ago | |
README.md | 6 days ago | |
requirements.txt | 1 week ago | |
upload.py | 7 days ago |
README.md
image_upload
Requires Python >= 3.9 👍
- install dependencies:
pip install -r requirements.txt
- create static images folder:
mkdir -p ./static/images
- launch the application:
python upload.py
deploy
pip install gunicorn
gunicorn --bind 127.0.0.1:5000 upload:APP
nginx
Something like this. You need to replace <DOMAIN>
/ <YOUR-MESSAGE>
/
<ABS-PATH>
. It's advised to protect image_upload
behind some form of
authentication to avoid nasty surprises.
upstream gunicorn {
server 127.0.0.1:5000 fail_timeout=0;
}
server {
listen 80;
listen 443 ssl;
server_name <DOMAIN>;
location / {
proxy_pass http://gunicorn;
auth_basic "<YOUR-MESSAGE>";
auth_basic_user_file /etc/nginx/.htpasswd;
}
location /static/images/ {
autoindex on;
alias /var/www/<ABS-PATH>/static/images/;
}
}
systemd
[Unit]
Description=image_upload
After=syslog.target network.target
[Service]
User=<USER>
WorkingDirectory=<ABS-PATH>
ExecStart=<ABS-PATH>/.venv/bin/gunicorn --bind 127.0.0.1:5000 upload:APP
RemainAfterExit=no
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
You should replace <USER>
with your preferred system user. <ABS-PATH>
should be the system path when the repository is cloned. Note, a virtual
environment should be created at <ABS-PATH>/.venv/...
with the dependencies
installed.