diff --git a/.examples/docker-compose/insecure/mariadb/apache/compose.yaml b/.examples/docker-compose/insecure/mariadb/apache/compose.yaml index c765190c..c05d7d8e 100644 --- a/.examples/docker-compose/insecure/mariadb/apache/compose.yaml +++ b/.examples/docker-compose/insecure/mariadb/apache/compose.yaml @@ -1,6 +1,9 @@ services: + # Note: MariaDB is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/mariadb db: - image: mariadb:10.11 + # Note: Check the recommend version here: https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html#server + image: mariadb:lts command: --transaction-isolation=READ-COMMITTED restart: always volumes: @@ -12,6 +15,8 @@ services: env_file: - db.env + # Note: Redis is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/redis redis: image: redis:alpine restart: always diff --git a/.examples/docker-compose/insecure/mariadb/fpm/compose.yaml b/.examples/docker-compose/insecure/mariadb/fpm/compose.yaml index 90520e08..64faef6c 100644 --- a/.examples/docker-compose/insecure/mariadb/fpm/compose.yaml +++ b/.examples/docker-compose/insecure/mariadb/fpm/compose.yaml @@ -1,6 +1,9 @@ services: + # Note: MariaDB is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/mariadb db: - image: mariadb:10.11 + # Note: Check the recommend version here: https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html#server + image: mariadb:lts command: --transaction-isolation=READ-COMMITTED restart: always volumes: @@ -12,6 +15,8 @@ services: env_file: - db.env + # Note: Redis is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/redis redis: image: redis:alpine restart: always @@ -31,14 +36,18 @@ services: - db - redis + # Note: Nginx is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/nginx/ web: - build: ./web + image: nginx:alpine-slim restart: always ports: - 127.0.0.1:8080:80 volumes: + # https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html + - ./web/nginx.conf:/etc/nginx/nginx.conf:ro + # NOTE: The `volumes` included below should match those of the `app` container (unless you know what you're doing) - nextcloud:/var/www/html:z,ro - # NOTE: The `volumes` included here should match those of the `app` container (unless you know what you're doing) depends_on: - app diff --git a/.examples/docker-compose/insecure/mariadb/fpm/web/Dockerfile b/.examples/docker-compose/insecure/mariadb/fpm/web/Dockerfile deleted file mode 100644 index 9e620aff..00000000 --- a/.examples/docker-compose/insecure/mariadb/fpm/web/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM nginx:alpine - -COPY nginx.conf /etc/nginx/nginx.conf diff --git a/.examples/docker-compose/insecure/postgres/apache/compose.yaml b/.examples/docker-compose/insecure/postgres/apache/compose.yaml index 19c75ba4..8ae34013 100644 --- a/.examples/docker-compose/insecure/postgres/apache/compose.yaml +++ b/.examples/docker-compose/insecure/postgres/apache/compose.yaml @@ -1,5 +1,8 @@ services: + # Note: PostgreSQL is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/postgres db: + # Note: Check the recommend version here: https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html#server image: postgres:alpine restart: always volumes: @@ -7,6 +10,8 @@ services: env_file: - db.env + # Note: Redis is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/redis redis: image: redis:alpine restart: always diff --git a/.examples/docker-compose/insecure/postgres/fpm/compose.yaml b/.examples/docker-compose/insecure/postgres/fpm/compose.yaml index 4e268cab..8a88afd4 100644 --- a/.examples/docker-compose/insecure/postgres/fpm/compose.yaml +++ b/.examples/docker-compose/insecure/postgres/fpm/compose.yaml @@ -1,5 +1,8 @@ services: + # Note: PostgreSQL is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/postgres db: + # Note: Check the recommend version here: https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html#server image: postgres:alpine restart: always volumes: @@ -7,6 +10,8 @@ services: env_file: - db.env + # Note: Redis is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/redis redis: image: redis:alpine restart: always @@ -26,14 +31,18 @@ services: - db - redis + # Note: Nginx is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/nginx/ web: - build: ./web + image: nginx:alpine-slim restart: always ports: - 127.0.0.1:8080:80 volumes: + # https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html + - ./web/nginx.conf:/etc/nginx/nginx.conf:ro + # NOTE: The `volumes` included below should match those of the `app` container (unless you know what you're doing) - nextcloud:/var/www/html:z,ro - # NOTE: The `volumes` included here should match those of the `app` container (unless you know what you're doing) depends_on: - app diff --git a/.examples/docker-compose/insecure/postgres/fpm/web/Dockerfile b/.examples/docker-compose/insecure/postgres/fpm/web/Dockerfile deleted file mode 100644 index 9e620aff..00000000 --- a/.examples/docker-compose/insecure/postgres/fpm/web/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM nginx:alpine - -COPY nginx.conf /etc/nginx/nginx.conf diff --git a/.examples/docker-compose/with-nginx-proxy-self-signed-ssl-collabora-office-mariadb/README.MD b/.examples/docker-compose/with-nginx-proxy-self-signed-ssl-collabora-office-mariadb/README.MD new file mode 100644 index 00000000..26dc0b4f --- /dev/null +++ b/.examples/docker-compose/with-nginx-proxy-self-signed-ssl-collabora-office-mariadb/README.MD @@ -0,0 +1,5 @@ +This docker-compose.yml file will create a nextcloud instance with signed certs using the lets encrypt companion and the nginx reverse proxy. Collabora office will also be deployed using signed certs. To use collabora the app must be installed within nextcloud and configured to use office.DOMAIN.TLD. + +There is no need to specify a port, simply the pubilc domain used to create your certs for the office instance. Ports, 443 and 80 should be forwarded to the server. + +![Callabora Settings](collaboraOnlineNCSettings.png) diff --git a/.examples/docker-compose/with-nginx-proxy-self-signed-ssl-collabora-office-mariadb/collaboraOnlineNCSettings.png b/.examples/docker-compose/with-nginx-proxy-self-signed-ssl-collabora-office-mariadb/collaboraOnlineNCSettings.png new file mode 100644 index 00000000..1922a887 Binary files /dev/null and b/.examples/docker-compose/with-nginx-proxy-self-signed-ssl-collabora-office-mariadb/collaboraOnlineNCSettings.png differ diff --git a/.examples/docker-compose/with-nginx-proxy-self-signed-ssl-collabora-office-mariadb/docker-compose.yml b/.examples/docker-compose/with-nginx-proxy-self-signed-ssl-collabora-office-mariadb/docker-compose.yml new file mode 100644 index 00000000..b6091b0b --- /dev/null +++ b/.examples/docker-compose/with-nginx-proxy-self-signed-ssl-collabora-office-mariadb/docker-compose.yml @@ -0,0 +1,109 @@ +version: '3' + +services: + + proxy: + image: jwilder/nginx-proxy:alpine + labels: + - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy=true" + container_name: nextcloud-proxy + networks: + - nextcloud_network + ports: + - 80:80 + - 443:443 + volumes: + - ./proxy/conf.d:/etc/nginx/conf.d:rw + - ./proxy/vhost.d:/etc/nginx/vhost.d:rw + - ./proxy/html:/usr/share/nginx/html:rw + - ./proxy/certs:/etc/nginx/certs:ro + - /etc/localtime:/etc/localtime:ro + - /var/run/docker.sock:/tmp/docker.sock:ro + restart: unless-stopped + + letsencrypt: + image: jrcs/letsencrypt-nginx-proxy-companion + container_name: nextcloud-letsencrypt + depends_on: + - proxy + networks: + - nextcloud_network + volumes: + - ./proxy/certs:/etc/nginx/certs:rw + - ./proxy/vhost.d:/etc/nginx/vhost.d:rw + - ./proxy/html:/usr/share/nginx/html:rw + - /etc/localtime:/etc/localtime:ro + - /var/run/docker.sock:/var/run/docker.sock:ro + restart: unless-stopped + db: + image: mariadb + container_name: nextcloud-mariadb + networks: + - nextcloud_network + volumes: + - db:/var/lib/mysql + - /etc/localtime:/etc/localtime:ro + environment: + # Create a root password for the maraiadb instance. + - MYSQL_ROOT_PASSWORD=CREATE-A-SECURE-ROOT-PASSWORD-HERE + # Create a password for the nextcloud users. If you have to manually connect your database you would use the nextcloud user and this password. + - MYSQL_PASSWORD=CREATE-A-SECURE-NEXTCLOUD-USER-PASSWORD-HERE + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + restart: unless-stopped + + app: + image: nextcloud:latest + container_name: nextcloud-app + networks: + - nextcloud_network + depends_on: + - letsencrypt + - proxy + - db + volumes: + - nextcloud:/var/www/html + - ./app/config:/var/www/html/config + - ./app/custom_apps:/var/www/html/custom_apps + - ./app/data:/var/www/html/data + - ./app/themes:/var/www/html/themes + - /etc/localtime:/etc/localtime:ro + environment: + # The VIRTUAL_HOST and LETSENCRYPT_HOST should use the same publically reachable domain for your nextlcloud instance. + - VIRTUAL_HOST=cloud.DOMAIN.TLD + - LETSENCRYPT_HOST=cloud.DOMAIN.TLD + # This needs to be a real email as it will be used by let's encrypt for your cert and is used to warn you about renewals. + - LETSENCRYPT_EMAIL=YOUR-EMAIL@DOMAIN.TDL + restart: unless-stopped + collab: + image: collabora/code + container_name: nextcloud-collab + networks: + - nextcloud_network + depends_on: + - proxy + - letsencrypt + cap_add: + - MKNOD + ports: + - 9980:9980 + environment: + # This nees to be the same as what you set your app domain too (ex: cloud.domain.tld). + - domain=cloud\\.DOMAIN\\.TDL + - username=admin + # Create a passoword for the collabora office admin page. + - password=CREATE-A-SECURE-PASSWORD-HERE + - VIRTUAL_PROTO=https + - VIRTUAL_PORT=443 + # The VIRTUAL_HOST and LETSENCRYPT_HOST should use the same publically reachable domain for your collabora instance (ex: office.domain.tld). + - VIRTUAL_HOST=office.DOMAIN.TLD + - LETSENCRYPT_HOST=office.DOMAIN.TLD + # This needs to be a real email as it will be used by let's encrypt for your cert and is used to warn you about renewals. + - LETSENCRYPT_EMAIL=YOUR-EMAIL@DOMAIN.TDL + restart: unless-stopped +volumes: + nextcloud: + db: + +networks: + nextcloud_network: diff --git a/.examples/docker-compose/with-nginx-proxy/mariadb/apache/compose.yaml b/.examples/docker-compose/with-nginx-proxy/mariadb/apache/compose.yaml index e1a461d2..e1132818 100644 --- a/.examples/docker-compose/with-nginx-proxy/mariadb/apache/compose.yaml +++ b/.examples/docker-compose/with-nginx-proxy/mariadb/apache/compose.yaml @@ -1,6 +1,9 @@ services: + # Note: MariaDB is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/mariadb db: - image: mariadb:10.11 + # Note: Check the recommend version here: https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html#server + image: mariadb:lts command: --transaction-isolation=READ-COMMITTED restart: always volumes: @@ -12,6 +15,8 @@ services: env_file: - db.env + # Note: Redis is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/redis redis: image: redis:alpine restart: always @@ -33,9 +38,6 @@ services: depends_on: - db - redis - # Added proxy container dependency below. - # It is unclear on when or why it happens, but sometimes NC manages to start before the proxy - # and it breaks for whatever weird reason resulting in the need of manual proxy container restart. - proxy networks: - proxy-tier @@ -52,6 +54,9 @@ services: - db - redis + # Note: Nginx-proxy is an external service. You can find more information about the configuration here: + # Warning: Do not use :latest tags of nginx-proxy unless absolutely sure about the consequences. + # https://hub.docker.com/r/nginxproxy/nginx-proxy proxy: build: ./proxy restart: always @@ -69,6 +74,8 @@ services: networks: - proxy-tier + # Note: Letsencrypt companion is an external service. You can find more information about the configuration here: + # https://hub.docker.com/r/nginxproxy/acme-companion letsencrypt-companion: image: nginxproxy/acme-companion restart: always @@ -85,7 +92,7 @@ services: depends_on: - proxy -# self signed +# self signed,outdated # omgwtfssl: # image: paulczar/omgwtfssl # restart: "no" diff --git a/.examples/docker-compose/with-nginx-proxy/mariadb/apache/proxy/Dockerfile b/.examples/docker-compose/with-nginx-proxy/mariadb/apache/proxy/Dockerfile index 46fc7e26..6f449c7f 100644 --- a/.examples/docker-compose/with-nginx-proxy/mariadb/apache/proxy/Dockerfile +++ b/.examples/docker-compose/with-nginx-proxy/mariadb/apache/proxy/Dockerfile @@ -1,3 +1,3 @@ -FROM nginxproxy/nginx-proxy:alpine +FROM nginxproxy/nginx-proxy:1.7-alpine COPY uploadsize.conf /etc/nginx/conf.d/uploadsize.conf diff --git a/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/compose.yaml b/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/compose.yaml index fa77198a..13d4a40b 100644 --- a/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/compose.yaml +++ b/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/compose.yaml @@ -1,6 +1,9 @@ services: + # Note: MariaDB is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/mariadb db: - image: mariadb:10.11 + # Note: Check the recommend version here: https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html#server + image: mariadb:lts command: --transaction-isolation=READ-COMMITTED restart: always volumes: @@ -12,6 +15,8 @@ services: env_file: - db.env + # Note: Redis is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/redis redis: image: redis:alpine restart: always @@ -32,12 +37,16 @@ services: - redis - proxy + # Note: Nginx is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/nginx/ web: - build: ./web + image: nginx:alpine-slim restart: always volumes: + # https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html + - ./web/nginx.conf:/etc/nginx/nginx.conf:ro + # NOTE: The `volumes` included below should match those of the `app` container (unless you know what you're doing) - nextcloud:/var/www/html:z,ro - # NOTE: The `volumes` included here should match those of the `app` container (unless you know what you're doing) environment: - VIRTUAL_HOST= - LETSENCRYPT_HOST= @@ -59,6 +68,9 @@ services: - db - redis + # Note: Nginx-proxy is an external service. You can find more information about the configuration here: + # Warning: Do not use :latest tags of nginx-proxy unless absolutely sure about the consequences. + # https://hub.docker.com/r/nginxproxy/nginx-proxy proxy: build: ./proxy restart: always @@ -75,6 +87,8 @@ services: networks: - proxy-tier + # Note: Letsencrypt companion is an external service. You can find more information about the configuration here: + # https://hub.docker.com/r/nginxproxy/acme-companion letsencrypt-companion: image: nginxproxy/acme-companion restart: always @@ -91,7 +105,7 @@ services: depends_on: - proxy -# self signed +# self signed, outdated. # omgwtfssl: # image: paulczar/omgwtfssl # restart: "no" diff --git a/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/proxy/Dockerfile b/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/proxy/Dockerfile index 46fc7e26..6f449c7f 100644 --- a/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/proxy/Dockerfile +++ b/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/proxy/Dockerfile @@ -1,3 +1,3 @@ -FROM nginxproxy/nginx-proxy:alpine +FROM nginxproxy/nginx-proxy:1.7-alpine COPY uploadsize.conf /etc/nginx/conf.d/uploadsize.conf diff --git a/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/web/Dockerfile b/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/web/Dockerfile deleted file mode 100644 index 9e620aff..00000000 --- a/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/web/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM nginx:alpine - -COPY nginx.conf /etc/nginx/nginx.conf diff --git a/.examples/docker-compose/with-nginx-proxy/postgres/apache/compose.yaml b/.examples/docker-compose/with-nginx-proxy/postgres/apache/compose.yaml index 2eb4f638..035359f0 100644 --- a/.examples/docker-compose/with-nginx-proxy/postgres/apache/compose.yaml +++ b/.examples/docker-compose/with-nginx-proxy/postgres/apache/compose.yaml @@ -1,5 +1,8 @@ services: + # Note: PostgreSQL is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/postgres db: + # Note: Check the recommend version here: https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html#server image: postgres:alpine restart: always volumes: @@ -7,6 +10,8 @@ services: env_file: - db.env + # Note: Redis is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/redis redis: image: redis:alpine restart: always @@ -44,6 +49,9 @@ services: - db - redis + # Note: Nginx-proxy is an external service. You can find more information about the configuration here: + # Warning: Do not use :latest tags of nginx-proxy unless absolutely sure about the consequences. + # https://hub.docker.com/r/nginxproxy/nginx-proxy proxy: build: ./proxy restart: always @@ -60,6 +68,8 @@ services: networks: - proxy-tier + # Note: Letsencrypt companion is an external service. You can find more information about the configuration here: + # https://hub.docker.com/r/nginxproxy/acme-companion letsencrypt-companion: image: nginxproxy/acme-companion restart: always @@ -74,7 +84,7 @@ services: depends_on: - proxy -# self signed +# self signed, outdated # omgwtfssl: # image: paulczar/omgwtfssl # restart: "no" diff --git a/.examples/docker-compose/with-nginx-proxy/postgres/apache/proxy/Dockerfile b/.examples/docker-compose/with-nginx-proxy/postgres/apache/proxy/Dockerfile index 46fc7e26..6f449c7f 100644 --- a/.examples/docker-compose/with-nginx-proxy/postgres/apache/proxy/Dockerfile +++ b/.examples/docker-compose/with-nginx-proxy/postgres/apache/proxy/Dockerfile @@ -1,3 +1,3 @@ -FROM nginxproxy/nginx-proxy:alpine +FROM nginxproxy/nginx-proxy:1.7-alpine COPY uploadsize.conf /etc/nginx/conf.d/uploadsize.conf diff --git a/.examples/docker-compose/with-nginx-proxy/postgres/fpm/compose.yaml b/.examples/docker-compose/with-nginx-proxy/postgres/fpm/compose.yaml index 80be65a6..78654edd 100644 --- a/.examples/docker-compose/with-nginx-proxy/postgres/fpm/compose.yaml +++ b/.examples/docker-compose/with-nginx-proxy/postgres/fpm/compose.yaml @@ -1,7 +1,8 @@ -version: '3' - services: + # Note: PostgreSQL is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/postgres db: + # Note: Check the recommend version here: https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html#server image: postgres:alpine restart: always volumes: @@ -9,6 +10,8 @@ services: env_file: - db.env + # Note: Redis is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/redis redis: image: redis:alpine restart: always @@ -29,12 +32,16 @@ services: - redis - proxy + # Note: Nginx is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/nginx/ web: - build: ./web + image: nginx:alpine-slim restart: always volumes: + # https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html + - ./web/nginx.conf:/etc/nginx/nginx.conf:ro + # NOTE: The `volumes` included below should match those of the `app` container (unless you know what you're doing) - nextcloud:/var/www/html:z,ro - # NOTE: The `volumes` included here should match those of the `app` container (unless you know what you're doing) environment: - VIRTUAL_HOST= - LETSENCRYPT_HOST= @@ -56,6 +63,9 @@ services: - db - redis + # Note: Nginx-proxy is an external service. You can find more information about the configuration here: + # Warning: Do not use :latest tags of nginx-proxy unless absolutely sure about the consequences. + # https://hub.docker.com/r/nginxproxy/nginx-proxy proxy: build: ./proxy restart: always @@ -72,6 +82,8 @@ services: networks: - proxy-tier + # Note: Letsencrypt companion is an external service. You can find more information about the configuration here: + # https://hub.docker.com/r/nginxproxy/acme-companion letsencrypt-companion: image: nginxproxy/acme-companion restart: always @@ -88,7 +100,7 @@ services: depends_on: - proxy -# self signed +# self signed, outdated # omgwtfssl: # image: paulczar/omgwtfssl # restart: "no" diff --git a/.examples/docker-compose/with-nginx-proxy/postgres/fpm/proxy/Dockerfile b/.examples/docker-compose/with-nginx-proxy/postgres/fpm/proxy/Dockerfile index 46fc7e26..6f449c7f 100644 --- a/.examples/docker-compose/with-nginx-proxy/postgres/fpm/proxy/Dockerfile +++ b/.examples/docker-compose/with-nginx-proxy/postgres/fpm/proxy/Dockerfile @@ -1,3 +1,3 @@ -FROM nginxproxy/nginx-proxy:alpine +FROM nginxproxy/nginx-proxy:1.7-alpine COPY uploadsize.conf /etc/nginx/conf.d/uploadsize.conf diff --git a/.examples/docker-compose/with-nginx-proxy/postgres/fpm/web/Dockerfile b/.examples/docker-compose/with-nginx-proxy/postgres/fpm/web/Dockerfile deleted file mode 100644 index 9e620aff..00000000 --- a/.examples/docker-compose/with-nginx-proxy/postgres/fpm/web/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM nginx:alpine - -COPY nginx.conf /etc/nginx/nginx.conf diff --git a/30/apache/Dockerfile b/30/apache/Dockerfile index 7b3f2939..31d62217 100644 --- a/30/apache/Dockerfile +++ b/30/apache/Dockerfile @@ -1,5 +1,5 @@ # DO NOT EDIT: created by update.sh from Dockerfile-debian.template -FROM php:8.2-apache-bookworm +FROM php:8.3-apache-bookworm # entrypoint.sh and cron.sh dependencies RUN set -ex; \ diff --git a/30/fpm-alpine/Dockerfile b/30/fpm-alpine/Dockerfile index 26c5c856..09e10d33 100644 --- a/30/fpm-alpine/Dockerfile +++ b/30/fpm-alpine/Dockerfile @@ -1,5 +1,5 @@ # DO NOT EDIT: created by update.sh from Dockerfile-alpine.template -FROM php:8.2-fpm-alpine3.21 +FROM php:8.3-fpm-alpine3.21 # entrypoint.sh and cron.sh dependencies RUN set -ex; \ diff --git a/30/fpm/Dockerfile b/30/fpm/Dockerfile index 6ef1a6a7..8cbb07d3 100644 --- a/30/fpm/Dockerfile +++ b/30/fpm/Dockerfile @@ -1,5 +1,5 @@ # DO NOT EDIT: created by update.sh from Dockerfile-debian.template -FROM php:8.2-fpm-bookworm +FROM php:8.3-fpm-bookworm # entrypoint.sh and cron.sh dependencies RUN set -ex; \ diff --git a/31/apache/Dockerfile b/31/apache/Dockerfile index 642be03e..6421c7b0 100644 --- a/31/apache/Dockerfile +++ b/31/apache/Dockerfile @@ -1,5 +1,5 @@ # DO NOT EDIT: created by update.sh from Dockerfile-debian.template -FROM php:8.2-apache-bookworm +FROM php:8.3-apache-bookworm # entrypoint.sh and cron.sh dependencies RUN set -ex; \ diff --git a/31/fpm-alpine/Dockerfile b/31/fpm-alpine/Dockerfile index 0c9ff741..a20a12e8 100644 --- a/31/fpm-alpine/Dockerfile +++ b/31/fpm-alpine/Dockerfile @@ -1,5 +1,5 @@ # DO NOT EDIT: created by update.sh from Dockerfile-alpine.template -FROM php:8.2-fpm-alpine3.21 +FROM php:8.3-fpm-alpine3.21 # entrypoint.sh and cron.sh dependencies RUN set -ex; \ diff --git a/31/fpm/Dockerfile b/31/fpm/Dockerfile index 9eee6cfc..92f3935c 100644 --- a/31/fpm/Dockerfile +++ b/31/fpm/Dockerfile @@ -1,5 +1,5 @@ # DO NOT EDIT: created by update.sh from Dockerfile-debian.template -FROM php:8.2-fpm-bookworm +FROM php:8.3-fpm-bookworm # entrypoint.sh and cron.sh dependencies RUN set -ex; \ diff --git a/README.md b/README.md index 7de62124..3be70217 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ Database: ```console $ docker run -d \ -v db:/var/lib/mysql \ -mariadb:10.11 +mariadb:lts ``` ### Additional volumes @@ -403,8 +403,11 @@ Make sure to pass in values for `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` varia ```yaml services: + # Note: MariaDB is external service. You can find more information about the configuration here: + # https://hub.docker.com/_/mariadb db: - image: mariadb:10.11 + # Note: Check the recommend version here: https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html#server + image: mariadb:lts restart: always command: --transaction-isolation=READ-COMMITTED volumes: @@ -415,6 +418,8 @@ services: - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud + # Note: Redis is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/redis redis: image: redis:alpine restart: always @@ -451,8 +456,11 @@ Make sure to pass in values for `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` varia ```yaml services: + # Note: MariaDB is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/mariadb db: - image: mariadb:10.11 + # Note: Check the recommend version here: https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html#server + image: mariadb:lts restart: always command: --transaction-isolation=READ-COMMITTED volumes: @@ -463,6 +471,8 @@ services: - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud + # Note: Redis is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/redis redis: image: redis:alpine restart: always @@ -481,15 +491,18 @@ services: - MYSQL_USER=nextcloud - MYSQL_HOST=db + # Note: Nginx is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/nginx/ web: - image: nginx + image: nginx:alpine-slim restart: always ports: - 8080:80 depends_on: - app volumes: - - ./nginx.conf:/etc/nginx/nginx.conf:ro + # https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html + - ./nginx.conf:/etc/nginx/nginx.conf:ro volumes_from: - app @@ -514,8 +527,11 @@ Example: ```yaml services: + # Note: PostgreSQL is external service. You can find more information about the configuration here: + # https://hub.docker.com/_/postgres db: - image: postgres + # Note: Check the recommend version here: https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html#server + image: postgres:alpine restart: always volumes: - db:/var/lib/postgresql/data @@ -527,6 +543,8 @@ services: - postgres_db - postgres_password - postgres_user + # Note: Redis is an external service. You can find more information about the configuration here: + # https://hub.docker.com/_/redis redis: image: redis:alpine restart: always diff --git a/update.sh b/update.sh index de9670b3..3128e4a3 100755 --- a/update.sh +++ b/update.sh @@ -10,7 +10,8 @@ declare -A debian_version=( ) declare -A php_version=( - [default]='8.2' + [29]='8.2' + [default]='8.3' ) declare -A cmd=( diff --git a/versions.json b/versions.json index 2bfbfa63..daac9da6 100644 --- a/versions.json +++ b/versions.json @@ -9,19 +9,19 @@ "variant": "apache", "base": "debian", "baseVersion": "bookworm", - "phpVersion": "8.2" + "phpVersion": "8.3" }, "fpm": { "variant": "fpm", "base": "debian", "baseVersion": "bookworm", - "phpVersion": "8.2" + "phpVersion": "8.3" }, "fpm-alpine": { "variant": "fpm-alpine", "base": "alpine", "baseVersion": "3.21", - "phpVersion": "8.2" + "phpVersion": "8.3" } } }, @@ -35,19 +35,19 @@ "variant": "apache", "base": "debian", "baseVersion": "bookworm", - "phpVersion": "8.2" + "phpVersion": "8.3" }, "fpm": { "variant": "fpm", "base": "debian", "baseVersion": "bookworm", - "phpVersion": "8.2" + "phpVersion": "8.3" }, "fpm-alpine": { "variant": "fpm-alpine", "base": "alpine", "baseVersion": "3.21", - "phpVersion": "8.2" + "phpVersion": "8.3" } } },