Self-hosting StatusNet

Aqeeliz asked if I had any suggestions for switching to a single-user StatusNet instance. I do! Here is a non-technical list of considerations. Time permitting, I will expand on each step; feel free to ask for help in the comments.

Single-user considerations

Single-user is a site mode, where the entire site is for only one account. It installs just like normal, and there is even a drop-down on the install page for it. However, there is still more to do to get it working the way you probably want. Make sure to do these before following any accounts, or broadcasting your site.

First, make sure that “fancy URLs” are enabled. Then, run the updateurls.php script. These together will turn example.com/index.php/user into just example.com. It is important to do this before anything else, because if you start federating you will push out URLs that will change, and StatusNet can end up keeping the incorrect paths in its database.

Remote considerations

Not just for single-user sites (though pretty boring without it), you will probably want OStatus enabled in order to talk to remote folks. This is done by adding the following to your config.php:

addPlugin(‘OStatus’);

Truth be told, I am not sure if that is required. I’ve hosted a lot of sites, sometimes having been updated many times, sometimes new, as well as private, public and single-user. I haven’t been able to discern what the pattern is, but some sites need it and some don’t. You can always test it by trying to follow a remote account.

Also, the Event and Question micro-app do not currently work through federation. They are useless for single-user sites, so I disable them (as well as other plugins that I don’t care to use).

Shared codebase

If you want to run your instance from a shared codebase (I host mine and a bunch of friends’ sites on one machine and codebase), then you will also need to make sure your avatar and file paths are different for each. One method is to give each site a sub-directory, like avatar/site1, avatar/site2, avatar/testsite. Remember to do this for both avatars and files, and to change them in the settings on the site, before following other accounts.

There are some other things that I haven’t quite figured out yet about the shared codebase, but after I talk to Evan I will create another post for that.

Update: Importing

Most folks will be migrating from identi.ca or some other community site when they create a single-user instance for themselves. There is a way to export your account from StatusNet and import into another instance. This has never worked for me.

I’ve only ever gotten partial imports. I decided to just let it go, and I advise the same for others. If you decide to try it out, make sure you done the first step with URLs, and have at least tested out federation. Part of the import is that it subscribes to everyone you were following, so you want that to be setup already.