diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml new file mode 100644 index 0000000..a5af2d3 --- /dev/null +++ b/nextcloud/docker-compose.yml @@ -0,0 +1,48 @@ +services: + nextcloud_app: + image: nextcloud:31.0.6 + container_name: nextcloud_app + depends_on: + - nextcloud_db + - nextcloud_valkey + environment: + - MYSQL_HOST=nextcloud_db:3306 + - MYSQL_DATABASE=${MYSQL_DATABASE} + - MYSQL_USER=${MYSQL_USER} + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + - REDIS_HOST=nextcloud_valkey + - REDIS_HOST_PORT=6379 + - REDIS_HOST_PASSWORD=${VALKEY_PASSWORD} + - PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT} + - PHP_UPLOAD_LIMIT=${PHP_UPLOAD_LIMIT} + - APACHE_DISABLE_REWRITE_IP=${APACHE_DISABLE_REWRITE_IP} + volumes: + - ${APPDATA_PATH}/nextcloud/app:/var/www/html + ports: + - ${APP_PORT}:80 + restart: unless-stopped + + nextcloud_db: + image: mariadb:11.8.2 + container_name: nextcloud_db + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed + environment: + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} + - MYSQL_DATABASE=${MYSQL_DATABASE} + - MYSQL_USER=${MYSQL_USER} + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + volumes: + - ${APPDATA_PATH}/nextcloud/db:/var/lib/mysql + ports: + - ${DB_PORT}:3306 + restart: unless-stopped + + nextcloud_valkey: + image: valkey/valkey:8.1.2 + container_name: nextcloud_valkey + command: valkey-server --requirepass ${VALKEY_PASSWORD} + volumes: + - ${APPDATA_PATH}/nextcloud/valkey:/data + ports: + - ${VALKEY_PORT}:6379 + restart: unless-stopped