From 67774418210d762242d3a7bcb082d211a795fed0 Mon Sep 17 00:00:00 2001 From: matthias Date: Fri, 14 Apr 2023 19:15:03 +0000 Subject: [PATCH] added owncloud and finally a tested and functional version of nextcloud --- compose/nextcloud-fpm/docker-compose.yml | 48 +++++++++++++ compose/nextcloud_nonswarm/docker-compose.yml | 5 +- compose/owncloud/docker-compose.yml | 72 +++++++++++++++++++ 3 files changed, 123 insertions(+), 2 deletions(-) create mode 100644 compose/nextcloud-fpm/docker-compose.yml create mode 100644 compose/owncloud/docker-compose.yml diff --git a/compose/nextcloud-fpm/docker-compose.yml b/compose/nextcloud-fpm/docker-compose.yml new file mode 100644 index 0000000..de23461 --- /dev/null +++ b/compose/nextcloud-fpm/docker-compose.yml @@ -0,0 +1,48 @@ +version: '2' + +volumes: + nextcloud: + db: + +services: + db: + image: mariadb:10.6 + restart: always + command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW + volumes: + - db:/var/lib/mysql + environment: + - MYSQL_ROOT_PASSWORD=rootpw + - MYSQL_PASSWORD=password + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + + app: + image: nextcloud:fpm + restart: always + links: + - db + volumes: + - nextcloud:/var/www/html + environment: + - MYSQL_PASSWORD=password + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + - MYSQL_HOST=db + - REDIS_HOST=redis + + web: + image: nginx + restart: always + ports: + - 7777:80 + links: + - app + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf:ro + volumes_from: + - app + + redis: + image: redis:latest + restart: always diff --git a/compose/nextcloud_nonswarm/docker-compose.yml b/compose/nextcloud_nonswarm/docker-compose.yml index b8397ef..db4a9d9 100644 --- a/compose/nextcloud_nonswarm/docker-compose.yml +++ b/compose/nextcloud_nonswarm/docker-compose.yml @@ -22,9 +22,9 @@ volumes: services: db: - image: mariadb:10.6 + image: mariadb restart: always - command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW + command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed volumes: - ncdatabase:/var/lib/mysql environment: @@ -48,6 +48,7 @@ services: - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_HOST=db + - PHP_MEMORY_LIMIT=512M - REDIS_HOST=redis deploy: resources: diff --git a/compose/owncloud/docker-compose.yml b/compose/owncloud/docker-compose.yml new file mode 100644 index 0000000..559e51f --- /dev/null +++ b/compose/owncloud/docker-compose.yml @@ -0,0 +1,72 @@ +version: "3.9" + +volumes: + files: + driver: local + mysql: + driver: local + redis: + driver: local + +services: + owncloud: + image: owncloud/server:latest + container_name: owncloud_server + restart: always + depends_on: + - mariadb + - redis + environment: + - OWNCLOUD_DOMAIN=oc.vbchaos.nl + - OWNCLOUD_DB_TYPE=mysql + - OWNCLOUD_DB_NAME=owncloud + - OWNCLOUD_DB_USERNAME=owncloud + - OWNCLOUD_DB_PASSWORD=owncloud + - OWNCLOUD_DB_HOST=mariadb + - OWNCLOUD_ADMIN_USERNAME=admin + - OWNCLOUD_ADMIN_PASSWORD=password + - OWNCLOUD_MYSQL_UTF8MB4=true + - OWNCLOUD_REDIS_ENABLED=true + - OWNCLOUD_REDIS_HOST=redis + - VIRTUAL_HOST=oc.vbchaos.nl + - VIRTUAL_PORT=9898 + healthcheck: + test: ["CMD", "/usr/bin/healthcheck"] + interval: 30s + timeout: 10s + retries: 5 + volumes: + - files:/mnt/data + ports: + - 9898:8080 + + mariadb: + image: mariadb:10.5 + container_name: owncloud_mariadb + restart: always + environment: + - MYSQL_ROOT_PASSWORD=owncloud + - MYSQL_USER=owncloud + - MYSQL_PASSWORD=owncloud + - MYSQL_DATABASE=owncloud + command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"] + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=owncloud"] + interval: 10s + timeout: 5s + retries: 5 + volumes: + - mysql:/var/lib/mysql + + redis: + image: redis:6 + container_name: owncloud_redis + restart: always + command: ["--databases", "1"] + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 5 + volumes: + - redis:/data