Run your ownCloud on any server with Containers and Cloud 66

ownCloud?

ownCloud is a self-hosted file sync and share server. It provides access to your data through a web interface, sync clients or WebDAV while providing a platform to view, sync and share across devices easily — all under your control.

Let play locally

To just play around with ownCloud on your local box, just install docker and docker-compose (instructions here) and use the following docker-compose.yml.

version: '3.1' services:    owncloud:      # use the latest version of owncloud      image: owncloud:10.0.2      ports:         # bind ownCloud's port 80 to port 8080         - 8080:80
  • Enter your endpoint.
  • Enter your credentials.
  • Start syncing and sharing your files.

Deploy to any server

It’s time to run it in production on any cloud provider or on your own server.

services:    owncloud:      image: owncloud:10.0.2      # map the ports to HTTP/HTTPS      ports:           - 80:80:443      volumes:           # make sure we store the data on the host and not in the container - "/mnt/datastore:/var/www/html/data" databases:    # we are going to use mysql as a backend!    - mysql
volumes:        - "/mnt/datastore:/var/www/html/data"
  • Choose to deploy in a production environment
  • Choose which provider you want to deploy (make sure you entered your provider credentials) or bring your own server using our registered server feature.

Setup ownCloud

When you hit visit Site you can setup ownCloud. Like in the local example we enter our username and password and we hit configure Database. We choice MySql and enter the credentials you find in the Mysql info page.

  • Information page our MySQL

Securing ownCloud with SSL

Of course, this installment is not secure because we are using HTTP and not HTTPS. Cloud 66 support Let’s Encrypt (FREE!) SSL or bring your own SSL.

Multi Tenancy for Stacks

Sometimes you need to run multiple applications on the same server. This could be because none of those applications have enough traffic to justify having a dedicated stack for itself or it could be because all the apps on the stack share many resources. What ever the reason, you can achieve multi-tenancy for your stacks with Cloud 66 for Containers.

services:    owncloud:      image: owncloud:10.0.2      # only respond to request from yourdomain.com      traffic_matches: ["yourdomain.com"]`      # map the ports to HTTP/HTTPS      ports:           - 80:80:443      volumes:            # make sure we store the data on the host and not in the container - "/mnt/datastore:/var/www/html/data" databases:    # we are going to use mysql as a backend!   - mysql

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Cloud 66

Cloud 66

DevOps-as-a-Service to help developers build, deploy and maintain apps on any Cloud. Sign-up for a free trial by visting: www.cloud66.com