mirror of
https://github.com/hoellen/docker-nextcloud.git
synced 2025-06-30 23:26:32 +00:00
Compare commits
39 Commits
cedf7fc4c6
...
version-30
Author | SHA1 | Date | |
---|---|---|---|
a18044bc0e | |||
316f0382c9 | |||
60ba7aee48 | |||
d460ad50a3 | |||
ee1adeef8f | |||
6f8f4290a0 | |||
921eec5693 | |||
1b0c1fb747 | |||
a7ade2cbc4 | |||
3451a6219a | |||
16acf58089 | |||
ae0277a368 | |||
aeea888ef9 | |||
ae5b0cfd0c | |||
ee9d26963c | |||
a5538adb2f | |||
ee98f35852 | |||
2ceb05c146 | |||
ee2760237f | |||
6aa67c63b5 | |||
a0442ed1de | |||
74e06ec86d | |||
ce390fc654 | |||
6facdfba4f | |||
60954e1ad7 | |||
539f41e25e | |||
fa3fe52dd2 | |||
1528fc9a00 | |||
cb21fa369e | |||
35f8a4f1ae | |||
34f40fe438 | |||
aec283db22 | |||
6b6e52fbdc | |||
e0cb8643f0 | |||
314cc8016d | |||
4f112a4cdb | |||
18e11abda1 | |||
bf3c76a5f8 | |||
dec3a7f789 |
17
.github/workflows/build.yml
vendored
17
.github/workflows/build.yml
vendored
@ -3,7 +3,9 @@ name: build
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches:
|
||||
- master
|
||||
- version-*
|
||||
schedule:
|
||||
# Build the image regularly (each Friday)
|
||||
- cron: '23 04 * * 5'
|
||||
@ -27,14 +29,17 @@ jobs:
|
||||
|
||||
- name: Extract version for tags
|
||||
run: |
|
||||
echo "FULL_VERSION=$(grep -oP '(?<=NEXTCLOUD_VERSION=).*' Dockerfile | head -c6)" >> $GITHUB_ENV
|
||||
echo "MAJOR_VERSION=$(grep -oP '(?<=NEXTCLOUD_VERSION=).*' Dockerfile | head -c2)" >> $GITHUB_ENV
|
||||
BRANCH="${GITHUB_REF#refs/heads/}"
|
||||
VERSION=$(grep -oP '(?<=NEXTCLOUD_VERSION=).*' Dockerfile)
|
||||
[ "$BRANCH" = "master" ] && echo "BRANCH_VERSION=latest" >> $GITHUB_ENV
|
||||
echo "FULL_VERSION=${VERSION:0:7}" >> $GITHUB_ENV
|
||||
echo "MAJOR_VERSION=${VERSION:0:2}" >> $GITHUB_ENV
|
||||
|
||||
- name: Install cosign
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: sigstore/cosign-installer@main
|
||||
with:
|
||||
cosign-release: 'v1.13.1'
|
||||
cosign-release: 'v2.2.2'
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
@ -53,7 +58,7 @@ jobs:
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||
tags: |
|
||||
latest
|
||||
${{ env.BRANCH_VERSION }}
|
||||
${{ env.FULL_VERSION }}
|
||||
${{ env.MAJOR_VERSION }}
|
||||
|
||||
@ -70,4 +75,4 @@ jobs:
|
||||
if: ${{ github.event_name != 'pull_request' }}
|
||||
env:
|
||||
COSIGN_EXPERIMENTAL: "true"
|
||||
run: cosign sign ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@${{ steps.build-and-push.outputs.digest }}
|
||||
run: cosign sign --yes ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@${{ steps.build-and-push.outputs.digest }}
|
||||
|
24
Dockerfile
24
Dockerfile
@ -1,27 +1,29 @@
|
||||
# -------------- Build-time variables --------------
|
||||
ARG NEXTCLOUD_VERSION=28.0.1
|
||||
ARG PHP_VERSION=8.2
|
||||
ARG NGINX_VERSION=1.24
|
||||
ARG NEXTCLOUD_VERSION=30.0.12
|
||||
ARG PHP_VERSION=8.3
|
||||
ARG NGINX_VERSION=1.26
|
||||
|
||||
ARG ALPINE_VERSION=3.18
|
||||
ARG ALPINE_VERSION=3.21
|
||||
ARG HARDENED_MALLOC_VERSION=11
|
||||
ARG SNUFFLEUPAGUS_VERSION=0.10.0
|
||||
|
||||
ARG UID=1000
|
||||
ARG GID=1000
|
||||
|
||||
# nextcloud-28.0.1.tar.bz2
|
||||
ARG SHA256_SUM="2f80735b443082272fe6a3b5e32137957f1fc448c75342b94b5200b29725f3a4"
|
||||
# nextcloud-30.0.12.tar.bz2
|
||||
ARG SHA256_SUM="9e19b25f42273d4361218426b4762a766bee408cfa6aa8219f8c27f72095a7a8"
|
||||
|
||||
# Nextcloud Security <security@nextcloud.com> (D75899B9A724937A)
|
||||
ARG GPG_FINGERPRINT="2880 6A87 8AE4 23A2 8372 792E D758 99B9 A724 937A"
|
||||
# ---------------------------------------------------
|
||||
|
||||
### Build PHP base
|
||||
FROM php:${PHP_VERSION}-fpm-alpine${ALPINE_VERSION} as base
|
||||
FROM docker.io/library/php:${PHP_VERSION}-fpm-alpine${ALPINE_VERSION} as base
|
||||
|
||||
ARG SNUFFLEUPAGUS_VERSION
|
||||
|
||||
ENV IMAGICK_SHA 28f27044e435a2b203e32675e942eb8de620ee58
|
||||
|
||||
RUN apk -U upgrade \
|
||||
&& apk add -t build-deps \
|
||||
$PHPIZE_DEPS \
|
||||
@ -43,6 +45,7 @@ RUN apk -U upgrade \
|
||||
gmp \
|
||||
icu \
|
||||
libjpeg-turbo \
|
||||
librsvg \
|
||||
libpq \
|
||||
libpq \
|
||||
libwebp \
|
||||
@ -71,7 +74,8 @@ RUN apk -U upgrade \
|
||||
&& pecl install smbclient \
|
||||
&& pecl install APCu \
|
||||
&& pecl install redis \
|
||||
&& pecl install imagick \
|
||||
&& curl -L -o /tmp/imagick.tar.gz https://github.com/Imagick/imagick/archive/${IMAGICK_SHA}.tar.gz && tar --strip-components=1 -xf /tmp/imagick.tar.gz && phpize && ./configure && make && make install \
|
||||
&& apk add --no-cache --virtual .imagick-runtime-deps imagemagick \
|
||||
&& docker-php-ext-enable \
|
||||
smbclient \
|
||||
redis \
|
||||
@ -84,7 +88,7 @@ RUN apk -U upgrade \
|
||||
|
||||
### Build Hardened Malloc
|
||||
ARG ALPINE_VERSION
|
||||
FROM alpine:${ALPINE_VERSION} as build-malloc
|
||||
FROM docker.io/library/alpine:${ALPINE_VERSION} as build-malloc
|
||||
|
||||
ARG HARDENED_MALLOC_VERSION
|
||||
ARG CONFIG_NATIVE=false
|
||||
@ -98,7 +102,7 @@ RUN apk --no-cache add build-base git gnupg && cd /tmp \
|
||||
|
||||
|
||||
### Fetch nginx
|
||||
FROM nginx:${NGINX_VERSION}-alpine as nginx
|
||||
FROM docker.io/library/nginx:${NGINX_VERSION}-alpine as nginx
|
||||
|
||||
|
||||
### Build Nextcloud (production environemnt)
|
||||
|
@ -58,8 +58,8 @@ Verifying the signature isn't a requirement, and might not be as seamless as usi
|
||||
## Tags
|
||||
|
||||
- `latest` : latest Nextcloud version
|
||||
- `x` : latest Nextcloud x.x (e.g. `28`)
|
||||
- `x.x.x` : Nextcloud x.x.x (e.g. `28.0.0`)
|
||||
- `x` : latest Nextcloud x.x (e.g. `30`)
|
||||
- `x.x.x` : Nextcloud x.x.x (e.g. `30.0.0`)
|
||||
|
||||
You can always have a glance [here](https://github.com/users/hoellen/packages/container/package/nextcloud).
|
||||
Only the **latest stable version** will be maintained by myself.
|
||||
|
@ -7,9 +7,11 @@ and will receive the minor version updates and security patches.
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 30. x | :white_check_mark: |
|
||||
| 29. x | :white_check_mark: |
|
||||
| 28. x | :white_check_mark: |
|
||||
| 27. x | :white_check_mark: |
|
||||
| 26. x | :white_check_mark: |
|
||||
| 27. x | :negative_squared_cross_mark: |
|
||||
| 26. x | :negative_squared_cross_mark: |
|
||||
| 25. x | :negative_squared_cross_mark: |
|
||||
| 24. x | :negative_squared_cross_mark: |
|
||||
| 23. x | :negative_squared_cross_mark: |
|
||||
|
@ -18,7 +18,6 @@ server {
|
||||
|
||||
add_header Referrer-Policy "no-referrer" always;
|
||||
add_header X-Content-Type-Options "nosniff" always;
|
||||
add_header X-Download-Options "noopen" always;
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
add_header X-Permitted-Cross-Domain-Policies "none" always;
|
||||
add_header X-Robots-Tag "noindex, nofollow" always;
|
||||
@ -31,8 +30,8 @@ server {
|
||||
}
|
||||
|
||||
location ^~ /.well-known {
|
||||
location = /.well-known/carddav { return 301 $nc_proto://$host/remote.php/dav; }
|
||||
location = /.well-known/caldav { return 301 $nc_proto://$host/remote.php/dav; }
|
||||
location = /.well-known/carddav { return 301 $nc_proto://$host/remote.php/dav/; }
|
||||
location = /.well-known/caldav { return 301 $nc_proto://$host/remote.php/dav/; }
|
||||
location ^~ /.well-known { return 301 $nc_proto://$host/index.php$uri; }
|
||||
try_files $uri $uri/ =404;
|
||||
}
|
||||
@ -67,13 +66,13 @@ server {
|
||||
index index.php;
|
||||
}
|
||||
|
||||
location ~ \.(?:css|js|svg|gif|map)$ {
|
||||
location ~ \.(?:css|js|mjs|svg|gif|png|jpg|ico|wasm|tflite|map|ogg|flac)$ {
|
||||
try_files $uri /index.php$uri$is_args$args;
|
||||
expires 6M;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
location ~ \.woff2?$ {
|
||||
location ~ \.(otf|woff2)?$ {
|
||||
try_files $uri /index.php$uri$is_args$args;
|
||||
expires 7d;
|
||||
access_log off;
|
||||
|
@ -9,6 +9,11 @@ events {
|
||||
|
||||
http {
|
||||
include /etc/nginx/mime.types;
|
||||
# Add .mjs as a file extension for javascript
|
||||
# https://github.com/nextcloud/server/pull/36057
|
||||
types {
|
||||
application/javascript mjs;
|
||||
}
|
||||
default_type application/octet-stream;
|
||||
|
||||
access_log /nginx/logs/access.log combined;
|
||||
|
@ -17,7 +17,8 @@ fi
|
||||
|
||||
# Check if database is available
|
||||
if [ -n "${DB_TYPE}" ] && [ "${DB_TYPE}" != "sqlite3" ]; then
|
||||
until nc -z "${DB_HOST:-nextcloud-db}" "${DB_PORT:-3306}"
|
||||
DB_PORT=${DB_PORT:-$( [ "${DB_TYPE}" = "pgsql" ] && echo 5432 || echo 3306 )}
|
||||
until nc -z "${DB_HOST:-nextcloud-db}" "${DB_PORT}"
|
||||
do
|
||||
echo "waiting for the database container..."
|
||||
sleep 1
|
||||
@ -33,4 +34,4 @@ else
|
||||
fi
|
||||
|
||||
# Run processes
|
||||
exec /bin/s6-svscan /etc/s6.d
|
||||
exec /usr/bin/s6-svscan /etc/s6.d
|
||||
|
Reference in New Issue
Block a user