A => .env.example +5 -0
@@ 1,5 @@
+OWNCLOUD_VERSION=10.0.7
+OWNCLOUD_DOMAIN=localhost
+ADMIN_USERNAME=admin
+ADMIN_PASSWORD=admin
+HTTP_PORT=80
A => .gitignore +1 -0
A => README.md +7 -0
@@ 1,7 @@
+# OwnCloud
+
+This is a setup to run OwnCloud in Docker.
+
+## Backup
+
+The volume is mounted to `/var/lib/docker/volumes`.
A => docker-compose.yml +72 -0
@@ 1,72 @@
+version: '2.1'
+
+volumes:
+ files:
+ driver: local
+ mysql:
+ driver: local
+ backup:
+ driver: local
+ redis:
+ driver: local
+
+services:
+ owncloud:
+ image: owncloud/server:${OWNCLOUD_VERSION}
+ restart: always
+ ports:
+ - ${HTTP_PORT}:8080
+ depends_on:
+ - db
+ - redis
+ environment:
+ - OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN}
+ - OWNCLOUD_DB_TYPE=mysql
+ - OWNCLOUD_DB_NAME=owncloud
+ - OWNCLOUD_DB_USERNAME=owncloud
+ - OWNCLOUD_DB_PASSWORD=owncloud
+ - OWNCLOUD_DB_HOST=db
+ - OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME}
+ - OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD}
+ - OWNCLOUD_MYSQL_UTF8MB4=true
+ - OWNCLOUD_REDIS_ENABLED=true
+ - OWNCLOUD_REDIS_HOST=redis
+ healthcheck:
+ test: ["CMD", "/usr/bin/healthcheck"]
+ interval: 30s
+ timeout: 10s
+ retries: 5
+ volumes:
+ - files:/mnt/data
+
+ db:
+ image: webhippie/mariadb:latest
+ restart: always
+ environment:
+ - MARIADB_ROOT_PASSWORD=owncloud
+ - MARIADB_USERNAME=owncloud
+ - MARIADB_PASSWORD=owncloud
+ - MARIADB_DATABASE=owncloud
+ - MARIADB_MAX_ALLOWED_PACKET=128M
+ - MARIADB_INNODB_LOG_FILE_SIZE=64M
+ healthcheck:
+ test: ["CMD", "/usr/bin/healthcheck"]
+ interval: 30s
+ timeout: 10s
+ retries: 5
+ volumes:
+ - mysql:/var/lib/mysql
+ - backup:/var/lib/backup
+
+ redis:
+ image: webhippie/redis:latest
+ restart: always
+ environment:
+ - REDIS_DATABASES=1
+ healthcheck:
+ test: ["CMD", "/usr/bin/healthcheck"]
+ interval: 30s
+ timeout: 10s
+ retries: 5
+ volumes:
+ - redis:/var/lib/redis