silo.pub
From IndieWeb
(Redirected from Silo.pub)
silo.pub is a self-hostable Micropub endpoint for hosted blogs like Tumblr, WordPress.com, Blogger, and Twitter. It implemented the ideas laid out in the post Micropub for Hosted Blogs.
Its code is still available as open source.
History
- silo.pub was temporary 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