|
|
# Owncloud
## Setup Server
### Docker
The official container and documentation was made by [owncloud](https://hub.docker.com/_/owncloud).This docker-rebuild is made up by a `docker-compose.yml` file.The services in this files are explained seperately.
#### Owncloud
##### Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Volume-Name | Container mount | Description || ----------- | ---------------------- | ---------------------------- || `owncloud` | `/var/www/html` | storage for owncloud plugins || `config` | `/var/www/html/config` | storage for owncloud config |
##### Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description || -------------- | ------------------------ | -------- | ----------- || `80` | `80` | TCP | WebUI |
#### Maria DB
##### Environment-variables
Set the following environment-variables in the `environment:` section of thedocker-compose file.
| Name | Usage | Default || --------------------- | ---------------------------- | ------- || `MYSQL_ROOT_PASSWORD` | set the mysql admin password | |
##### Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Volume-Name | Container mount | Description || ----------- | ---------------- | ------------------------- || `mariadb` | `/var/lib/mysql` | storage for owncloud data |
#### Rebuild
```shell#!/bin/sh
docker-compose downdocker pull ownclouddocker pull mariadbdocker-compose up -d```
#### Docker-Compose.yml
```ymlversion: "3.1"
services: owncloud: image: owncloud restart: unless-stopped ports: - 80:80 volumes: - owncloud:/var/www/html - config:/var/www/html/config
mariadb: image: mariadb restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: pass volumes: - mariadb:/var/lib/mysql
volumes: owncloud: driver: local mariadb: driver: local config: driver: local```
## Setup Client
### Docker
The original container and documentation are made by [tiynger](https://hub.docker.com/r/tiynger/owncloudclient)
#### Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default || ---------- | --------------------------------------------------- | ----------- || `USER` | username of OwnCloud server | `admin` || `PASSWORD` | password of OwnCloud server | `admin` || `URL` | url of OwnCloud server (dont forget the http(s)://) | `localhost` |
#### Additional
There are some special variables to set.
| Flag | Usage || -------------------- | ---------------------------------------------------------- || `--opt-log max-size` | prevent log file from growing to large (`50m` recommended) |
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description || ----------- | --------------- | ----------------------------------- || `data` | `/data` | directory for the owncloud contents |
#### Rebuild
```shell#!/bin/sh
docker stop owncloudclidocker rm owncloudclidocker pull tiynger/owncloudclientdocker run --name owncloudcli \ --restart unless-stopped \ -v owncloudcli:/data \ -e USER='user' \ -e PASSWORD='password' \ -e URL='https://subdomain.domain.tld' \ --log-opt max-size=50m \ -d tiynger/owncloudclient```
## Error handling
### Problems with a locked file
It is possible that you can't remove or move a locked file.If this problem doesn't resolve after a restart you can try to disable lockingin the owncloud config.This is done by adding the line `'filelocking.enabled' => false,` into the file `config/config.php`.Then try to resolve the error.Afterwards enable locking again by removing the added line.
The reason I choose this process over editing the database file, is ease of use.The editing of the database is much more time consuming especially if run with docker.
|