silo.pub
(Redirected from silopub)
silo.pub is an open source self-hostable Micropub endpoint for hosted blogs like Tumblr, WordPress.com, and Blogger, and used to be a hosted service at an eponymous domain until it expired in 2018 and subsequently squatted.
The silo.pub project implemented the ideas laid out in the post Micropub for Hosted Blogs.
History
- silo.pub was temporarily named "Feverdream" while it was being developed. And hosted at https://feverdream.herokuapp.com during that period.
- In 2018, the domain expired and the hosted service is no longer available
Installation
Some notes on how to install silo.pub on an Ubuntu 16.04 server running nginx.
This guide was helpful: https://chriswarrick.com/blog/2016/02/10/deploying-python-web-apps-with-nginx-and-uwsgi-emperor/
- Create a new venv in a folder like
/web/sites/silopub
cd /web/sites/ virtualenv -p /usr/bin/python3 silopub
- Clone the git repo to
/web/sites/silopub/silo.pub
, e.g.:
cd /web/sites/silopub git clone https://github.com/kylewm/silo.pub.git
- Install the project dependencies
./bin/pip install -r silo.pub/requirements.txt
- Change ownership of the folder to the web server user
chown -R www-data: silo.pub
- Create a folder for the socket and logs
mkdir srv chown www-data: srv
- Create the uwsgi config file at
/web/sites/silopub/silopub.ini
[uwsgi] socket = /web/sites/silopub/srv/uwsgi.sock chmod-socket = 775 chdir = /web/sites/silopub/silo.pub master = true binary-path = /web/sites/silopub/bin/uwsgi virtualenv = /web/sites/silopub module = silopub.wsgi:application uid = www-data gid = www-data process = 1 threads = 2 logger = file:/web/sites/silopub/srv/uwsgi.log die-on-term = true
- Configure nginx to point to the socket
server { listen 443 ssl; # ... your normal nginx ssl/log stuff here location / { uwsgi_pass unix:///web/sites/silopub/srv/uwsgi.sock; include uwsgi_params; uwsgi_param UWSGI_SCHEME $scheme; uwsgi_param SERVER_SOFTWARE nginx/$nginx_version; } location /static { root /web/sites/silopub/silo.pub/silopub/; index index.html; } }
- Configure the startup script at
/etc/systemd/silopub.service
[Unit] Description=SiloPub [Service] WorkingDirectory=/web/sites/silopub/ ExecStart=/web/sites/silopub/bin/uwsgi --ini silopub.ini Restart=always User=www-data [Install] WantedBy=multi-user.target
- Enable the systemd service
sudo systemctl enable /etc/systemd/silopub.service
- Start the service
sudo service silopub start
See Also
- "Installed my own copy of silo.pub ... A screencast of how I configure my syndication endpoints..." https://aaronparecki.com/2016/11/29/7/syndication
- https://github.com/kylewm/silo.pub