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/

cd /web/sites/ virtualenv -p /usr/bin/python3 silopub
 * Create a new venv in a folder like

cd /web/sites/silopub git clone https://github.com/kylewm/silo.pub.git
 * Clone the git repo to, e.g.:

./bin/pip install -r silo.pub/requirements.txt
 * Install the project dependencies

chown -R www-data: silo.pub
 * Change ownership of the folder to the web server user

mkdir srv chown www-data: srv
 * Create a folder for the socket and logs

[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
 * Create the uwsgi config file at

server { listen 443 ssl;
 * Configure nginx to point to the socket

# ... 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; } }

[Unit] Description=SiloPub
 * Configure the startup script at

[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
 * Start the service
 * Start the service