Compare commits

..

1 Commits

Author SHA1 Message Date
Julius Knorr 2357335a03 chore: simplify dsp setup
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-02-27 13:25:28 +01:00
39 changed files with 399 additions and 917 deletions
+35 -33
View File
@@ -14,13 +14,14 @@ on:
jobs:
push_to_registry:
name: Build image
runs-on: ubuntu-latest
# FIXME: currently there are playwright issues with ubuntu-latest
# https://github.com/microsoft/playwright/issues/30368 closed but still an issue
runs-on: ubuntu-22.04
if: github.repository == 'juliusknorr/nextcloud-docker-dev'
strategy:
fail-fast: false
matrix:
container:
- php85
- php84
- php83
- php82
@@ -34,7 +35,6 @@ jobs:
- saml
- nginx
- elasticsearch
- keycloak
- mailhog
- ldap
- lookupserver
@@ -42,26 +42,29 @@ jobs:
- codedev
- code
- talk-janus
- noop
permissions:
packages: write
contents: read
steps:
- name: Check out the repo
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v4
uses: docker/setup-qemu-action@v3
# TODO: remove this when https://github.com/actions/runner-images/issues/11471
with:
platforms: linux/arm64
image: tonistiigi/binfmt:qemu-v7.0.0-28
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
uses: docker/setup-buildx-action@v3
- name: Cache Docker layers
uses: actions/cache@v5
uses: actions/cache@v4
with:
path: /tmp/.buildx-cache
key: ${{ matrix.container }}-buildx-${{ github.sha }}
restore-keys: |
${{ matrix.container }}-buildx-
- name: Log in to GitHub Container Registry
uses: docker/login-action@v4
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
@@ -75,7 +78,7 @@ jobs:
DOCKERFILE=$([[ -f "docker/$NAME/Dockerfile" ]] && echo "docker/$NAME/Dockerfile" || echo "docker/Dockerfile.$NAME")
echo "DOCKERFILE=$DOCKERFILE" >> $GITHUB_OUTPUT
- name: Build container image
uses: docker/build-push-action@v7
uses: docker/build-push-action@v6
with:
push: false
context: docker/
@@ -86,27 +89,13 @@ jobs:
ghcr.io/juliusknorr/nextcloud-dev-${{ matrix.container }}:latest
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
- name: Push container image
uses: docker/build-push-action@v7
if: github.ref == 'refs/heads/master' || github.event_name == 'release'
with:
push: true
context: docker/
platforms: linux/amd64,linux/arm64
file: ${{ steps.dockerfile.outputs.DOCKERFILE }}
tags: |
ghcr.io/juliusknorr/nextcloud-dev-${{ matrix.container }}:${{ github.event_name == 'release' && 'release' || 'latest' }}
ghcr.io/juliusknorr/nextcloud-dev-${{ matrix.container }}:${{ github.ref_name }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
- name: Start containers with docker compose
if: matrix.container == 'php82' || matrix.container == 'php83' || matrix.container == 'php84'
run: |
./bootstrap.sh
PHP_VERSION=$(echo ${{ matrix.container }} | sed -e 's/^php//')
echo "PHP_VERSION=${PHP_VERSION}" >> .env
# exit if php version is not numeric or below 80 or above 84 to only test against supported ones in server master
if ! [[ $PHP_VERSION =~ ^[0-9]+$ ]] || [[ $PHP_VERSION -lt 80 ]] || [[ $PHP_VERSION -gt 84 ]]; then
# exit if php version is not numeric or below 80
if ! [[ $PHP_VERSION =~ ^[0-9]+$ ]] || [[ $PHP_VERSION -lt 80 ]] || [[ $PHP_VERSION -gt 83 ]]; then
exit 0
fi
docker compose up -d nextcloud
@@ -119,28 +108,41 @@ jobs:
sleep 1
done
curl http://nextcloud.local/status.php
- uses: actions/setup-node@v6
if: matrix.container == 'php82' || matrix.container == 'php83' || matrix.container == 'php84'
- uses: actions/setup-node@v4
if: matrix.container == 'php81' || matrix.container == 'php82' || matrix.container == 'php83'
with:
node-version: latest
- name: Install dependencies
if: matrix.container == 'php82' || matrix.container == 'php83' || matrix.container == 'php84'
if: matrix.container == 'php81' || matrix.container == 'php82' || matrix.container == 'php83'
working-directory: tests
run: npm ci
- name: Install Playwright Browsers
if: matrix.container == 'php82' || matrix.container == 'php83' || matrix.container == 'php84'
if: matrix.container == 'php81' || matrix.container == 'php82' || matrix.container == 'php83'
working-directory: tests
run: npx playwright install --with-deps
- name: Run Playwright tests
if: matrix.container == 'php82' || matrix.container == 'php83' || matrix.container == 'php84'
if: matrix.container == 'php81' || matrix.container == 'php82' || matrix.container == 'php83'
working-directory: tests
run: npx playwright test
- uses: actions/upload-artifact@v6
if: matrix.container == 'php82' || matrix.container == 'php83' || matrix.container == 'php84'
- uses: actions/upload-artifact@v4
if: matrix.container == 'php81' || matrix.container == 'php82' || matrix.container == 'php83'
with:
name: playwright-report-${{ matrix.container }}
path: tests/playwright-report/
retention-days: 30
- name: Push container image
uses: docker/build-push-action@v6
if: github.ref == 'refs/heads/master' || github.event_name == 'release'
with:
push: true
context: docker/
platforms: linux/amd64,linux/arm64
file: ${{ steps.dockerfile.outputs.DOCKERFILE }}
tags: |
ghcr.io/juliusknorr/nextcloud-dev-${{ matrix.container }}:${{ github.event_name == 'release' && 'release' || 'latest' }}
ghcr.io/juliusknorr/nextcloud-dev-${{ matrix.container }}:${{ github.ref_name }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache
+3 -3
View File
@@ -28,11 +28,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Set up Python
uses: actions/setup-python@v6
uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Install dependencies
@@ -42,7 +42,7 @@ jobs:
- name: Build MkDocs
run: mkdocs build
- name: Upload artifact
uses: actions/upload-pages-artifact@v4
uses: actions/upload-pages-artifact@v3
with:
# Upload entire repository
path: './site'
+1 -1
View File
@@ -11,7 +11,7 @@ jobs:
name: Shellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
- name: Run ShellCheck
uses: ludeeus/action-shellcheck@master
env:
-1
View File
@@ -56,7 +56,6 @@ template-apply:
cat docker/Dockerfile.php.template | sed 's/php:8.2/php:8.2/' > docker/php82/Dockerfile
cat docker/Dockerfile.php.template | sed 's/php:8.2/php:8.3/' > docker/php83/Dockerfile
cat docker/Dockerfile.php.template | sed 's/php:8.2/php:8.4/' > docker/php84/Dockerfile
cat docker/Dockerfile.php.template | sed 's/php:8.2/php:8.5/' > docker/php85/Dockerfile
docs:
pip3 install mkdocs
+1 -1
View File
@@ -82,7 +82,7 @@ if [ -f ".env" ]; then
echo "❌ Repository path does not exist"
fi
for i in stable29 stable30 stable31 stable32 stable33
for i in stable27 stable28 stable29 stable30 stable31
do
echo "Stable $i repository path: ${STABLE_ROOT_PATH}/${i}"
STABLE_VERSION=$(grep "OC_VersionString" "${STABLE_ROOT_PATH}/${i}/version.php" | cut -d "'" -f 2)
+33 -200
View File
@@ -1,3 +1,5 @@
version: '3'
services:
# Proxy for ssl termination and easier hostname access
@@ -8,7 +10,7 @@ services:
- "${IP_BIND:-127.0.0.1}:${PROXY_PORT_HTTP:-80}:80"
- "${IP_BIND:-127.0.0.1}:${PROXY_PORT_HTTPS:-443}:443"
volumes:
- ${DOCKER_SOCKET-/var/run/docker.sock}:/tmp/docker.sock:ro
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./data/ssl/:/etc/nginx/certs
- ./data/nginx/vhost.d/:/etc/nginx/vhost.d
environment:
@@ -40,12 +42,7 @@ services:
- stable29${DOMAIN_SUFFIX}
- stable30${DOMAIN_SUFFIX}
- stable31${DOMAIN_SUFFIX}
- stable32${DOMAIN_SUFFIX}
- stable33${DOMAIN_SUFFIX}
- mail${DOMAIN_SUFFIX}
- sso${DOMAIN_SUFFIX}
- minio${DOMAIN_SUFFIX}
- rustfs${DOMAIN_SUFFIX}
- imap${DOMAIN_SUFFIX}
- collabora${DOMAIN_SUFFIX}
- codedev${DOMAIN_SUFFIX}
@@ -64,7 +61,6 @@ services:
- phpmyadmin${DOMAIN_SUFFIX}
- talk-signaling${DOMAIN_SUFFIX}
- talk-recording${DOMAIN_SUFFIX}
- authentik${DOMAIN_SUFFIX}
extra_hosts:
- host.docker.internal:host-gateway
@@ -78,7 +74,7 @@ services:
- ./docker/configs/haproxy.conf:/usr/local/etc/haproxy/haproxy.cfg:ro
nextcloud:
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: ${NEXTCLOUD_AUTOINSTALL:-YES}
@@ -110,9 +106,9 @@ services:
- host.docker.internal:host-gateway
nextcloud2:
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
SQL: ${SQL:-mysql}
SQL: 'mysql'
VIRTUAL_HOST: "nextcloud2${DOMAIN_SUFFIX}"
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
volumes:
@@ -136,7 +132,7 @@ services:
- host.docker.internal:host-gateway
nextcloud3:
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
SQL: ${SQL:-mysql}
VIRTUAL_HOST: "nextcloud3${DOMAIN_SUFFIX}"
@@ -425,7 +421,7 @@ services:
- host.docker.internal:host-gateway
stable25:
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
@@ -455,7 +451,7 @@ services:
- host.docker.internal:host-gateway
stable26:
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
@@ -485,7 +481,7 @@ services:
- host.docker.internal:host-gateway
stable27:
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
@@ -515,7 +511,7 @@ services:
- host.docker.internal:host-gateway
stable28:
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
@@ -545,7 +541,7 @@ services:
- host.docker.internal:host-gateway
stable29:
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
@@ -575,7 +571,7 @@ services:
- host.docker.internal:host-gateway
stable30:
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
@@ -605,7 +601,7 @@ services:
- host.docker.internal:host-gateway
stable31:
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
@@ -634,68 +630,8 @@ services:
extra_hosts:
- host.docker.internal:host-gateway
stable32:
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
environment:
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
NEXTCLOUD_AUTOINSTALL_APPS:
WITH_REDIS: "YES"
VIRTUAL_HOST: stable32${DOMAIN_SUFFIX}
ADDITIONAL_APPS_PATH:
NEXTCLOUD_TRUSTED_DOMAINS:
PRIMARY: ${PRIMARY:-local}
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
volumes:
- '${STABLE_ROOT_PATH}/stable32:/var/www/html'
- '${STABLE_ROOT_PATH}/stable32/apps-extra:/var/www/html/apps-extra'
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
- /var/www/html/data
- /var/www/html/config
- /var/www/html/apps-writable
- ./data/skeleton/:/skeleton
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
- ./data/shared:/shared
depends_on:
- database-${SQL:-mysql}
- redis
- mail
- ${PROXY_SERVICE:-proxy}
extra_hosts:
- host.docker.internal:host-gateway
stable33:
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-83}:latest
environment:
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
NEXTCLOUD_AUTOINSTALL_APPS:
WITH_REDIS: "YES"
VIRTUAL_HOST: stable33${DOMAIN_SUFFIX}
ADDITIONAL_APPS_PATH:
NEXTCLOUD_TRUSTED_DOMAINS:
PRIMARY: ${PRIMARY:-local}
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
volumes:
- '${STABLE_ROOT_PATH}/stable33:/var/www/html'
- '${STABLE_ROOT_PATH}/stable33/apps-extra:/var/www/html/apps-extra'
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
- /var/www/html/data
- /var/www/html/config
- /var/www/html/apps-writable
- ./data/skeleton/:/skeleton
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
- ./data/shared:/shared
depends_on:
- database-${SQL:-mysql}
- redis
- mail
- ${PROXY_SERVICE:-proxy}
extra_hosts:
- host.docker.internal:host-gateway
database-sqlite:
image: ghcr.io/juliusknorr/nextcloud-dev-noop:latest
image: rwgrim/docker-noop
database-mysql:
image: mariadb:10.6
@@ -788,7 +724,7 @@ services:
- ${PROXY_SERVICE:-proxy}
redis:
image: redis:8
image: redis:7
volumes:
- redis:/data
@@ -814,7 +750,6 @@ services:
PMA_HOST: database-mysql
PMA_USER: root
PMA_PASSWORD: nextcloud
UPLOAD_LIMIT: 512M
ldapadmin:
image: osixia/phpldapadmin
@@ -825,7 +760,7 @@ services:
- "${IP_BIND:-127.0.0.1}:${PORTBASE:-800}8:80"
saml:
image: unicon/simplesamlphp
image: unicon/simplesamlphp
volumes:
- ./docker/configs/var-simplesamlphp/config:/var/simplesamlphp/config
- ./docker/configs/var-simplesamlphp/cert:/var/simplesamlphp/cert
@@ -896,8 +831,6 @@ services:
aliasgroup10: http://stable29${DOMAIN_SUFFIX}
aliasgroup11: http://stable30${DOMAIN_SUFFIX}
aliasgroup12: http://stable31${DOMAIN_SUFFIX}
aliasgroup13: http://stable32${DOMAIN_SUFFIX}
aliasgroup14: http://stable33${DOMAIN_SUFFIX}
dictionaries: de_DE en_US en_GB
username: admin
password: admin
@@ -920,7 +853,7 @@ services:
tail -f /dev/null
onlyoffice:
image: onlyoffice/documentserver:latest
image: onlyoffice/documentserver:8.2
environment:
VIRTUAL_HOST: onlyoffice${DOMAIN_SUFFIX}
USE_UNAUTHORIZED_STORAGE: "true"
@@ -935,27 +868,14 @@ services:
image: minio/minio
environment:
VIRTUAL_HOST: minio${DOMAIN_SUFFIX}
VIRTUAL_PORT: 9000
VIRTUAL_PORT: 9001
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: nextcloud
MINIO_BROWSER_REDIRECT_URL: ${PROTOCOL}://minio${DOMAIN_SUFFIX}
ports:
- "9001:9001"
volumes:
- objectstorage_minio:/data
command: server /data --console-address :9001
rustfs:
image: rustfs/rustfs:latest
environment:
VIRTUAL_HOST: rustfs${DOMAIN_SUFFIX}
VIRTUAL_PORT: 9001
RUSTFS_ACCESS_KEY: nextcloud
RUSTFS_SECRET_KEY: nextcloud
RUSTFS_CONSOLE_ENABLE: "true"
volumes:
- objectstorage_rustfs:/data
elasticsearch:
build:
context: ./docker
@@ -1003,32 +923,29 @@ services:
NEXTCLOUD_URL: http://nextcloud
keycloak:
image: ghcr.io/juliusknorr/nextcloud-dev-keycloak:latest
image: quay.io/keycloak/keycloak:26.1
expose:
- 8080
# volumes:
# - ./docker/configs/keycloak:/opt/keycloak/data/import
command: start-dev --import-realm --http-enabled=true --proxy-headers xforwarded
volumes:
- ./docker/configs/keycloak:/opt/keycloak/data/import
command: start-dev --import-realm
environment:
PROTOCOL: "${PROTOCOL:-http}"
DOMAIN_SUFFIX: "${DOMAIN_SUFFIX:-.local}"
VIRTUAL_HOST: "keycloak${DOMAIN_SUFFIX}"
VIRTUAL_PORT: 8080
KC_BOOTSTRAP_ADMIN_USERNAME: admin
KC_BOOTSTRAP_ADMIN_PASSWORD: admin
KEYCLOAK_PROXY_ADDRESS_FORWARDING: "true"
KEYCLOAK_FRONTEND_URL: "${PROTOCOL:-http}://keycloak${DOMAIN_SUFFIX}"
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
PROXY_ADDRESS_FORWARDING: "true"
KC_PROXY: edge
av:
image: clamav/clamav:stable
image: mkodockx/docker-clamav:alpine
container_name: nextav
restart: unless-stopped
volumes:
- clam:/var/lib/clamav
portal:
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
VIRTUAL_HOST: portal${DOMAIN_SUFFIX}
SQL: 'mysql'
@@ -1050,7 +967,7 @@ services:
- host.docker.internal:host-gateway
gs1:
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
VIRTUAL_HOST: gs1${DOMAIN_SUFFIX}
SQL: 'mysql'
@@ -1073,7 +990,7 @@ services:
- host.docker.internal:host-gateway
gs2:
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
VIRTUAL_HOST: gs2${DOMAIN_SUFFIX}
SQL: 'mysql'
@@ -1129,7 +1046,7 @@ services:
previews_hpb:
image: ghcr.io/nextcloud-releases/aio-imaginary:latest
image: nextcloud/aio-imaginary:latest
ports:
- "${IP_BIND:-127.0.0.1}:8088:8088"
environment:
@@ -1153,7 +1070,7 @@ services:
image: ghcr.io/juliusknorr/nextcloud-dev-talk-janus:latest
talk-recording:
image: ghcr.io/nextcloud-releases/aio-talk-recording:latest
image: nextcloud/aio-talk-recording:latest
environment:
NC_DOMAIN: "nextcloud${DOMAIN_SUFFIX}"
ALLOW_ALL: "true"
@@ -1170,9 +1087,8 @@ services:
appapi-dsp:
image: ghcr.io/nextcloud/nextcloud-appapi-dsp:release
container_name: nextcloud-appapi-dsp-http
network_mode: ${NETWORK_MODE:-master_default}
volumes:
- ${DOCKER_SOCKET-/var/run/docker.sock}:/var/run/docker.sock
- /var/run/docker.sock:/var/run/docker.sock
environment:
- NC_HAPROXY_PASSWORD=${NC_HAPROXY_PASSWORD:-some_secure_password}
- BIND_ADDRESS=${BIND_ADDRESS:-}
@@ -1183,86 +1099,6 @@ services:
- EX_APPS_NET=${EX_APPS_NET:-ipv4@localhost}
- EX_APPS_COUNT=${EX_APPS_COUNT:-50}
appapi-dsp-https:
image: ghcr.io/nextcloud/nextcloud-appapi-dsp:release
container_name: nextcloud-appapi-dsp-https
network_mode: ${NETWORK_MODE:-host}
volumes:
- ${DOCKER_SOCKET-/var/run/docker.sock}:/var/run/docker.sock
- ${CERT_PATH:-./data/ssl/app_api/app_api.pem}:/certs/cert.pem
environment:
- NC_HAPROXY_PASSWORD=${NC_HAPROXY_PASSWORD:-some_secure_password}
- BIND_ADDRESS=${BIND_ADDRESS:-172.17.0.1}
- HAPROXY_PORT=${HAPROXY_PORT:-2375}
- TIMEOUT_CONNECT=${TIMEOUT_CONNECT:-10s}
- TIMEOUT_CLIENT=${TIMEOUT_CLIENT:-30s}
- TIMEOUT_SERVER=${TIMEOUT_SERVER:-30s}
- EX_APPS_NET=${EX_APPS_NET:-ipv4@localhost}
- EX_APPS_COUNT=${EX_APPS_COUNT:-50}
authentik-postgresql:
env_file:
- .env
environment:
POSTGRES_DB: ${PG_DB:-authentik}
POSTGRES_PASSWORD: authentik-database
POSTGRES_USER: ${PG_USER:-authentik}
healthcheck:
interval: 30s
retries: 5
start_period: 20s
test:
- CMD-SHELL
- pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}
timeout: 5s
image: docker.io/library/postgres:16-alpine
restart: unless-stopped
volumes:
- authentik-database:/var/lib/postgresql/data
authentik-worker:
command: worker
depends_on:
authentik-postgresql:
condition: service_healthy
env_file:
- .env
environment:
AUTHENTIK_POSTGRESQL__HOST: authentik-postgresql
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: authentik-database
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_SECRET_KEY: authentik-secret
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.10.2}
restart: unless-stopped
user: root
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./authentik-media:/media
- ./authentik-certs:/certs
- ./authentik-custom-templates:/templates
authentik:
command: server
depends_on:
authentik-postgresql:
condition: service_healthy
authentik-worker:
condition: service_healthy
environment:
AUTHENTIK_POSTGRESQL__HOST: authentik-postgresql
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: authentik-database
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_SECRET_KEY: authentik-secret
VIRTUAL_HOST: "authentik${DOMAIN_SUFFIX}"
VIRTUAL_PORT: 9000
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.10.2}
ports:
- ${COMPOSE_PORT_HTTP:-9000}:9000
restart: unless-stopped
volumes:
- ./authentik-media:/media
- ./authentik-custom-templates:/templates
volumes:
data:
@@ -1281,14 +1117,11 @@ volumes:
document_data:
document_log:
objectstorage_minio:
objectstorage_rustfs:
smb:
smbhomes:
elasticsearch_data:
clam:
mariadb_primary_data:
authentik-database:
driver: local
networks:
default:
+21 -29
View File
@@ -29,37 +29,22 @@ RUN install-php-extensions \
# dev tools separate install so we quickly change without rebuilding all php extensions
RUN apt update && apt-get install -y --no-install-recommends \
git \
curl \
vim-tiny \
nano \
sudo \
cron \
smbclient \
iproute2 \
lnav \
wget \
iputils-ping \
gnupg2 \
jq \
ripgrep \
rsync \
git curl vim nano sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN wget -O /usr/local/bin/phpunit11 https://phar.phpunit.de/phpunit-11.phar \
&& chmod +x /usr/local/bin/phpunit11 \
&& wget -O /usr/local/bin/phpunit12 https://phar.phpunit.de/phpunit-12.phar \
&& chmod +x /usr/local/bin/phpunit12 \
&& ln -s /usr/local/bin/phpunit11 /usr/local/bin/phpunit
RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
&& chmod +x /usr/local/bin/phpunit8 \
&& wget -O /usr/local/bin/phpunit9 https://phar.phpunit.de/phpunit-9.phar \
&& chmod +x /usr/local/bin/phpunit9 \
&& ln -s /usr/local/bin/phpunit9 /usr/local/bin/phpunit
# Install NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \
&& export NVM_DIR="/root/.nvm" \
&& . "$NVM_DIR/nvm.sh" \
&& nvm install node \
&& nvm alias default node \
&& nvm cache clear
&& nvm install 20 \
&& nvm alias default 20
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
@@ -78,7 +63,14 @@ ADD configs/php/nextcloud.ini /usr/local/etc/php/conf.d/nextcloud.ini
ADD configs/php/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
# Setup blackfire probe
RUN mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled
RUN wget -q -O - https://packages.blackfire.io/gpg.key | sudo apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" | sudo tee /etc/apt/sources.list.d/blackfire.list \
&& apt-get update \
&& (apt-get install -y --no-install-recommends blackfire \
&& mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled \
&& printf "\n\nblackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini) \
|| echo "Skipped blackfire as the installation failed" \
&& rm -rf /var/lib/apt/lists/*
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
@@ -93,16 +85,16 @@ VOLUME /var/www/html/apps-writable
VOLUME /var/www/html/config
VOLUME /var/www/html/data
ENV SQL=sqlite
ENV NEXTCLOUD_AUTOINSTALL=YES
ENV WITH_REDIS=NO
ENV SQL sqlite
ENV NEXTCLOUD_AUTOINSTALL YES
ENV WITH_REDIS NO
ENV WEBROOT=/var/www/html
ENV WEBROOT /var/www/html
WORKDIR /var/www/html
ENTRYPOINT ["/usr/local/bin/bootstrap.sh"]
CMD ["apache2-foreground"]
ADD data/installing.html /root/installing.html
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/storage.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD bin/bootstrap.sh bin/occ /usr/local/bin/
+21 -29
View File
@@ -29,37 +29,22 @@ RUN install-php-extensions \
# dev tools separate install so we quickly change without rebuilding all php extensions
RUN apt update && apt-get install -y --no-install-recommends \
git \
curl \
vim-tiny \
nano \
sudo \
cron \
smbclient \
iproute2 \
lnav \
wget \
iputils-ping \
gnupg2 \
jq \
ripgrep \
rsync \
git curl vim nano sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN wget -O /usr/local/bin/phpunit11 https://phar.phpunit.de/phpunit-11.phar \
&& chmod +x /usr/local/bin/phpunit11 \
&& wget -O /usr/local/bin/phpunit12 https://phar.phpunit.de/phpunit-12.phar \
&& chmod +x /usr/local/bin/phpunit12 \
&& ln -s /usr/local/bin/phpunit11 /usr/local/bin/phpunit
RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
&& chmod +x /usr/local/bin/phpunit8 \
&& wget -O /usr/local/bin/phpunit9 https://phar.phpunit.de/phpunit-9.phar \
&& chmod +x /usr/local/bin/phpunit9 \
&& ln -s /usr/local/bin/phpunit9 /usr/local/bin/phpunit
# Install NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \
&& export NVM_DIR="/root/.nvm" \
&& . "$NVM_DIR/nvm.sh" \
&& nvm install node \
&& nvm alias default node \
&& nvm cache clear
&& nvm install 20 \
&& nvm alias default 20
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
@@ -78,7 +63,14 @@ ADD configs/php/nextcloud.ini /usr/local/etc/php/conf.d/nextcloud.ini
ADD configs/php/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
# Setup blackfire probe
RUN mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled
RUN wget -q -O - https://packages.blackfire.io/gpg.key | sudo apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" | sudo tee /etc/apt/sources.list.d/blackfire.list \
&& apt-get update \
&& (apt-get install -y --no-install-recommends blackfire \
&& mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled \
&& printf "\n\nblackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini) \
|| echo "Skipped blackfire as the installation failed" \
&& rm -rf /var/lib/apt/lists/*
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
@@ -93,16 +85,16 @@ VOLUME /var/www/html/apps-writable
VOLUME /var/www/html/config
VOLUME /var/www/html/data
ENV SQL=sqlite
ENV NEXTCLOUD_AUTOINSTALL=YES
ENV WITH_REDIS=NO
ENV SQL sqlite
ENV NEXTCLOUD_AUTOINSTALL YES
ENV WITH_REDIS NO
ENV WEBROOT=/var/www/html
ENV WEBROOT /var/www/html
WORKDIR /var/www/html
ENTRYPOINT ["/usr/local/bin/bootstrap.sh"]
CMD ["apache2-foreground"]
ADD data/installing.html /root/installing.html
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/storage.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD bin/bootstrap.sh bin/occ /usr/local/bin/
+21 -29
View File
@@ -29,37 +29,22 @@ RUN install-php-extensions \
# dev tools separate install so we quickly change without rebuilding all php extensions
RUN apt update && apt-get install -y --no-install-recommends \
git \
curl \
vim-tiny \
nano \
sudo \
cron \
smbclient \
iproute2 \
lnav \
wget \
iputils-ping \
gnupg2 \
jq \
ripgrep \
rsync \
git curl vim nano sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN wget -O /usr/local/bin/phpunit11 https://phar.phpunit.de/phpunit-11.phar \
&& chmod +x /usr/local/bin/phpunit11 \
&& wget -O /usr/local/bin/phpunit12 https://phar.phpunit.de/phpunit-12.phar \
&& chmod +x /usr/local/bin/phpunit12 \
&& ln -s /usr/local/bin/phpunit11 /usr/local/bin/phpunit
RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
&& chmod +x /usr/local/bin/phpunit8 \
&& wget -O /usr/local/bin/phpunit9 https://phar.phpunit.de/phpunit-9.phar \
&& chmod +x /usr/local/bin/phpunit9 \
&& ln -s /usr/local/bin/phpunit9 /usr/local/bin/phpunit
# Install NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \
&& export NVM_DIR="/root/.nvm" \
&& . "$NVM_DIR/nvm.sh" \
&& nvm install node \
&& nvm alias default node \
&& nvm cache clear
&& nvm install 20 \
&& nvm alias default 20
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
@@ -78,7 +63,14 @@ ADD configs/php/nextcloud.ini /usr/local/etc/php/conf.d/nextcloud.ini
ADD configs/php/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
# Setup blackfire probe
RUN mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled
RUN wget -q -O - https://packages.blackfire.io/gpg.key | sudo apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" | sudo tee /etc/apt/sources.list.d/blackfire.list \
&& apt-get update \
&& (apt-get install -y --no-install-recommends blackfire \
&& mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled \
&& printf "\n\nblackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini) \
|| echo "Skipped blackfire as the installation failed" \
&& rm -rf /var/lib/apt/lists/*
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
@@ -93,16 +85,16 @@ VOLUME /var/www/html/apps-writable
VOLUME /var/www/html/config
VOLUME /var/www/html/data
ENV SQL=sqlite
ENV NEXTCLOUD_AUTOINSTALL=YES
ENV WITH_REDIS=NO
ENV SQL sqlite
ENV NEXTCLOUD_AUTOINSTALL YES
ENV WITH_REDIS NO
ENV WEBROOT=/var/www/html
ENV WEBROOT /var/www/html
WORKDIR /var/www/html
ENTRYPOINT ["/usr/local/bin/bootstrap.sh"]
CMD ["apache2-foreground"]
ADD data/installing.html /root/installing.html
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/storage.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD bin/bootstrap.sh bin/occ /usr/local/bin/
+21 -29
View File
@@ -29,37 +29,22 @@ RUN install-php-extensions \
# dev tools separate install so we quickly change without rebuilding all php extensions
RUN apt update && apt-get install -y --no-install-recommends \
git \
curl \
vim-tiny \
nano \
sudo \
cron \
smbclient \
iproute2 \
lnav \
wget \
iputils-ping \
gnupg2 \
jq \
ripgrep \
rsync \
git curl vim nano sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN wget -O /usr/local/bin/phpunit11 https://phar.phpunit.de/phpunit-11.phar \
&& chmod +x /usr/local/bin/phpunit11 \
&& wget -O /usr/local/bin/phpunit12 https://phar.phpunit.de/phpunit-12.phar \
&& chmod +x /usr/local/bin/phpunit12 \
&& ln -s /usr/local/bin/phpunit11 /usr/local/bin/phpunit
RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
&& chmod +x /usr/local/bin/phpunit8 \
&& wget -O /usr/local/bin/phpunit9 https://phar.phpunit.de/phpunit-9.phar \
&& chmod +x /usr/local/bin/phpunit9 \
&& ln -s /usr/local/bin/phpunit9 /usr/local/bin/phpunit
# Install NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \
&& export NVM_DIR="/root/.nvm" \
&& . "$NVM_DIR/nvm.sh" \
&& nvm install node \
&& nvm alias default node \
&& nvm cache clear
&& nvm install 20 \
&& nvm alias default 20
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
@@ -78,7 +63,14 @@ ADD configs/php/nextcloud.ini /usr/local/etc/php/conf.d/nextcloud.ini
ADD configs/php/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
# Setup blackfire probe
RUN mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled
RUN wget -q -O - https://packages.blackfire.io/gpg.key | sudo apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" | sudo tee /etc/apt/sources.list.d/blackfire.list \
&& apt-get update \
&& (apt-get install -y --no-install-recommends blackfire \
&& mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled \
&& printf "\n\nblackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini) \
|| echo "Skipped blackfire as the installation failed" \
&& rm -rf /var/lib/apt/lists/*
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
@@ -93,16 +85,16 @@ VOLUME /var/www/html/apps-writable
VOLUME /var/www/html/config
VOLUME /var/www/html/data
ENV SQL=sqlite
ENV NEXTCLOUD_AUTOINSTALL=YES
ENV WITH_REDIS=NO
ENV SQL sqlite
ENV NEXTCLOUD_AUTOINSTALL YES
ENV WITH_REDIS NO
ENV WEBROOT=/var/www/html
ENV WEBROOT /var/www/html
WORKDIR /var/www/html
ENTRYPOINT ["/usr/local/bin/bootstrap.sh"]
CMD ["apache2-foreground"]
ADD data/installing.html /root/installing.html
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/storage.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD bin/bootstrap.sh bin/occ /usr/local/bin/
+21 -29
View File
@@ -29,37 +29,22 @@ RUN install-php-extensions \
# dev tools separate install so we quickly change without rebuilding all php extensions
RUN apt update && apt-get install -y --no-install-recommends \
git \
curl \
vim-tiny \
nano \
sudo \
cron \
smbclient \
iproute2 \
lnav \
wget \
iputils-ping \
gnupg2 \
jq \
ripgrep \
rsync \
git curl vim nano sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN wget -O /usr/local/bin/phpunit11 https://phar.phpunit.de/phpunit-11.phar \
&& chmod +x /usr/local/bin/phpunit11 \
&& wget -O /usr/local/bin/phpunit12 https://phar.phpunit.de/phpunit-12.phar \
&& chmod +x /usr/local/bin/phpunit12 \
&& ln -s /usr/local/bin/phpunit11 /usr/local/bin/phpunit
RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
&& chmod +x /usr/local/bin/phpunit8 \
&& wget -O /usr/local/bin/phpunit9 https://phar.phpunit.de/phpunit-9.phar \
&& chmod +x /usr/local/bin/phpunit9 \
&& ln -s /usr/local/bin/phpunit9 /usr/local/bin/phpunit
# Install NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \
&& export NVM_DIR="/root/.nvm" \
&& . "$NVM_DIR/nvm.sh" \
&& nvm install node \
&& nvm alias default node \
&& nvm cache clear
&& nvm install 20 \
&& nvm alias default 20
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
@@ -78,7 +63,14 @@ ADD configs/php/nextcloud.ini /usr/local/etc/php/conf.d/nextcloud.ini
ADD configs/php/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
# Setup blackfire probe
RUN mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled
RUN wget -q -O - https://packages.blackfire.io/gpg.key | sudo apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" | sudo tee /etc/apt/sources.list.d/blackfire.list \
&& apt-get update \
&& (apt-get install -y --no-install-recommends blackfire \
&& mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled \
&& printf "\n\nblackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini) \
|| echo "Skipped blackfire as the installation failed" \
&& rm -rf /var/lib/apt/lists/*
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
@@ -93,16 +85,16 @@ VOLUME /var/www/html/apps-writable
VOLUME /var/www/html/config
VOLUME /var/www/html/data
ENV SQL=sqlite
ENV NEXTCLOUD_AUTOINSTALL=YES
ENV WITH_REDIS=NO
ENV SQL sqlite
ENV NEXTCLOUD_AUTOINSTALL YES
ENV WITH_REDIS NO
ENV WEBROOT=/var/www/html
ENV WEBROOT /var/www/html
WORKDIR /var/www/html
ENTRYPOINT ["/usr/local/bin/bootstrap.sh"]
CMD ["apache2-foreground"]
ADD data/installing.html /root/installing.html
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/storage.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD bin/bootstrap.sh bin/occ /usr/local/bin/
+21 -29
View File
@@ -29,37 +29,22 @@ RUN install-php-extensions \
# dev tools separate install so we quickly change without rebuilding all php extensions
RUN apt update && apt-get install -y --no-install-recommends \
git \
curl \
vim-tiny \
nano \
sudo \
cron \
smbclient \
iproute2 \
lnav \
wget \
iputils-ping \
gnupg2 \
jq \
ripgrep \
rsync \
git curl vim nano sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN wget -O /usr/local/bin/phpunit11 https://phar.phpunit.de/phpunit-11.phar \
&& chmod +x /usr/local/bin/phpunit11 \
&& wget -O /usr/local/bin/phpunit12 https://phar.phpunit.de/phpunit-12.phar \
&& chmod +x /usr/local/bin/phpunit12 \
&& ln -s /usr/local/bin/phpunit11 /usr/local/bin/phpunit
RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
&& chmod +x /usr/local/bin/phpunit8 \
&& wget -O /usr/local/bin/phpunit9 https://phar.phpunit.de/phpunit-9.phar \
&& chmod +x /usr/local/bin/phpunit9 \
&& ln -s /usr/local/bin/phpunit9 /usr/local/bin/phpunit
# Install NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \
&& export NVM_DIR="/root/.nvm" \
&& . "$NVM_DIR/nvm.sh" \
&& nvm install node \
&& nvm alias default node \
&& nvm cache clear
&& nvm install 20 \
&& nvm alias default 20
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
@@ -78,7 +63,14 @@ ADD configs/php/nextcloud.ini /usr/local/etc/php/conf.d/nextcloud.ini
ADD configs/php/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
# Setup blackfire probe
RUN mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled
RUN wget -q -O - https://packages.blackfire.io/gpg.key | sudo apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" | sudo tee /etc/apt/sources.list.d/blackfire.list \
&& apt-get update \
&& (apt-get install -y --no-install-recommends blackfire \
&& mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled \
&& printf "\n\nblackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini) \
|| echo "Skipped blackfire as the installation failed" \
&& rm -rf /var/lib/apt/lists/*
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
@@ -93,16 +85,16 @@ VOLUME /var/www/html/apps-writable
VOLUME /var/www/html/config
VOLUME /var/www/html/data
ENV SQL=sqlite
ENV NEXTCLOUD_AUTOINSTALL=YES
ENV WITH_REDIS=NO
ENV SQL sqlite
ENV NEXTCLOUD_AUTOINSTALL YES
ENV WITH_REDIS NO
ENV WEBROOT=/var/www/html
ENV WEBROOT /var/www/html
WORKDIR /var/www/html
ENTRYPOINT ["/usr/local/bin/bootstrap.sh"]
CMD ["apache2-foreground"]
ADD data/installing.html /root/installing.html
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/storage.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD bin/bootstrap.sh bin/occ /usr/local/bin/
+21 -29
View File
@@ -29,37 +29,22 @@ RUN install-php-extensions \
# dev tools separate install so we quickly change without rebuilding all php extensions
RUN apt update && apt-get install -y --no-install-recommends \
git \
curl \
vim-tiny \
nano \
sudo \
cron \
smbclient \
iproute2 \
lnav \
wget \
iputils-ping \
gnupg2 \
jq \
ripgrep \
rsync \
git curl vim nano sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN wget -O /usr/local/bin/phpunit11 https://phar.phpunit.de/phpunit-11.phar \
&& chmod +x /usr/local/bin/phpunit11 \
&& wget -O /usr/local/bin/phpunit12 https://phar.phpunit.de/phpunit-12.phar \
&& chmod +x /usr/local/bin/phpunit12 \
&& ln -s /usr/local/bin/phpunit11 /usr/local/bin/phpunit
RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
&& chmod +x /usr/local/bin/phpunit8 \
&& wget -O /usr/local/bin/phpunit9 https://phar.phpunit.de/phpunit-9.phar \
&& chmod +x /usr/local/bin/phpunit9 \
&& ln -s /usr/local/bin/phpunit9 /usr/local/bin/phpunit
# Install NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \
&& export NVM_DIR="/root/.nvm" \
&& . "$NVM_DIR/nvm.sh" \
&& nvm install node \
&& nvm alias default node \
&& nvm cache clear
&& nvm install 20 \
&& nvm alias default 20
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
@@ -78,7 +63,14 @@ ADD configs/php/nextcloud.ini /usr/local/etc/php/conf.d/nextcloud.ini
ADD configs/php/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
# Setup blackfire probe
RUN mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled
RUN wget -q -O - https://packages.blackfire.io/gpg.key | sudo apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" | sudo tee /etc/apt/sources.list.d/blackfire.list \
&& apt-get update \
&& (apt-get install -y --no-install-recommends blackfire \
&& mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled \
&& printf "\n\nblackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini) \
|| echo "Skipped blackfire as the installation failed" \
&& rm -rf /var/lib/apt/lists/*
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
@@ -93,16 +85,16 @@ VOLUME /var/www/html/apps-writable
VOLUME /var/www/html/config
VOLUME /var/www/html/data
ENV SQL=sqlite
ENV NEXTCLOUD_AUTOINSTALL=YES
ENV WITH_REDIS=NO
ENV SQL sqlite
ENV NEXTCLOUD_AUTOINSTALL YES
ENV WITH_REDIS NO
ENV WEBROOT=/var/www/html
ENV WEBROOT /var/www/html
WORKDIR /var/www/html
ENTRYPOINT ["/usr/local/bin/bootstrap.sh"]
CMD ["apache2-foreground"]
ADD data/installing.html /root/installing.html
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/storage.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD bin/bootstrap.sh bin/occ /usr/local/bin/
+1 -5
View File
@@ -227,11 +227,7 @@ configure_add_user() {
install() {
if [ -n "$VIRTUAL_HOST" ]; then
DBNAME=$(echo "$VIRTUAL_HOST" | cut -d '.' -f1)
else
DBNAME="nextcloud"
fi
DBNAME=$(echo "$VIRTUAL_HOST" | cut -d '.' -f1)
SQLHOST="database-$SQL"
echo "database name will be $DBNAME"
-46
View File
@@ -109,49 +109,3 @@ if ($primary === 'minio-multibucket') {
),
];
}
if ($primary === 'rustfs') {
$CONFIG += [
'objectstore' =>
array (
'class' => 'OC\\Files\\ObjectStore\\S3',
'arguments' =>
array (
'bucket' => 'nc-' . $hostname,
'key' => 'nextcloud',
'secret' => 'nextcloud',
'hostname' => 'rustfs.local',
'port' => '80',
'proxy' => 'rustfs:9000',
'use_ssl' => false,
'use_path_style' => true,
'use_presigned_url' => true,
'autocreate' => true,
'verify_bucket_exists' => true,
),
)
];
}
if ($primary === 'rustfs-multibucket') {
$CONFIG += [
'objectstore_multibucket' => array(
'class' => 'OC\\Files\\ObjectStore\\S3',
'arguments' => array(
// optional, defaults to 64
'num_buckets' => 64,
// n integer in the range from 0 to (num_buckets-1) will be appended
'bucket' => 'nc-' . $hostname,
'key' => 'nextcloud',
'secret' => 'nextcloud',
'hostname' => 'rustfs.local',
'port' => '80',
'proxy' => 'rustfs:9000',
'use_presigned_url' => true,
'use_ssl' => false,
'use_path_style' => true,
),
),
];
}
@@ -511,7 +511,7 @@
"containerId" : "6b350bb7-8ea6-438b-be38-fb58f6523f45",
"attributes" : { }
} ],
"http://nextcloud.local/index.php/apps/user_saml/saml/metadata" : [ ]
"http://nextcloud.dev.local/index.php/apps/user_saml/saml/metadata" : [ ]
}
},
"groups" : [ ],
@@ -689,15 +689,15 @@
"optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
}, {
"id" : "555c2809-b153-4cf4-8bb1-a6306e5179c7",
"clientId" : "http://nextcloud.local/index.php/apps/user_saml/saml/metadata",
"adminUrl" : "http://keycloak.local/auth/realms/Example",
"clientId" : "http://nextcloud.dev.local/index.php/apps/user_saml/saml/metadata",
"adminUrl" : "http://keycloak.dev.local/auth/realms/Example",
"surrogateAuthRequired" : false,
"enabled" : true,
"alwaysDisplayInConsole" : false,
"clientAuthenticatorType" : "client-secret",
"secret" : "FipRMpAHMklMkZtbQfAKkUhxe7gkRZzR",
"redirectUris" : [ "http://nextcloud.local/index.php/apps/user_saml/saml/acs" ],
"webOrigins" : [ "http://nextcloud.local" ],
"redirectUris" : [ "http://nextcloud.dev.local/index.php/apps/user_saml/saml/acs" ],
"webOrigins" : [ "http://nextcloud.dev.local" ],
"notBefore" : 0,
"bearerOnly" : false,
"consentRequired" : false,
@@ -713,12 +713,12 @@
"client.secret.creation.time" : "1670752721",
"saml.force.post.binding" : "true",
"post.logout.redirect.uris" : "+",
"saml_assertion_consumer_url_post" : "http://nextcloud.local/index.php/apps/user_saml/saml/acs",
"saml_assertion_consumer_url_post" : "http://nextcloud.dev.local/index.php/apps/user_saml/saml/acs",
"saml.server.signature" : "true",
"saml.server.signature.keyinfo.ext" : "false",
"saml.signing.certificate" : "MIICvjCCAaYCCQDS+w+GXVpJsDANBgkqhkiG9w0BAQsFADAhMQswCQYDVQQGEwJERTESMBAGA1UECgwJZGV2LmxvY2FsMB4XDTIyMTIxMDA1MjgxMloXDTIzMDEwOTA1MjgxMlowITELMAkGA1UEBhMCREUxEjAQBgNVBAoMCWRldi5sb2NhbDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOXPQ1YfI0aNUJEVdqFprGGtVMCZ5WIQsk7elS2KqljCHFX6eqpFR8FrQoZgcDVsi4zjX85bAdCPAW2ikfk5hNOypeJx1WSr7mtg/60p0m/T5Lim4QBCyItSARYulV9KYEijIYadTiFQJRE0PJKijlyOZ69FRt3lG+3vqE5xgQc+ZA59Pex7fB/R9jWwORxRMrzZQDP7cvKkvOlq13mR5WbCQkLXG0n6Fd2/Av27TNEP8gkITUlkrv7DkKoHcBRpUGLBuod+C/GM9aZYXxtlIStyIkz27ulsU7+VdNympFkEL+vzRrptW/S0C0RT4xKBbFeA+pCwgoIMeJsnBaAP2OkCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAOJ3+a1d06LN83gh3iNEvwWNudKVPi7MvyltW2WVBzQBoN2wCYC0crl7PRxXqACvpw2nE2qZaJ0KrrbVWUVMf2lAwRKk4g2F3WcwBjqakWwWEgIDuocLt1WX5nHbI6hb9E2jAwa8wpYbAiRQF5HnZGxI+1ZXKROZvhOPIiAVTv4jTPGr5lgxJ1lKqnVRfKIHZlPWPFGTmuwSkuq+9lwqp/HdCOIiV54c5yi0XBMvEjLhqoE5cxSVNswLF7thD7B2E1NTpyH83Z7rHtK/HDHinUVfOTKhnt15JAf2I2zwh9HErW/Bz4zQlmmBL0uMpgOjTix9h55p2JMuM7/Bd7ng2Dg==",
"saml.artifact.binding.identifier" : "0TDhGxUTNYmRM8Yd/PcR55vLtAs=",
"saml_single_logout_service_url_redirect" : "http://nextcloud.local/index.php/apps/user_saml/saml/sls",
"saml_single_logout_service_url_redirect" : "http://nextcloud.dev.local/index.php/apps/user_saml/saml/sls",
"saml.signature.algorithm" : "RSA_SHA256",
"saml_force_name_id_format" : "false",
"saml.client.signature" : "true",
@@ -775,15 +775,15 @@
}, {
"id" : "a7bab497-e991-491b-aae2-785f049cf361",
"clientId" : "nextcloud",
"rootUrl" : "http://nextcloud.local",
"adminUrl" : "http://nextcloud.local",
"rootUrl" : "https://nextcloud.dev.local",
"adminUrl" : "https://nextcloud.dev.local",
"surrogateAuthRequired" : false,
"enabled" : true,
"alwaysDisplayInConsole" : false,
"clientAuthenticatorType" : "client-secret",
"secret" : "09e3c268-d8bc-42f1-b7c6-74d307ef5fde",
"redirectUris" : [ "http://nextcloud.local/*" ],
"webOrigins" : [ "http://nextcloud.local" ],
"redirectUris" : [ "https://nextcloud.dev.local/*" ],
"webOrigins" : [ "https://nextcloud.dev.local" ],
"notBefore" : 0,
"bearerOnly" : false,
"consentRequired" : false,
+52
View File
@@ -0,0 +1,52 @@
<?php
// FIXME: Move everything except the last part to the containers
// set the hostname to the VIRTUAL_HOST set for the docker container, otherwise fallback to the docker hostname
$hostname = gethostname();
$primary = isset($_ENV['PRIMARY']) ? $_ENV['PRIMARY'] : '';
$virtualHost = isset($_ENV['VIRTUAL_HOST']) ? $_ENV['VIRTUAL_HOST'] : '';
$virtualHost = explode(".", $virtualHost);
if (count($virtualHost) > 0) {
$hostname = array_shift($virtualHost);
}
$CONFIG = [];
if ($primary === 'minio') {
$CONFIG += [
'objectstore' =>
array (
'class' => 'OC\\Files\\ObjectStore\\S3',
'arguments' =>
array (
'bucket' => 'nc-' . $hostname,
'key' => 'nextcloud',
'secret' => 'nextcloud',
'hostname' => 'minio',
'port' => '9000',
'use_ssl' => false,
'use_path_style' => true,
'autocreate' => true,
'verify_bucket_exists' => true,
),
)
];
}
if ($primary === 'minio-multibucket') {
$CONFIG += [
'objectstore_multibucket' => array(
'class' => 'OC\\Files\\ObjectStore\\S3',
'arguments' => array(
// optional, defaults to 64
'num_buckets' => 64,
// n integer in the range from 0 to (num_buckets-1) will be appended
'bucket' => 'nc-' . $hostname,
'key' => 'nextcloud',
'secret' => 'nextcloud',
'hostname' => 'minio',
'port' => '9000',
'use_ssl' => false,
'use_path_style' => true,
),
),
];
}
@@ -21,7 +21,7 @@ $config = array(
* external url, no matter where you come from (direct access or via the
* reverse proxy).
*/
'baseurlpath' => 'https://sso.local/simplesaml/',
'baseurlpath' => 'https://sso.local.dev.bitgrid.net/simplesaml/',
'certdir' => 'cert/',
'loggingdir' => 'log/',
'datadir' => 'data/',
@@ -1,6 +1,6 @@
<?php
$metadata['https://nextcloud.local/index.php/apps/user_saml/saml/metadata'] = array (
'entityid' => 'https://nextcloud.local/index.php/apps/user_saml/saml/metadata',
$metadata['https://nextcloud.local.dev.bitgrid.net/index.php/apps/user_saml/saml/metadata'] = array (
'entityid' => 'https://nextcloud.local.dev.bitgrid.net/index.php/apps/user_saml/saml/metadata',
'contacts' =>
array (
),
@@ -11,7 +11,7 @@ $metadata['https://nextcloud.local/index.php/apps/user_saml/saml/metadata'] = ar
0 =>
array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
'Location' => 'https://nextcloud.local/index.php/apps/user_saml/saml/acs',
'Location' => 'https://nextcloud.local.dev.bitgrid.net/index.php/apps/user_saml/saml/acs',
'index' => 1,
),
),
@@ -20,7 +20,7 @@ $metadata['https://nextcloud.local/index.php/apps/user_saml/saml/metadata'] = ar
0 =>
array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
'Location' => 'https://nextcloud.local/index.php/apps/user_saml/saml/sls',
'Location' => 'https://nextcloud.local.dev.bitgrid.net/index.php/apps/user_saml/saml/sls',
),
),
'NameIDFormat' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified',
@@ -36,4 +36,4 @@ $metadata['https://nextcloud.local/index.php/apps/user_saml/saml/metadata'] = ar
),
'validate.authnrequest' => false,
'saml20.sign.assertion' => false,
);
);
-9
View File
@@ -1,9 +0,0 @@
FROM quay.io/keycloak/keycloak:26.4
RUN mkdir -p /opt/keycloak/data/import
ADD keycloak/Example-realm.json /opt/keycloak/data/import/Example-realm.json
ADD keycloak/prepare.sh /opt/keycloak/bin/custom-kc.sh
ENTRYPOINT ["/opt/keycloak/bin/custom-kc.sh"]
-26
View File
@@ -1,26 +0,0 @@
#!/bin/bash
KEYCLOAK_REALM_CONFIG="/opt/keycloak/data/import/Example-realm.json"
PROTOCOL="${PROTOCOL:-http}"
NEXTCLOUD_URL=${PROTOCOL}://${NEXTCLOUD_URL:-nextcloud}${DOMAIN_SUFFIX}
KEYCLOAK_URL=${PROTOCOL}://${KEYCLOAK_URL:-keycloak}${DOMAIN_SUFFIX}
if [ -f "$KEYCLOAK_REALM_CONFIG" ]; then
echo "Preparing Keycloak realm configuration..."
echo "Using NEXTCLOUD_URL: ${NEXTCLOUD_URL}"
echo "Using KEYCLOAK_URL: ${KEYCLOAK_URL}"
# Replace placeholder with actual NEXTCLOUD_URL
sed -i.bak "s|http://nextcloud\\.local|${NEXTCLOUD_URL//./\\.}|g" "$KEYCLOAK_REALM_CONFIG"
sed -i.bak "s|http://keycloak\\.local|${KEYCLOAK_URL//./\\.}|g" "$KEYCLOAK_REALM_CONFIG"
rm -f "${KEYCLOAK_REALM_CONFIG}.bak"
cat "$KEYCLOAK_REALM_CONFIG"
echo "Realm configuration prepared."
else
echo "Realm configuration file not found: $KEYCLOAK_REALM_CONFIG"
fi
exec /opt/keycloak/bin/kc.sh "$@"
+1 -8
View File
@@ -5,11 +5,4 @@ proxy_read_timeout 3600;
proxy_send_timeout 3600;
proxy_connect_timeout 3600;
#proxy_http_version 1.1;
#proxy_set_header Upgrade $http_upgrade;
#proxy_set_header Connection "Upgrade";
proxy_set_header X-Forwarded-Proto https;
# FIXME: remove this when onlyoffice is fixed https to http proxying
# https://github.com/ONLYOFFICE/DocumentServer/issues/2186
proxy_set_header CloudFront-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
-11
View File
@@ -1,11 +0,0 @@
# VERSION 0.1.0
# Based on https://github.com/JanNash/docker_noop
FROM alpine:latest AS builder
COPY noop/noop.c /
RUN apk add --no-cache gcc musl-dev && gcc -static -o /noop /noop.c
FROM scratch
COPY --from=builder /noop /noop
CMD ["/noop"]
-5
View File
@@ -1,5 +0,0 @@
#include <stdlib.h>
int main() {
exit(0);
}
+21 -29
View File
@@ -29,37 +29,22 @@ RUN install-php-extensions \
# dev tools separate install so we quickly change without rebuilding all php extensions
RUN apt update && apt-get install -y --no-install-recommends \
git \
curl \
vim-tiny \
nano \
sudo \
cron \
smbclient \
iproute2 \
lnav \
wget \
iputils-ping \
gnupg2 \
jq \
ripgrep \
rsync \
git curl vim nano sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN wget -O /usr/local/bin/phpunit11 https://phar.phpunit.de/phpunit-11.phar \
&& chmod +x /usr/local/bin/phpunit11 \
&& wget -O /usr/local/bin/phpunit12 https://phar.phpunit.de/phpunit-12.phar \
&& chmod +x /usr/local/bin/phpunit12 \
&& ln -s /usr/local/bin/phpunit11 /usr/local/bin/phpunit
RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
&& chmod +x /usr/local/bin/phpunit8 \
&& wget -O /usr/local/bin/phpunit9 https://phar.phpunit.de/phpunit-9.phar \
&& chmod +x /usr/local/bin/phpunit9 \
&& ln -s /usr/local/bin/phpunit9 /usr/local/bin/phpunit
# Install NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \
&& export NVM_DIR="/root/.nvm" \
&& . "$NVM_DIR/nvm.sh" \
&& nvm install node \
&& nvm alias default node \
&& nvm cache clear
&& nvm install 20 \
&& nvm alias default 20
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
@@ -78,7 +63,14 @@ ADD configs/php/nextcloud.ini /usr/local/etc/php/conf.d/nextcloud.ini
ADD configs/php/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
# Setup blackfire probe
RUN mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled
RUN wget -q -O - https://packages.blackfire.io/gpg.key | sudo apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" | sudo tee /etc/apt/sources.list.d/blackfire.list \
&& apt-get update \
&& (apt-get install -y --no-install-recommends blackfire \
&& mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled \
&& printf "\n\nblackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini) \
|| echo "Skipped blackfire as the installation failed" \
&& rm -rf /var/lib/apt/lists/*
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
@@ -93,16 +85,16 @@ VOLUME /var/www/html/apps-writable
VOLUME /var/www/html/config
VOLUME /var/www/html/data
ENV SQL=sqlite
ENV NEXTCLOUD_AUTOINSTALL=YES
ENV WITH_REDIS=NO
ENV SQL sqlite
ENV NEXTCLOUD_AUTOINSTALL YES
ENV WITH_REDIS NO
ENV WEBROOT=/var/www/html
ENV WEBROOT /var/www/html
WORKDIR /var/www/html
ENTRYPOINT ["/usr/local/bin/bootstrap.sh"]
CMD ["apache2-foreground"]
ADD data/installing.html /root/installing.html
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/storage.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD bin/bootstrap.sh bin/occ /usr/local/bin/
+21 -29
View File
@@ -29,37 +29,22 @@ RUN install-php-extensions \
# dev tools separate install so we quickly change without rebuilding all php extensions
RUN apt update && apt-get install -y --no-install-recommends \
git \
curl \
vim-tiny \
nano \
sudo \
cron \
smbclient \
iproute2 \
lnav \
wget \
iputils-ping \
gnupg2 \
jq \
ripgrep \
rsync \
git curl vim nano sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN wget -O /usr/local/bin/phpunit11 https://phar.phpunit.de/phpunit-11.phar \
&& chmod +x /usr/local/bin/phpunit11 \
&& wget -O /usr/local/bin/phpunit12 https://phar.phpunit.de/phpunit-12.phar \
&& chmod +x /usr/local/bin/phpunit12 \
&& ln -s /usr/local/bin/phpunit11 /usr/local/bin/phpunit
RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
&& chmod +x /usr/local/bin/phpunit8 \
&& wget -O /usr/local/bin/phpunit9 https://phar.phpunit.de/phpunit-9.phar \
&& chmod +x /usr/local/bin/phpunit9 \
&& ln -s /usr/local/bin/phpunit9 /usr/local/bin/phpunit
# Install NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \
&& export NVM_DIR="/root/.nvm" \
&& . "$NVM_DIR/nvm.sh" \
&& nvm install node \
&& nvm alias default node \
&& nvm cache clear
&& nvm install 20 \
&& nvm alias default 20
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
@@ -78,7 +63,14 @@ ADD configs/php/nextcloud.ini /usr/local/etc/php/conf.d/nextcloud.ini
ADD configs/php/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
# Setup blackfire probe
RUN mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled
RUN wget -q -O - https://packages.blackfire.io/gpg.key | sudo apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" | sudo tee /etc/apt/sources.list.d/blackfire.list \
&& apt-get update \
&& (apt-get install -y --no-install-recommends blackfire \
&& mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled \
&& printf "\n\nblackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini) \
|| echo "Skipped blackfire as the installation failed" \
&& rm -rf /var/lib/apt/lists/*
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
@@ -93,16 +85,16 @@ VOLUME /var/www/html/apps-writable
VOLUME /var/www/html/config
VOLUME /var/www/html/data
ENV SQL=sqlite
ENV NEXTCLOUD_AUTOINSTALL=YES
ENV WITH_REDIS=NO
ENV SQL sqlite
ENV NEXTCLOUD_AUTOINSTALL YES
ENV WITH_REDIS NO
ENV WEBROOT=/var/www/html
ENV WEBROOT /var/www/html
WORKDIR /var/www/html
ENTRYPOINT ["/usr/local/bin/bootstrap.sh"]
CMD ["apache2-foreground"]
ADD data/installing.html /root/installing.html
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/storage.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD bin/bootstrap.sh bin/occ /usr/local/bin/
+21 -29
View File
@@ -29,37 +29,22 @@ RUN install-php-extensions \
# dev tools separate install so we quickly change without rebuilding all php extensions
RUN apt update && apt-get install -y --no-install-recommends \
git \
curl \
vim-tiny \
nano \
sudo \
cron \
smbclient \
iproute2 \
lnav \
wget \
iputils-ping \
gnupg2 \
jq \
ripgrep \
rsync \
git curl vim nano sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN wget -O /usr/local/bin/phpunit11 https://phar.phpunit.de/phpunit-11.phar \
&& chmod +x /usr/local/bin/phpunit11 \
&& wget -O /usr/local/bin/phpunit12 https://phar.phpunit.de/phpunit-12.phar \
&& chmod +x /usr/local/bin/phpunit12 \
&& ln -s /usr/local/bin/phpunit11 /usr/local/bin/phpunit
RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
&& chmod +x /usr/local/bin/phpunit8 \
&& wget -O /usr/local/bin/phpunit9 https://phar.phpunit.de/phpunit-9.phar \
&& chmod +x /usr/local/bin/phpunit9 \
&& ln -s /usr/local/bin/phpunit9 /usr/local/bin/phpunit
# Install NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \
&& export NVM_DIR="/root/.nvm" \
&& . "$NVM_DIR/nvm.sh" \
&& nvm install node \
&& nvm alias default node \
&& nvm cache clear
&& nvm install 20 \
&& nvm alias default 20
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
@@ -78,7 +63,14 @@ ADD configs/php/nextcloud.ini /usr/local/etc/php/conf.d/nextcloud.ini
ADD configs/php/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
# Setup blackfire probe
RUN mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled
RUN wget -q -O - https://packages.blackfire.io/gpg.key | sudo apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" | sudo tee /etc/apt/sources.list.d/blackfire.list \
&& apt-get update \
&& (apt-get install -y --no-install-recommends blackfire \
&& mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled \
&& printf "\n\nblackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini) \
|| echo "Skipped blackfire as the installation failed" \
&& rm -rf /var/lib/apt/lists/*
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
@@ -93,16 +85,16 @@ VOLUME /var/www/html/apps-writable
VOLUME /var/www/html/config
VOLUME /var/www/html/data
ENV SQL=sqlite
ENV NEXTCLOUD_AUTOINSTALL=YES
ENV WITH_REDIS=NO
ENV SQL sqlite
ENV NEXTCLOUD_AUTOINSTALL YES
ENV WITH_REDIS NO
ENV WEBROOT=/var/www/html
ENV WEBROOT /var/www/html
WORKDIR /var/www/html
ENTRYPOINT ["/usr/local/bin/bootstrap.sh"]
CMD ["apache2-foreground"]
ADD data/installing.html /root/installing.html
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/storage.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD bin/bootstrap.sh bin/occ /usr/local/bin/
-108
View File
@@ -1,108 +0,0 @@
FROM php:8.5-apache
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN install-php-extensions \
apcu \
bcmath \
excimer \
exif \
gd \
gmp \
intl \
ldap \
memcached \
oci8 \
opcache \
pcntl \
pdo_mysql \
pdo_pgsql \
redis \
smbclient \
sysvsem \
xdebug \
zip \
blackfire \
@composer
# dev tools separate install so we quickly change without rebuilding all php extensions
RUN apt update && apt-get install -y --no-install-recommends \
git \
curl \
vim-tiny \
nano \
sudo \
cron \
smbclient \
iproute2 \
lnav \
wget \
iputils-ping \
gnupg2 \
jq \
ripgrep \
rsync \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN wget -O /usr/local/bin/phpunit11 https://phar.phpunit.de/phpunit-11.phar \
&& chmod +x /usr/local/bin/phpunit11 \
&& wget -O /usr/local/bin/phpunit12 https://phar.phpunit.de/phpunit-12.phar \
&& chmod +x /usr/local/bin/phpunit12 \
&& ln -s /usr/local/bin/phpunit11 /usr/local/bin/phpunit
# Install NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \
&& export NVM_DIR="/root/.nvm" \
&& . "$NVM_DIR/nvm.sh" \
&& nvm install node \
&& nvm alias default node \
&& nvm cache clear
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
RUN { \
echo '[global]'; \
echo 'client min protocol = SMB2'; \
echo 'client max protocol = SMB3'; \
echo 'hide dot files = no'; \
} > /etc/samba/smb.conf
RUN mkdir --parent /var/log/cron
ADD configs/cron.conf /etc/nc-cron.conf
RUN crontab /etc/nc-cron.conf
ADD configs/php/nextcloud.ini /usr/local/etc/php/conf.d/nextcloud.ini
ADD configs/php/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
# Setup blackfire probe
RUN mv /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini /usr/local/etc/php/conf.d/docker-php-ext-blackfire.ini.disabled
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
# mod_rewrite
RUN a2enmod rewrite headers
# increase limit request body
RUN echo "LimitRequestBody 0" > /etc/apache2/conf-available/limit-request-body.conf && a2enconf limit-request-body
VOLUME /var/www/html
VOLUME /var/www/html/apps-writable
VOLUME /var/www/html/config
VOLUME /var/www/html/data
ENV SQL=sqlite
ENV NEXTCLOUD_AUTOINSTALL=YES
ENV WITH_REDIS=NO
ENV WEBROOT=/var/www/html
WORKDIR /var/www/html
ENTRYPOINT ["/usr/local/bin/bootstrap.sh"]
CMD ["apache2-foreground"]
ADD data/installing.html /root/installing.html
ADD configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/default.config.php configs/redis.config.php configs/apcu.config.php /root/
ADD bin/bootstrap.sh bin/occ /usr/local/bin/
+1 -5
View File
@@ -1,10 +1,6 @@
FROM alpine
RUN apk add curl jq \
&& latest_tag=$(curl -Ls https://api.github.com/repos/nextcloud/notify_push/releases/latest | jq -r '.tag_name') \
&& wget https://github.com/nextcloud/notify_push/releases/download/${latest_tag}/notify_push-`uname -m`-unknown-linux-musl -O /notify_push \
&& chmod +x /notify_push \
&& /notify_push --version
RUN wget https://github.com/nextcloud/notify_push/releases/download/v0.6.3/notify_push-`uname -m`-unknown-linux-musl -O /notify_push && chmod +x /notify_push && /notify_push --version
EXPOSE 7867
+3 -3
View File
@@ -17,17 +17,17 @@ For app development you can mount your app directly into the container:
```bash
docker run --rm -p 8080:80 \
-v ~/path/to/appid:/var/www/html/apps-extra/appid \
ghcr.io/juliusknorr/nextcloud-dev-php81:latest
ghcr.io/juliusknorr/nextcloud-dev-php80:latest
```
The `SERVER_BRANCH` environment variable can be used to run different versions of Nextcloud by specifying either a server branch or git tag.
```bash
docker run --rm -p 8080:80 -e SERVER_BRANCH=v32.0.1 ghcr.io/juliusknorr/nextcloud-dev-php81:latest
docker run --rm -p 8080:80 -e SERVER_BRANCH=v24.0.1 ghcr.io/juliusknorr/nextcloud-dev-php80:latest
```
You can also mount your local server source code into the container to run a local version of Nextcloud:
```bash
docker run --rm -p 8080:80 -e SERVER_BRANCH=v32.0.1 -v /tmp/server:/var/www/html ghcr.io/juliusknorr/nextcloud-dev-php81:latest
docker run --rm -p 8080:80 -e SERVER_BRANCH=v24.0.1 -v /tmp/server:/var/www/html ghcr.io/juliusknorr/nextcloud-dev-php80:latest
```
+2 -2
View File
@@ -14,7 +14,7 @@ docker compose up -d appapi-dsp
After the DSP container is running, configure the Deploy daemon in AppAPI admin settings with the following parameters:
- **Host**: `http://nextcloud-appapi-dsp-http:2375`
- **Host**: `http://appapi-dsp:2375`
- **Nextcloud URL**: `http://nextcloud.local` (locally always use http)
- **Enable https**: `false`
- **Network**: `master_default` (the network of nextcloud-docker-dev docker-compose, by default it is `master_default`)
@@ -23,7 +23,7 @@ After the DSP container is running, configure the Deploy daemon in AppAPI admin
or via OCC CLI:
```bash
./scripts/occ.sh nextcloud -- app_api:daemon:register dsp_http "DSP HTTP" docker-install http "nextcloud-appapi-dsp-http" "http://nextcloud.local" --net=master_default --set-default
./scripts/occ.sh nextcloud -- app_api:daemon:register dsp_http "DSP" docker-install http "appapi-dsp:2375" "https://nextcloud.local" --set-default --haproxy_password some_secure_password --net nextcloud_default
```
## HTTPS AppAPI DSP
-28
View File
@@ -1,28 +0,0 @@
# Notify Push service
Prepare your setup:
* Setup your server with https.
* Install `notify_push` app.
* Start `push` alongside the other services:
```
docker compose up nextcloud proxy push
```
Configure `notify_push` on the nextcloud instance:
* Configure the `notify_push` url:
```
./occ notify_push:setup http://push:7867/push
```
Once `notify_push:setup` finishes you can test the setup:
```bash
./occ notify_push:self-test
```
## Fixing problems:
If the version does not match:
* Alter `docker/push/Dockerfile`.
* Rebuild the image (`docker build .`).
* Replace the push image in `docker-compose.yml`.
* Tear down and restart the push service.
+6 -61
View File
@@ -1,61 +1,6 @@
# S3 / Object storage
S3-compatible object storage can be easily tested with the included containers. Two options are available:
- **rustfs** (recommended) - A fast, lightweight S3-compatible object storage server written in Rust
- **minio** - Abandoned S3-compatible object storage server (open-source version moved to maintenance-only mode with stripped-down UI)
## rustfs (Recommended)
rustfs is the preferred option for development and testing due to its performance and simplicity.
### Starting rustfs
Start the container using the following command:
```bash
docker compose up -d rustfs
```
### Primary object storage
Primary object storage can be enabled by setting the `PRIMARY=rustfs` environment variable either in your `.env` file or in `docker-compose.yml` for individual containers.
```bash
PRIMARY=rustfs docker compose up nextcloud rustfs
```
### External object storage
External storage can be configured in the Nextcloud admin settings (configuration labels may depend on app version).
This is an example configuration for the `nc-external` bucket, buckets will be automatically created so you can name any bucket you like:
General:
- External storage: `S3 Storage`
- Authentication: `Static credentials` / `Access Key`
Storage configuration:
- Bucket: `nc-external`
- Hostname: `rustfs`
- Port: `9000`
- Enable SSL: `No`
- Enable Path Style: `Yes`
- Use Legacy S3 signing (v2) / Legacy (v2) Authentication: `No`
Authentication:
- Access Key: `nextcloud`
- Secret Key: `nextcloud`
### Accessing rustfs console
rustfs can be accessed via the browser at <http://rustfs.local> with the following credentials:
- Username: `nextcloud`
- Password: `nextcloud`
## Minio (Alternative)
Minio is a more feature-rich alternative with additional management capabilities. However, critics often point to recent controversial changes, including shifting to a maintenance-only mode for the open-source version and stripping down the UI. For these reasons, rustfs is now the recommended choice for most development workflows.
### Starting Minio
S3 can be easily tested with the included container running Minio. This is a self-hosted S3-compatible object storage server.
Start the container using the following command:
@@ -63,15 +8,15 @@ Start the container using the following command:
docker compose up -d minio
```
### Primary object storage
## Primary object storage
Primary object storage can be enabled by setting the `PRIMARY=minio` environment variable either in your `.env` file or in `docker-compose.yml` for individual containers.
```bash
PRIMARY=minio docker compose up nextcloud minio
docker compose up nextcloud minio
```
### External object storage
## External object storage
External storage can be configured in the Nextcloud admin settings. This is an example configuration for the `nc-external` bucket, buckets will be autocreated so you can name any bucket you like:
@@ -85,14 +30,14 @@ External storage can be configured in the Nextcloud admin settings. This is an e
- Access Key: `nextcloud`
- Secret Key: `nextcloud`
### Accessing Minio
## Accessing Minio
Minio can be accessed via the browser at <http://minio.local> with the following credentials:
- Username: `nextcloud`
- Password: `nextcloud`
### Using mc command line
## Using mc command line
This can be useful for admin operations like setting a bucket quota on the `nc-external` bucket name:
+5 -14
View File
@@ -4,20 +4,11 @@
## [Keycloak](https://www.keycloak.org/)
- Keycloak is using LDAP as a user backend (make sure the LDAP container is also running)
- If you have ssl enabled please modify the example realm config accordingly in `docker/configs/keycloak/Example-realm.json`
- `occ user_oidc:provider Keycloak -c nextcloud -s 09e3c268-d8bc-42f1-b7c6-74d307ef5fde -d http://keycloak.local/auth/realms/Example/.well-known/openid-configuration`
- <http://keycloak.local/auth/realms/Example/.well-known/openid-configuration>
- `occ user_oidc:provider Keycloak -c nextcloud -s 09e3c268-d8bc-42f1-b7c6-74d307ef5fde -d http://keycloak.dev.local/auth/realms/Example/.well-known/openid-configuration`
- <http://keycloak.dev.local/auth/realms/Example/.well-known/openid-configuration>
- nextcloud
- 09e3c268-d8bc-42f1-b7c6-74d307ef5fde
## Authentik
```
docker compose up -d proxy nextcloud authentik
```
The server will be available on [http://authentik.local:9000](http://authentik.local:9000) and you can follow [authentik documentation](https://integrations.goauthentik.io/chat-communication-collaboration/nextcloud/) to understand how to configure Nextcloud with SAML (but also OIDC and LDAP).
## SAML
```
@@ -25,9 +16,9 @@ docker compose up -d proxy nextcloud saml
```
- uid mapping: `urn:oid:0.9.2342.19200300.100.1.1`
- idp entity id: `https://sso.local/simplesaml/saml2/idp/metadata.php`
- Single Sign-On (SSO) service url: `https://sso.local/simplesaml/saml2/idp/SSOService.php`
- single log out service url: `https://sso.local/simplesaml/saml2/idp/SingleLogoutService.php`
- idp entity id: `https://sso.local.dev.bitgrid.net/simplesaml/saml2/idp/metadata.php`
- Single Sign-On (SSO) service url: `https://sso.local.dev.bitgrid.net/simplesaml/saml2/idp/SSOService.php`
- single log out service url: `https://sso.local.dev.bitgrid.net/simplesaml/saml2/idp/SingleLogoutService.php`
- use certificate from `docker/configs/var-simplesamlphp/cert/example.org.crt`
```
-4
View File
@@ -53,10 +53,6 @@ SQL=mysql
# the entries none, develop, debug, trace, and profile.
PHP_XDEBUG_MODE=develop
# Docker socket location, use it when you run rootless Docker
# Replace "1000" with the uid used by your Docker engine (default $(id -u))
# DOCKER_SOCKET=/run/user/1000/docker.sock
# Nextcloud AppAPI Docker Socket Proxy
# ------------------------------------
# NC_HAPROXY_PASSWORD=some_secure_password
-2
View File
@@ -29,5 +29,3 @@ occ onlyoffice:documentserver --check
docker_compose exec onlyoffice /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
docker_compose exec onlyoffice supervisorctl start ds:example
+2 -2
View File
@@ -7,13 +7,13 @@ test.beforeEach(async ({ page }) => {
test.describe('New Todo', () => {
test('see the nextcloud login page', async ({ page }) => {
await expect(page).toHaveTitle('Login Nextcloud');
await expect(page).toHaveTitle('Login Nextcloud');
});
test('login to nextcloud as admin', async ({ page }) => {
await page.fill('#user', 'admin');
await page.fill('#password', 'admin');
await page.getByRole('button', { name: 'Log in', exact: true }).click();
await page.getByRole('button', { name: 'Log in' }).click();
await page.goto('http://nextcloud.local/index.php/apps/files');
});
});
+24 -30
View File
@@ -9,34 +9,32 @@
"version": "1.0.0",
"license": "ISC",
"devDependencies": {
"@playwright/test": "^1.52.0",
"@types/node": "^22.15.30"
"@playwright/test": "^1.40.1",
"@types/node": "^20.10.2"
}
},
"node_modules/@playwright/test": {
"version": "1.56.1",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.56.1.tgz",
"integrity": "sha512-vSMYtL/zOcFpvJCW71Q/OEGQb7KYBPAdKh35WNSkaZA75JlAO8ED8UN6GUNTm3drWomcbcqRPFqQbLae8yBTdg==",
"version": "1.40.1",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.40.1.tgz",
"integrity": "sha512-EaaawMTOeEItCRvfmkI9v6rBkF1svM8wjl/YPRrg2N2Wmp+4qJYkWtJsbew1szfKKDm6fPLy4YAanBhIlf9dWw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"playwright": "1.56.1"
"playwright": "1.40.1"
},
"bin": {
"playwright": "cli.js"
},
"engines": {
"node": ">=18"
"node": ">=16"
}
},
"node_modules/@types/node": {
"version": "22.15.30",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.30.tgz",
"integrity": "sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==",
"version": "20.10.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.2.tgz",
"integrity": "sha512-37MXfxkb0vuIlRKHNxwCkb60PNBpR94u4efQuN4JgIAm66zfCDXGSAFCef9XUWFovX2R1ok6Z7MHhtdVXXkkIw==",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~6.21.0"
"undici-types": "~5.26.4"
}
},
"node_modules/fsevents": {
@@ -45,7 +43,6 @@
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
@@ -55,43 +52,40 @@
}
},
"node_modules/playwright": {
"version": "1.56.1",
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.56.1.tgz",
"integrity": "sha512-aFi5B0WovBHTEvpM3DzXTUaeN6eN0qWnTkKx4NQaH4Wvcmc153PdaY2UBdSYKaGYw+UyWXSVyxDUg5DoPEttjw==",
"version": "1.40.1",
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.40.1.tgz",
"integrity": "sha512-2eHI7IioIpQ0bS1Ovg/HszsN/XKNwEG1kbzSDDmADpclKc7CyqkHw7Mg2JCz/bbCxg25QUPcjksoMW7JcIFQmw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"playwright-core": "1.56.1"
"playwright-core": "1.40.1"
},
"bin": {
"playwright": "cli.js"
},
"engines": {
"node": ">=18"
"node": ">=16"
},
"optionalDependencies": {
"fsevents": "2.3.2"
}
},
"node_modules/playwright-core": {
"version": "1.56.1",
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.56.1.tgz",
"integrity": "sha512-hutraynyn31F+Bifme+Ps9Vq59hKuUCz7H1kDOcBs+2oGguKkWTU50bBWrtz34OUWmIwpBTWDxaRPXrIXkgvmQ==",
"version": "1.40.1",
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.40.1.tgz",
"integrity": "sha512-+hkOycxPiV534c4HhpfX6yrlawqVUzITRKwHAmYfmsVreltEl6fAZJ3DPfLMOODw0H3s1Itd6MDCWmP1fl/QvQ==",
"dev": true,
"license": "Apache-2.0",
"bin": {
"playwright-core": "cli.js"
},
"engines": {
"node": ">=18"
"node": ">=16"
}
},
"node_modules/undici-types": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
"dev": true,
"license": "MIT"
"version": "5.26.5",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
"dev": true
}
}
}
+2 -2
View File
@@ -8,7 +8,7 @@
"author": "",
"license": "ISC",
"devDependencies": {
"@playwright/test": "^1.52.0",
"@types/node": "^22.15.30"
"@playwright/test": "^1.40.1",
"@types/node": "^20.10.2"
}
}