To those self-hosters who are out there curious if there exists a faster Nextcloud-like alternative without all the bells and whistles. I present to you, OCIS! This howto assumes that you’re running a Linux OS and that you have a reverse proxy like caddy running. To the guy who I suggested checking out OCIS, I wrote this guide for you ;)
1. Download the OCIS binary:
sudo wget -O /usr/bin/ocis https://download.owncloud.com/ocis/ocis/stable/3.0.0/ocis-3.0.0-linux-amd64
The above downloads the latest stable version.
2. Make the downloaded binary executable:
sudo chmod +x /usr/bin/ocis
3. Create a systemd unit file to start OCIS automatically:
Description=OCIS server
[Service]
Type=simple
User=ocis
Group=ocis
EnvironmentFile=/etc/ocis/ocis.env
ExecStart=ocis server
Restart=always
[Install]
WantedBy=multi-user.target
4. Create the ocis user:
sudo useradd --system --no-create-home --shell=/sbin/nologin ocis
5. Create the necessary directories:
sudo mkdir -p /etc/ocis /var/lib/ocis
6. Grant ownership of created directories above to the ocis user:
sudo chown -R ocis:ocis /etc/ocis/ /var/lib/ocis
7. Create the environment file for running OCIS:
sudo nano /etc/ocis/ocis.env
and paste the lines below - edit the domain accordingly:
OCIS_URL=https://ocis.your.domain.org
PROXY_TLS=false
OCIS_INSECURE=true
OCIS_LOG_LEVEL=error
OCIS_CONFIG_DIR=/etc/ocis
OCIS_BASE_DATA_PATH=/var/lib/ocis
PROXY_HTTP_ADDR=0.0.0.0:9200
PROXY_USER_OIDC_CLAIM=preferred_username
PROXY_USER_CS3_CLAIM=username
PROXY_ENABLE_BASIC_AUTH=true
8. Initialize your OCIS install:
sudo -u ocis ocis init --config-path /etc/ocis
That’s it!
Visiting the url https://ocis.your.domain.org should present you with OCIS login page.
To access the webdav endpoint via something like Cx Explorer or Gnome files, use:
https://ocis.your.domain /remote.php/webdav
Depending on your setup, you might have to add the ocis domain above to your hosts file.
A line like 127.0.0.1 ocis.your.domain.org
to the /etc/hosts file.
If you don’t have a reverse proxy but would still like to check out OCIS, use the environment file below:
OCIS_URL=https://192.168.x.x:9200
PROXY_TLS=true
OCIS_INSECURE=true
OCIS_LOG_LEVEL=error
OCIS_CONFIG_DIR=/etc/ocis
OCIS_BASE_DATA_PATH=/var/lib/ocis
PROXY_HTTP_ADDR=0.0.0.0:9200
PROXY_USER_OIDC_CLAIM=preferred_username
PROXY_USER_CS3_CLAIM=username
PROXY_ENABLE_BASIC_AUTH=true
I tried mine with keli.local:9200 and it worked just fine- make sure you have avahi-daemon installed!
Edit:
If you’re using a reverse proxy, your proxy address should be localhost:9200
.
For caddy, this would mean an entry like:
ocis.your.domain.org {
reverse_proxy localhost:9200
}
Nextcloud like? Nextcloud was a fork of Owncloud and now Owncloud has made a new implementation with Go. So I wouldn’t call it Nextcloud like :). Also, it’s licensed under Apache 2.0, and it’s owned by Owncloud. As we have learned recently in the FOSS world, company ownership of “important” FOSS, is a problem. So I wouldn’t call this an alternative… In 2016 People left owncloud for a good reason and started Nextcloud. Although I really would appreciate Nextcloud ditching PHP and implementing itself again in something better, I am fine with the slow frontend.
When I said Nextcloud-like, I meant in function and not philosophy. So Nextcloud-like in the sense that you can do file sync, auto uploads of videos/photos from a mobile device etc