Trying this out on [[2023-12-25]] :) I got it to run in dev mode as such:
> git clone git clone https://fietkau.software/Pinhole.git
> cd Pinhole
> poetry init
> poetry add pycryptodome flask requests
> poetry run pinhole.py
Now considering whether I take the step to set up nginx to serve this in a way ‘readable’ to ActivityPub ecosystem as per instructions in [[go/pinhole]] :)
I did :)
This is a usable [[nginx snippet]] — the original docs linked above only provide the equivalent for Apache2, which I don’t use nowadays.
The short of it would be:
adduser pinhole in Debian based systems and then su - pinhole to execute the rest.location / {
include uwsgi_params;
uwsgi_pass unix:/var/www/pinhole/pinhole.sock;
# Set the parameters for the uWSGI application
uwsgi_param UWSGI_PYHOME /var/www/pinhole;
uwsgi_param UWSGI_CHDIR /var/www/pinhole;
uwsgi_param UWSGI_SCRIPT pinhole:application;
uwsgi_param UWSGI_THREADS 5;
}
[uwsgi]
# module = app:create_app()
touch-reload = /tmp/pinhole-restart
home = /home/pinhole/.cache/pypoetry/virtualenvs/pinhole-_elcgCn9-py3.11
master = true
processes = 6
socket = /var/www/pinhole/pinhole.sock
chmod-socket = 666
vacuum = true
die-on-term = true
#!/bin/bash
poetry run uwsgi uwsgi.ini
Restart nginx and run :) Or optionally set up a [[systemd]] user service.
I tried to make it work without uwsgi, using just a reverse proxy to the flask dev server, and for some reason it didn’t work. Maybe it was some unrelated complication having to do with some mis-configuration on that mode, but I just moved on and went the uwsgi way as I already run the [[Agora]] like this.