Hosting #OwnCloud #OCIS on #Ubernauten

Uberspace is one of the lesser known free hosters around. With the claim “Hosting on Steroids” they offer free-of-charge hosting for everybody – for a month. They have extremely extensive documentation in their wiki, but Owncloud oCIS wasn’t documented there.  And since tools like that require some configuration specific to uberspace, here’s a little howto get it started.

Go to the “Ubernauten” website and register. The first month is for free, the 5 Euro product is enough for testing and running your first oCIS setup. I enter my e-mail-address, my favorite subdomain name (ocis for this blogpost) and confirmed. That’s it, ready to go. Please note the fqdn name of the server the Ubernauten give you, in my case it is hamal.uberspace.de.

You can now try to login via SSH, but that will fail because you haven’t set a password or a SSH-Key.:

ssh ocis@hamal.uberspace.de
The authenticity of host ‘hamal.uberspace.de (95.143.172.250)’ can’t be established.
ED25519 key fingerprint is SHA256:LGidXSzKaOcgBJWPtGEd049A5CDXIUIeqTz3IU/tU2I.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added ‘hamal.uberspace.de,95.143.172.250’ (ED25519) to the list of known hosts.
Password:

Password and SSH Key can be entered here (also linked from your datasheet). As you can see in the screen shot, OpenID is also an option. For security, you should use either SSH-Key or Open ID, not the password option. Upload your key, and login again:

# ~/.ssh> ssh ocis@hamal.uberspace.de
Last failed login: Sun Feb  7 19:30:15 CET 2021 from 37.4.224.245 on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Sun Feb  7 19:15:09 2021
Welcome to Uberspace 7!

Current version: 7.9.0.0
Manual: https://manual.uberspace.de/en/
Watch out for changes at: https://manual.uberspace.de/en/changelog.html
Follow us on Twitter for updates: https://twitter.com/ubernauten

Is something unclear or does not work as expected?
=> check the server status: https://is.uberspace.online
=> reach out to our team: hallo@uberspace.de
[ocis@hamal ~]$

Now it’s time to download ocis (via curl):

[ocis@hamal ~]$ curl https://download.owncloud.com/ocis/ocis/1.1.0/ocis-1.1.0-linux-amd64 –output ocis
(…)
[ocis@hamal ~]$ chmod +x ocis
[ocis@hamal ~]$

Okay, time to start oCIS with ./ocis server, says Owncloud’s manual. But not on Uberspace – where we find some “special” conditions:

  1. You don’t have root access
  2. A firewall blocks all ports other than 80,21,22,443 and maybe some more that webdevs need
  3. oCIS needs port 9200 to be accessible.

NginX to the rescue! Uberspace provides a proxy server that may reroute incoming requests to your local port 9200 – which is where oCIS is listening. So unless we have configured this proxy, the blank Ubernauten default html screen will be visible on ocis.uber.space. Thank God it’s all well documented in the Uberspace Manual, so here’s the steps needed for that:

uberspace web backend set / –http –port 9200

… which configures nginX to forward all requests to port 9200 of the local machine. The command

uberspace web backend list
/ http:9200 => NOT OK, no service

lets you check the success of the command before. Since there’s no local service running to answer, it’s NOT OK, but configuring the port 9200 to be redirected to our little ubenauten server has worked. Before we set up oCIS, we need some environment variables to be set aka exported:

[ocis@hamal ~]$ export OCIS_URL=https://ocis.uber.space
[ocis@hamal ~]$ export PROXY_TLS=false
[ocis@hamal ~]$ export PROXY_HTTP_ADDR=0.0.0.0:9200
[ocis@hamal ~]$ export PROXY_LOG_LEVEL=debug
[ocis@hamal ~]$ export THUMBNAILS_WEBDAVSOURCEBASE_URL=http://localhost:9200/remote.php/webdav/
[ocis@hamal ~]$ ./ocis server

With these lines you have told oCIS to listen to the desired URL, communicate through HTTP with the proxy and which adress to listen on. We set the log level to debug, be sure to unset that once your system is up and running. The last export is a variable that the current oCIS version needed in order to display previews for image files correctly (thumbnails). The command in the last line finally starts oCIS, you will see the following login window:

If you want to login, use the default users as mentioned on the owncloud documentation: Usage

Login to ownCloud Web
Open https://localhost:9200 and login using one of the demo accounts:
einstein:relativity
marie:radioactivity
richard:superfluidityThere are admin demo accounts:
moss:vista
admin:admin

As a test, you can now drag and drop files into oCIS. That’s it.

During the next days, I will try to get this article into the official Uberspace documentation on github, but that is hard, because it takes quite some time to follow their requirements, and there’s a lengthy style guide for contributors that does not make sense to learn for one-time-committers. It’s fine though for internal work of an editorial team, I guess.