Compare commits
82 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2357335a03 | |||
| 34002a3723 | |||
| e4fd1425d2 | |||
| 5e9519ef37 | |||
| b5de48fa1d | |||
| d065043d98 | |||
| 2f84d4f14f | |||
| 29fbf5a20f | |||
| 53286dc556 | |||
| 8e7322bca5 | |||
| 2a93fea132 | |||
| acc19592c4 | |||
| 5ce93cb561 | |||
| 81c0256662 | |||
| 815d52286e | |||
| 24a33afc41 | |||
| 86ae68338e | |||
| faf764edad | |||
| 40121656e7 | |||
| aa873ad69b | |||
| 977e894be2 | |||
| 56c9b43ebf | |||
| eafdff79e4 | |||
| cfffb7de2e | |||
| efff3c474b | |||
| 3e79244edc | |||
| 8fec8bfc80 | |||
| 64bcfa9ed7 | |||
| 53f2f9962e | |||
| 7f814e2fec | |||
| cf830af93d | |||
| 8f96207830 | |||
| 4f89f93514 | |||
| f2b73af92c | |||
| 6760ee0aac | |||
| 6ff8cf9a81 | |||
| 807ac403ee | |||
| f0ad60dc84 | |||
| 533ed2d458 | |||
| 733dc061d0 | |||
| 95735e4ae2 | |||
| cea778542e | |||
| 3acbca2638 | |||
| aa2ba09132 | |||
| e2f430c768 | |||
| 40dc31e27f | |||
| ca58146103 | |||
| cecb01c8da | |||
| d29f8add9c | |||
| 06e99a198c | |||
| 62ae5c4967 | |||
| d55dad8497 | |||
| 4141a2c091 | |||
| 5759f8ade4 | |||
| 855cfa4b2a | |||
| 51a61bc5a1 | |||
| a7998b3157 | |||
| 32000b2959 | |||
| 73747b3b51 | |||
| 988061d42b | |||
| d8e5d9e598 | |||
| 6d7d879a09 | |||
| f410d902f3 | |||
| 7ded1e9a96 | |||
| 9221e7e207 | |||
| 173c2235e6 | |||
| 1fdbdb3b75 | |||
| 99191f1990 | |||
| 358ba34cde | |||
| 7e4e38ecca | |||
| 6db0062970 | |||
| 2f453878f9 | |||
| 441147144c | |||
| 35960f538c | |||
| 19bbcd0bcd | |||
| 26647d4fdc | |||
| c408686d17 | |||
| f461b7b5d0 | |||
| 9bf907e2e9 | |||
| c9f88bade2 | |||
| 90219221b8 | |||
| 35609a74b2 |
@@ -14,12 +14,15 @@ on:
|
||||
jobs:
|
||||
push_to_registry:
|
||||
name: Build image
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'juliushaertl/nextcloud-docker-dev'
|
||||
# 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:
|
||||
- php84
|
||||
- php83
|
||||
- php82
|
||||
- php81
|
||||
@@ -47,6 +50,10 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up QEMU
|
||||
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@v3
|
||||
- name: Cache Docker layers
|
||||
@@ -78,7 +85,8 @@ jobs:
|
||||
platforms: linux/amd64,linux/arm64
|
||||
file: ${{ steps.dockerfile.outputs.DOCKERFILE }}
|
||||
tags: |
|
||||
ghcr.io/juliushaertl/nextcloud-dev-${{ matrix.container }}:${{ github.sha }}
|
||||
ghcr.io/juliusknorr/nextcloud-dev-${{ matrix.container }}:${{ github.sha }}
|
||||
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: Start containers with docker compose
|
||||
@@ -87,7 +95,7 @@ jobs:
|
||||
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
|
||||
if ! [[ $PHP_VERSION =~ ^[0-9]+$ ]] || [[ $PHP_VERSION -lt 80 ]]; then
|
||||
if ! [[ $PHP_VERSION =~ ^[0-9]+$ ]] || [[ $PHP_VERSION -lt 80 ]] || [[ $PHP_VERSION -gt 83 ]]; then
|
||||
exit 0
|
||||
fi
|
||||
docker compose up -d nextcloud
|
||||
@@ -103,7 +111,7 @@ jobs:
|
||||
- uses: actions/setup-node@v4
|
||||
if: matrix.container == 'php81' || matrix.container == 'php82' || matrix.container == 'php83'
|
||||
with:
|
||||
node-version: 18
|
||||
node-version: latest
|
||||
- name: Install dependencies
|
||||
if: matrix.container == 'php81' || matrix.container == 'php82' || matrix.container == 'php83'
|
||||
working-directory: tests
|
||||
@@ -116,10 +124,10 @@ jobs:
|
||||
if: matrix.container == 'php81' || matrix.container == 'php82' || matrix.container == 'php83'
|
||||
working-directory: tests
|
||||
run: npx playwright test
|
||||
- uses: actions/upload-artifact@v3
|
||||
- uses: actions/upload-artifact@v4
|
||||
if: matrix.container == 'php81' || matrix.container == 'php82' || matrix.container == 'php83'
|
||||
with:
|
||||
name: playwright-report
|
||||
name: playwright-report-${{ matrix.container }}
|
||||
path: tests/playwright-report/
|
||||
retention-days: 30
|
||||
- name: Push container image
|
||||
@@ -131,8 +139,8 @@ jobs:
|
||||
platforms: linux/amd64,linux/arm64
|
||||
file: ${{ steps.dockerfile.outputs.DOCKERFILE }}
|
||||
tags: |
|
||||
ghcr.io/juliushaertl/nextcloud-dev-${{ matrix.container }}:${{ github.event_name == 'release' && 'release' || 'latest' }}
|
||||
ghcr.io/juliushaertl/nextcloud-dev-${{ matrix.container }}:${{ github.ref_name }}
|
||||
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
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
/.vscode
|
||||
/data/nginx/vhost.d/
|
||||
/data/ssl/
|
||||
/data/shared/
|
||||
/workspace/
|
||||
@@ -13,3 +14,5 @@ node_modules/
|
||||
/tests/playwright-report/
|
||||
/tests/blob-report/
|
||||
/tests/playwright/.cache/
|
||||
/.idea/
|
||||
.DS_Store
|
||||
|
||||
@@ -9,29 +9,29 @@ images: docker/*/Dockerfile docker/Dockerfile.*
|
||||
pull-all:
|
||||
for file in $$(find docker/ -maxdepth 1 -type f -iname 'Dockerfile.*'); do \
|
||||
NAME=$$(echo $$file | sed 's/^.*\.//'); \
|
||||
echo "=> Pulling image $$NAME"; docker pull "ghcr.io/juliushaertl/nextcloud-dev-$${NAME}"; \
|
||||
echo "=> Pulling image $$NAME"; docker pull "ghcr.io/juliusknorr/nextcloud-dev-$${NAME}"; \
|
||||
done
|
||||
for file in $$(find docker -maxdepth 2 -type f -iname 'Dockerfile'); do \
|
||||
NAME=$$(basename $$(dirname $$file)); \
|
||||
echo "=> Pulling image $$NAME"; docker pull "ghcr.io/juliushaertl/nextcloud-dev-$${NAME}"; \
|
||||
echo "=> Pulling image $$NAME"; docker pull "ghcr.io/juliusknorr/nextcloud-dev-$${NAME}"; \
|
||||
done
|
||||
|
||||
pull-installed:
|
||||
docker image ls | grep juliushaertl/nextcloud-dev | cut -f 1 -d " "
|
||||
docker image ls | grep juliushaertl/nextcloud-dev | cut -f 1 -d " " | xargs -L 1 docker pull
|
||||
docker image ls | grep juliusknorr/nextcloud-dev | cut -f 1 -d " "
|
||||
docker image ls | grep juliusknorr/nextcloud-dev | cut -f 1 -d " " | xargs -L 1 docker pull
|
||||
|
||||
# Empty target to always build
|
||||
docker-build:
|
||||
|
||||
docker/%/Dockerfile: docker-build
|
||||
NAME=$$(basename $$(dirname $@)); \
|
||||
echo "=> Building dockerfile" $@ as ghcr.io/juliushaertl/nextcloud-dev-$$NAME:latest; \
|
||||
(cd docker && docker build -t ghcr.io/juliushaertl/nextcloud-dev-$$NAME:latest -f $$NAME/Dockerfile .)
|
||||
echo "=> Building dockerfile" $@ as ghcr.io/juliusknorr/nextcloud-dev-$$NAME:latest; \
|
||||
(cd docker && docker build -t ghcr.io/juliusknorr/nextcloud-dev-$$NAME:latest -f $$NAME/Dockerfile .)
|
||||
|
||||
docker/Dockerfile.%: docker-build
|
||||
NAME=$$(echo $$(basename $@) | sed 's/^.*\.//'); \
|
||||
echo "=> Building dockerfile" $@ as ghcr.io/juliushaertl/nextcloud-dev-$$NAME:latest; \
|
||||
(cd docker && docker build -t ghcr.io/juliushaertl/nextcloud-dev-$$NAME:latest -f Dockerfile.$$NAME .)
|
||||
echo "=> Building dockerfile" $@ as ghcr.io/juliusknorr/nextcloud-dev-$$NAME:latest; \
|
||||
(cd docker && docker build -t ghcr.io/juliusknorr/nextcloud-dev-$$NAME:latest -f Dockerfile.$$NAME .)
|
||||
|
||||
check: dockerfilelint shellcheck
|
||||
|
||||
@@ -55,6 +55,7 @@ template-apply:
|
||||
cat docker/Dockerfile.php.template | sed 's/php:8.2/php:8.1/' > docker/Dockerfile.php81
|
||||
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
|
||||
|
||||
docs:
|
||||
pip3 install mkdocs
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Nextcloud development environment on Docker Compose
|
||||
|
||||
[Documentation](https://juliushaertl.github.io/nextcloud-docker-dev/) | [Nextcloud Developer Portal](https://nextcloud.com/developer/)
|
||||
[Documentation](https://juliusknorr.github.io/nextcloud-docker-dev/) | [Nextcloud Developer Portal](https://nextcloud.com/developer/)
|
||||
|
||||
Nextcloud's development environment using Docker Compose providing a large variety of services for Nextcloud server and app development and testing.
|
||||
|
||||
@@ -20,7 +20,7 @@ Nextcloud's development environment using Docker Compose providing a large varie
|
||||
|
||||
You can find a step-by-step tutorial on how to use this setup in the [Nextcloud Developer Portal](https://nextcloud.com/developer/). It will guide you through the setup and show you how to use it for app development: https://cloud.nextcloud.com/s/iyNGp8ryWxc7Efa?path=%2F1%20Setting%20up%20a%20development%20environment
|
||||
|
||||
In detail explanation of the setup and its features and configuration options can be found in the [nextcloud-docker-dev documentation](https://juliushaertl.github.io/nextcloud-docker-dev/).
|
||||
In detail explanation of the setup and its features and configuration options can be found in the [nextcloud-docker-dev documentation](https://juliusknorr.github.io/nextcloud-docker-dev/).
|
||||
|
||||
## Quickstart
|
||||
|
||||
@@ -31,7 +31,7 @@ In detail explanation of the setup and its features and configuration options ca
|
||||
|
||||
To start the setup run the following commands to clone the repository and bootstrap the setup. This will prepare your setup and clone the Nextcloud server repository and required apps into the `workspace` folder.
|
||||
```bash
|
||||
git clone https://github.com/juliushaertl/nextcloud-docker-dev
|
||||
git clone https://github.com/juliusknorr/nextcloud-docker-dev
|
||||
cd nextcloud-docker-dev
|
||||
./bootstrap.sh
|
||||
```
|
||||
@@ -47,7 +47,7 @@ docker compose up nextcloud
|
||||
|
||||
You can also start it in the background using `docker compose up -d nextcloud`.
|
||||
|
||||
You can then access your Nextcloud instance at [http://nextcloud.local](http://nextcloud.local). The default username is `admin` and the password is `admin`. [Other users can be found in the documentation](https://juliushaertl.github.io/nextcloud-docker-dev/basics/overview/#default-users).
|
||||
You can then access your Nextcloud instance at [http://nextcloud.local](http://nextcloud.local). The default username is `admin` and the password is `admin`. [Other users can be found in the documentation](https://juliusknorr.github.io/nextcloud-docker-dev/basics/overview/#default-users).
|
||||
|
||||
> [!WARN]
|
||||
> Note that for performance reasons the server repository might have been cloned with `--depth=1` by default. To get the full history it is highly recommended to run:
|
||||
@@ -74,29 +74,29 @@ Running the containers does not need this repository to be cloned.
|
||||
Example for running a Nextcloud server from the master branch of server:
|
||||
|
||||
```bash
|
||||
docker run --rm -p 8080:80 ghcr.io/juliushaertl/nextcloud-dev-php80:latest
|
||||
docker run --rm -p 8080:80 ghcr.io/juliusknorr/nextcloud-dev-php81:latest
|
||||
```
|
||||
|
||||
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/juliushaertl/nextcloud-dev-php80:latest
|
||||
docker run --rm -p 8080:80 -v ~/path/to/appid:/var/www/html/apps-extra/appid ghcr.io/juliusknorr/nextcloud-dev-php81: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=v24.0.1 ghcr.io/juliushaertl/nextcloud-dev-php80:latest
|
||||
docker run --rm -p 8080:80 -e SERVER_BRANCH=v24.0.1 ghcr.io/juliusknorr/nextcloud-dev-php81: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=v24.0.1 -v /tmp/server:/var/www/html ghcr.io/juliushaertl/nextcloud-dev-php80:latest
|
||||
docker run --rm -p 8080:80 -e SERVER_BRANCH=v24.0.1 -v /tmp/server:/var/www/html ghcr.io/juliusknorr/nextcloud-dev-php81:latest
|
||||
```
|
||||
## More features
|
||||
|
||||
You can find documentation for more advanced features in [nextcloud-docker-dev documentation](https://juliushaertl.github.io/nextcloud-docker-dev/) for example:
|
||||
You can find documentation for more advanced features in [nextcloud-docker-dev documentation](https://juliusknorr.github.io/nextcloud-docker-dev/) for example:
|
||||
|
||||
- Running stable Nextcloud versions in parallel
|
||||
- Using different database backends
|
||||
|
||||
+8
-8
@@ -11,7 +11,7 @@ APPS_CLONE_FILTER=
|
||||
|
||||
print_help() {
|
||||
cat << EOF
|
||||
boottrap.sh [--full-clone|--clone-no-blobs] [--clone-all-apps-filtered] [--] APPS
|
||||
bootstrap.sh [--full-clone|--clone-no-blobs] [--clone-all-apps-filtered] [--] APPS
|
||||
|
||||
This command will initialize the debug environment for app developers.
|
||||
|
||||
@@ -25,7 +25,7 @@ The following options can be provided:
|
||||
--clone-all-apps-filtered
|
||||
Do not only reduce the history of the server repository but also
|
||||
the cloned apps.
|
||||
|
||||
|
||||
APPS The apps to add to the development setup on top of the default apps
|
||||
|
||||
The default apps to be installed: ${APPS_TO_INSTALL[@]}
|
||||
@@ -82,7 +82,7 @@ if [ -f ".env" ]; then
|
||||
echo "❌ Repository path does not exist"
|
||||
fi
|
||||
|
||||
for i in stable26 stable27 stable28
|
||||
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)
|
||||
@@ -102,7 +102,7 @@ case $SERVER_CLONE in
|
||||
squashed)
|
||||
CLONE_PARAMS=(--depth 1)
|
||||
;;
|
||||
clone-no-blobs)
|
||||
filter-blobs)
|
||||
CLONE_PARAMS=(--filter blob:none)
|
||||
;;
|
||||
full)
|
||||
@@ -141,7 +141,7 @@ function install_server() {
|
||||
(
|
||||
(
|
||||
echo "🌏 Fetching server (this might take a while to finish)" &&
|
||||
git clone ${CLONE_PARAMS[@]+"${CLONE_PARAMS[@]}"} https://github.com/nextcloud/server.git --depth 1 workspace/server --progress 2>&1 &&
|
||||
git clone ${CLONE_PARAMS[@]+"${CLONE_PARAMS[@]}"} https://github.com/nextcloud/server.git workspace/server --progress 2>&1 &&
|
||||
cd workspace/server && git submodule update --init --progress 2>&1
|
||||
) || echo "❌ Failed to clone Nextcloud server code"
|
||||
) | indent
|
||||
@@ -201,8 +201,8 @@ cat <<EOT >.env
|
||||
COMPOSE_PROJECT_NAME=master
|
||||
PROTOCOL=http
|
||||
DOMAIN_SUFFIX=.local
|
||||
REPO_PATH_SERVER=$PWD/workspace/server
|
||||
STABLE_ROOT_PATH=$PWD/workspace
|
||||
REPO_PATH_SERVER="$PWD/workspace/server"
|
||||
STABLE_ROOT_PATH="$PWD/workspace"
|
||||
NEXTCLOUD_AUTOINSTALL_APPS="${NEXTCLOUD_AUTOINSTALL_APPS[@]}"
|
||||
DOCKER_SUBNET=192.168.21.0/24
|
||||
PORTBASE=821
|
||||
@@ -295,5 +295,5 @@ cat <<EOF
|
||||
|
||||
For more details about the individual setup options see
|
||||
the README.md file or checkout the repo at
|
||||
https://github.com/juliushaertl/nextcloud-docker-dev
|
||||
https://github.com/juliusknorr/nextcloud-docker-dev
|
||||
EOF
|
||||
|
||||
+142
-58
@@ -5,13 +5,14 @@ services:
|
||||
# Proxy for ssl termination and easier hostname access
|
||||
# SSL certificates with the virtual host name need to be added to ./data/ssl
|
||||
proxy:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-nginx:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-nginx:latest
|
||||
ports:
|
||||
- "${PROXY_PORT_HTTP:-80}:80"
|
||||
- "${PROXY_PORT_HTTPS:-443}:443"
|
||||
- "${IP_BIND:-127.0.0.1}:${PROXY_PORT_HTTP:-80}:80"
|
||||
- "${IP_BIND:-127.0.0.1}:${PROXY_PORT_HTTPS:-443}:443"
|
||||
volumes:
|
||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
||||
- ./data/ssl/:/etc/nginx/certs
|
||||
- ./data/nginx/vhost.d/:/etc/nginx/vhost.d
|
||||
environment:
|
||||
DHPARAM_BITS: 2048
|
||||
DHPARAM_GENERATION: "false"
|
||||
@@ -39,7 +40,10 @@ services:
|
||||
- stable27${DOMAIN_SUFFIX}
|
||||
- stable28${DOMAIN_SUFFIX}
|
||||
- stable29${DOMAIN_SUFFIX}
|
||||
- stable30${DOMAIN_SUFFIX}
|
||||
- stable31${DOMAIN_SUFFIX}
|
||||
- mail${DOMAIN_SUFFIX}
|
||||
- imap${DOMAIN_SUFFIX}
|
||||
- collabora${DOMAIN_SUFFIX}
|
||||
- codedev${DOMAIN_SUFFIX}
|
||||
- onlyoffice${DOMAIN_SUFFIX}
|
||||
@@ -57,6 +61,8 @@ services:
|
||||
- phpmyadmin${DOMAIN_SUFFIX}
|
||||
- talk-signaling${DOMAIN_SUFFIX}
|
||||
- talk-recording${DOMAIN_SUFFIX}
|
||||
extra_hosts:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
haproxy:
|
||||
image: haproxy
|
||||
@@ -67,16 +73,8 @@ services:
|
||||
volumes:
|
||||
- ./docker/configs/haproxy.conf:/usr/local/etc/haproxy/haproxy.cfg:ro
|
||||
|
||||
dockersocketproxy:
|
||||
image: ghcr.io/cloud-py-api/nextcloud-appapi-dsp:release
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
privileged: true
|
||||
environment:
|
||||
NC_HAPROXY_PASSWORD: secret
|
||||
|
||||
nextcloud:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: ${NEXTCLOUD_AUTOINSTALL:-YES}
|
||||
@@ -108,7 +106,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
nextcloud2:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
environment:
|
||||
SQL: 'mysql'
|
||||
VIRTUAL_HOST: "nextcloud2${DOMAIN_SUFFIX}"
|
||||
@@ -124,7 +122,7 @@ services:
|
||||
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
||||
- ./data/shared:/shared
|
||||
ports:
|
||||
- "${PORTBASE:-800}1:80"
|
||||
- "${IP_BIND:-127.0.0.1}:${PORTBASE:-800}1:80"
|
||||
depends_on:
|
||||
- database-${SQL:-mysql}
|
||||
- redis
|
||||
@@ -134,7 +132,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
nextcloud3:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
VIRTUAL_HOST: "nextcloud3${DOMAIN_SUFFIX}"
|
||||
@@ -158,7 +156,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
stable16:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-73}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-73}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
@@ -187,7 +185,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
stable17:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-73}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-73}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
@@ -216,7 +214,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
stable18:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-74}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-74}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
@@ -245,7 +243,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
stable19:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-74}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-74}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
@@ -274,7 +272,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
stable20:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-74}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-74}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
@@ -303,7 +301,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
stable21:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-80}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-80}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
@@ -333,7 +331,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
stable22:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-80}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-80}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
@@ -363,7 +361,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
stable23:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-80}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-80}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
@@ -393,7 +391,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
stable24:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-80}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-80}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
@@ -423,7 +421,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
stable25:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
@@ -453,7 +451,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
stable26:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
@@ -483,7 +481,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
stable27:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
@@ -513,7 +511,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
stable28:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
@@ -543,7 +541,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
stable29:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
@@ -572,6 +570,66 @@ services:
|
||||
extra_hosts:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
stable30:
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
NEXTCLOUD_AUTOINSTALL_APPS:
|
||||
WITH_REDIS: "YES"
|
||||
VIRTUAL_HOST: stable30${DOMAIN_SUFFIX}
|
||||
ADDITIONAL_APPS_PATH:
|
||||
NEXTCLOUD_TRUSTED_DOMAINS:
|
||||
PRIMARY: ${PRIMARY:-local}
|
||||
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
||||
volumes:
|
||||
- '${STABLE_ROOT_PATH}/stable30:/var/www/html'
|
||||
- '${STABLE_ROOT_PATH}/stable30/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
|
||||
|
||||
stable31:
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
environment:
|
||||
SQL: ${SQL:-mysql}
|
||||
NEXTCLOUD_AUTOINSTALL: "YES"
|
||||
NEXTCLOUD_AUTOINSTALL_APPS:
|
||||
WITH_REDIS: "YES"
|
||||
VIRTUAL_HOST: stable31${DOMAIN_SUFFIX}
|
||||
ADDITIONAL_APPS_PATH:
|
||||
NEXTCLOUD_TRUSTED_DOMAINS:
|
||||
PRIMARY: ${PRIMARY:-local}
|
||||
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
||||
volumes:
|
||||
- '${STABLE_ROOT_PATH}/stable31:/var/www/html'
|
||||
- '${STABLE_ROOT_PATH}/stable31/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: rwgrim/docker-noop
|
||||
|
||||
@@ -586,14 +644,14 @@ services:
|
||||
'--wait_timeout=28800',
|
||||
]
|
||||
ports:
|
||||
- "${PORTBASE:-800}2:3306"
|
||||
- "${IP_BIND:-127.0.0.1}:${PORTBASE:-800}2:3306"
|
||||
volumes:
|
||||
- mysql:/var/lib/mysql
|
||||
|
||||
database-mariadb-primary:
|
||||
image: docker.io/bitnami/mariadb:10.6
|
||||
ports:
|
||||
- '3306'
|
||||
- "${IP_BIND:-127.0.0.1}:3306:3306"
|
||||
volumes:
|
||||
- 'mariadb_primary_data:/bitnami/mariadb'
|
||||
environment:
|
||||
@@ -608,7 +666,7 @@ services:
|
||||
database-mariadb-replica:
|
||||
image: docker.io/bitnami/mariadb:10.6
|
||||
ports:
|
||||
- '3306'
|
||||
- "${IP_BIND:-127.0.0.1}:3306:3306"
|
||||
depends_on:
|
||||
- database-mariadb-primary
|
||||
environment:
|
||||
@@ -629,7 +687,7 @@ services:
|
||||
volumes:
|
||||
- './docker/maxscale/my-maxscale.cnf:/etc/maxscale.cnf.d/my-maxscale.cnf'
|
||||
ports:
|
||||
- '3306'
|
||||
- "${IP_BIND:-127.0.0.1}:3306:3306"
|
||||
|
||||
database-pgsql:
|
||||
image: postgres:latest
|
||||
@@ -637,19 +695,18 @@ services:
|
||||
POSTGRES_DB: nextcloud
|
||||
POSTGRES_PASSWORD: postgres
|
||||
ports:
|
||||
- "${PORTBASE:-800}2:5432"
|
||||
- "${IP_BIND:-127.0.0.1}:${PORTBASE:-800}2:5432"
|
||||
volumes:
|
||||
- postgres:/var/lib/postgresql
|
||||
|
||||
database-oci:
|
||||
image: ghcr.io/gvenzl/oracle-xe:21
|
||||
image: gvenzl/oracle-free:23
|
||||
environment:
|
||||
ORACLE_PASSWORD: nextcloud
|
||||
APP_USER: nextcloud
|
||||
APP_USER_PASSWORD: nextcloud
|
||||
ORACLE_DATABASE: nextcloud
|
||||
ORACLE_PASSWORD: oracle
|
||||
ports:
|
||||
- 1521:1521/tcp
|
||||
- "${IP_BIND:-127.0.0.1}:1521:1521"
|
||||
volumes:
|
||||
- oracle:/opt/oracle/oradata
|
||||
|
||||
pgadmin:
|
||||
container_name: pgadmin_container
|
||||
@@ -678,7 +735,7 @@ services:
|
||||
- 389
|
||||
- 636
|
||||
ports:
|
||||
- 3389:389
|
||||
- "${IP_BIND:-127.0.0.1}:3389:389"
|
||||
environment:
|
||||
LDAP_DOMAIN: planetexpress.com
|
||||
LDAP_BASE_DN: dc=planetexpress,dc=com
|
||||
@@ -700,7 +757,7 @@ services:
|
||||
PHPLDAPADMIN_LDAP_HOSTS: ldap
|
||||
PHPLDAPADMIN_HTTPS: 'false'
|
||||
ports:
|
||||
- "${PORTBASE:-800}8:80"
|
||||
- "${IP_BIND:-127.0.0.1}:${PORTBASE:-800}8:80"
|
||||
|
||||
saml:
|
||||
image: unicon/simplesamlphp
|
||||
@@ -714,16 +771,23 @@ services:
|
||||
- 80
|
||||
|
||||
mail:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-mailhog:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-mailhog:latest
|
||||
environment:
|
||||
VIRTUAL_HOST: "mail${DOMAIN_SUFFIX}"
|
||||
VIRTUAL_PORT: 8025
|
||||
|
||||
imap:
|
||||
image: ghcr.io/christophwurst/docker-imap-devel:latest
|
||||
environment:
|
||||
MAILNAME: example.net
|
||||
MAIL_ADDRESS: admin@example.net
|
||||
MAIL_PASS: admin
|
||||
|
||||
smb:
|
||||
image: dperson/samba
|
||||
ports:
|
||||
- 139
|
||||
- 445
|
||||
- "${IP_BIND:-127.0.0.1}:139:139"
|
||||
- "${IP_BIND:-127.0.0.1}:445:445"
|
||||
environment:
|
||||
# -u "<username;password>[;ID;group;GID]"
|
||||
USER: "admin;admin"
|
||||
@@ -740,7 +804,7 @@ services:
|
||||
blackfire:
|
||||
image: blackfire/blackfire:2
|
||||
ports:
|
||||
- 8307:8307
|
||||
- "${IP_BIND:-127.0.0.1}:8307:8307"
|
||||
environment:
|
||||
- BLACKFIRE_SERVER_ID
|
||||
- BLACKFIRE_SERVER_TOKEN
|
||||
@@ -764,6 +828,9 @@ services:
|
||||
aliasgroup7: http://stable26${DOMAIN_SUFFIX}
|
||||
aliasgroup8: http://stable27${DOMAIN_SUFFIX}
|
||||
aliasgroup9: http://stable28${DOMAIN_SUFFIX}
|
||||
aliasgroup10: http://stable29${DOMAIN_SUFFIX}
|
||||
aliasgroup11: http://stable30${DOMAIN_SUFFIX}
|
||||
aliasgroup12: http://stable31${DOMAIN_SUFFIX}
|
||||
dictionaries: de_DE en_US en_GB
|
||||
username: admin
|
||||
password: admin
|
||||
@@ -786,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"
|
||||
@@ -836,7 +903,7 @@ services:
|
||||
elasticsearch-ui:
|
||||
image: appbaseio/dejavu
|
||||
ports:
|
||||
- 1358:1358
|
||||
- "${IP_BIND:-127.0.0.1}:1358:1358"
|
||||
expose:
|
||||
- 1358
|
||||
environment:
|
||||
@@ -846,7 +913,7 @@ services:
|
||||
|
||||
|
||||
push:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-push:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-push:latest
|
||||
environment:
|
||||
RUST_LOG: debug
|
||||
VIRTUAL_HOST: push${DOMAIN_SUFFIX}
|
||||
@@ -856,7 +923,7 @@ services:
|
||||
NEXTCLOUD_URL: http://nextcloud
|
||||
|
||||
keycloak:
|
||||
image: quay.io/keycloak/keycloak:25.0
|
||||
image: quay.io/keycloak/keycloak:26.1
|
||||
expose:
|
||||
- 8080
|
||||
volumes:
|
||||
@@ -878,7 +945,7 @@ services:
|
||||
- clam:/var/lib/clamav
|
||||
|
||||
portal:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
environment:
|
||||
VIRTUAL_HOST: portal${DOMAIN_SUFFIX}
|
||||
SQL: 'mysql'
|
||||
@@ -900,7 +967,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
gs1:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
environment:
|
||||
VIRTUAL_HOST: gs1${DOMAIN_SUFFIX}
|
||||
SQL: 'mysql'
|
||||
@@ -923,7 +990,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
gs2:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-81}:latest
|
||||
environment:
|
||||
VIRTUAL_HOST: gs2${DOMAIN_SUFFIX}
|
||||
SQL: 'mysql'
|
||||
@@ -946,7 +1013,7 @@ services:
|
||||
- host.docker.internal:host-gateway
|
||||
|
||||
lookup:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-lookupserver:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-lookupserver:latest
|
||||
environment:
|
||||
VIRTUAL_HOST: "lookup${DOMAIN_SUFFIX}"
|
||||
# volumes:
|
||||
@@ -958,7 +1025,7 @@ services:
|
||||
cap_drop:
|
||||
- ALL
|
||||
ports:
|
||||
- 8888:8888
|
||||
- "${IP_BIND:-127.0.0.1}:8888:8888"
|
||||
environment:
|
||||
MAX_CLIENTS: 100
|
||||
ALLOWED_NETWORKS: 0.0.0.0/0
|
||||
@@ -981,7 +1048,7 @@ services:
|
||||
previews_hpb:
|
||||
image: nextcloud/aio-imaginary:latest
|
||||
ports:
|
||||
- "8088:8088"
|
||||
- "${IP_BIND:-127.0.0.1}:8088:8088"
|
||||
environment:
|
||||
- PORT=8088
|
||||
|
||||
@@ -1000,7 +1067,7 @@ services:
|
||||
INTERNAL_SHARED_SECRET_KEY: "4567"
|
||||
|
||||
talk-janus:
|
||||
image: ghcr.io/juliushaertl/nextcloud-dev-talk-janus:latest
|
||||
image: ghcr.io/juliusknorr/nextcloud-dev-talk-janus:latest
|
||||
|
||||
talk-recording:
|
||||
image: nextcloud/aio-talk-recording:latest
|
||||
@@ -1016,13 +1083,30 @@ services:
|
||||
VIRTUAL_HOST: "talk-recording${DOMAIN_SUFFIX}"
|
||||
VIRTUAL_PORT: 1234
|
||||
shm_size: 2147483648
|
||||
|
||||
|
||||
appapi-dsp:
|
||||
image: ghcr.io/nextcloud/nextcloud-appapi-dsp:release
|
||||
container_name: nextcloud-appapi-dsp-http
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
- NC_HAPROXY_PASSWORD=${NC_HAPROXY_PASSWORD:-some_secure_password}
|
||||
- BIND_ADDRESS=${BIND_ADDRESS:-}
|
||||
- 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}
|
||||
|
||||
|
||||
volumes:
|
||||
data:
|
||||
config:
|
||||
apps-writable:
|
||||
mysql:
|
||||
postgres:
|
||||
oracle:
|
||||
redis:
|
||||
data2:
|
||||
config2:
|
||||
|
||||
@@ -11,7 +11,6 @@ RUN install-php-extensions \
|
||||
exif \
|
||||
gd \
|
||||
gmp \
|
||||
imagick \
|
||||
intl \
|
||||
ldap \
|
||||
memcached \
|
||||
@@ -30,7 +29,7 @@ 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 sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
|
||||
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
|
||||
@@ -44,7 +43,7 @@ RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
|
||||
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 14 && nvm install 16 && nvm install 20 \
|
||||
&& 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
|
||||
|
||||
@@ -11,7 +11,6 @@ RUN install-php-extensions \
|
||||
exif \
|
||||
gd \
|
||||
gmp \
|
||||
imagick \
|
||||
intl \
|
||||
ldap \
|
||||
memcached \
|
||||
@@ -30,7 +29,7 @@ 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 sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
|
||||
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
|
||||
@@ -44,7 +43,7 @@ RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
|
||||
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 14 && nvm install 16 && nvm install 20 \
|
||||
&& 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
|
||||
|
||||
@@ -11,7 +11,6 @@ RUN install-php-extensions \
|
||||
exif \
|
||||
gd \
|
||||
gmp \
|
||||
imagick \
|
||||
intl \
|
||||
ldap \
|
||||
memcached \
|
||||
@@ -30,7 +29,7 @@ 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 sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
|
||||
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
|
||||
@@ -44,7 +43,7 @@ RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
|
||||
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 14 && nvm install 16 && nvm install 20 \
|
||||
&& 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
|
||||
|
||||
@@ -11,7 +11,6 @@ RUN install-php-extensions \
|
||||
exif \
|
||||
gd \
|
||||
gmp \
|
||||
imagick \
|
||||
intl \
|
||||
ldap \
|
||||
memcached \
|
||||
@@ -30,7 +29,7 @@ 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 sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
|
||||
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
|
||||
@@ -44,7 +43,7 @@ RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
|
||||
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 14 && nvm install 16 && nvm install 20 \
|
||||
&& 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
|
||||
|
||||
@@ -11,7 +11,6 @@ RUN install-php-extensions \
|
||||
exif \
|
||||
gd \
|
||||
gmp \
|
||||
imagick \
|
||||
intl \
|
||||
ldap \
|
||||
memcached \
|
||||
@@ -30,7 +29,7 @@ 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 sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
|
||||
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
|
||||
@@ -44,7 +43,7 @@ RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
|
||||
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 14 && nvm install 16 && nvm install 20 \
|
||||
&& 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
|
||||
|
||||
@@ -11,7 +11,6 @@ RUN install-php-extensions \
|
||||
exif \
|
||||
gd \
|
||||
gmp \
|
||||
imagick \
|
||||
intl \
|
||||
ldap \
|
||||
memcached \
|
||||
@@ -30,7 +29,7 @@ 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 sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
|
||||
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
|
||||
@@ -44,7 +43,7 @@ RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
|
||||
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 14 && nvm install 16 && nvm install 20 \
|
||||
&& 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
|
||||
|
||||
@@ -11,7 +11,6 @@ RUN install-php-extensions \
|
||||
exif \
|
||||
gd \
|
||||
gmp \
|
||||
imagick \
|
||||
intl \
|
||||
ldap \
|
||||
memcached \
|
||||
@@ -30,7 +29,7 @@ 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 sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
|
||||
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
|
||||
@@ -44,7 +43,7 @@ RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
|
||||
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 14 && nvm install 16 && nvm install 20 \
|
||||
&& 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
|
||||
|
||||
+17
-5
@@ -41,6 +41,11 @@ OCC() {
|
||||
sudo -E -u www-data php "$WEBROOT/occ" $@ | indent
|
||||
}
|
||||
|
||||
is_installed() {
|
||||
STATUS=$(OCC status)
|
||||
[[ "$STATUS" = *"installed: true"* ]]
|
||||
}
|
||||
|
||||
update_permission() {
|
||||
chown -R www-data:www-data "$WEBROOT"/apps-writable
|
||||
chown -R www-data:www-data "$WEBROOT"/data
|
||||
@@ -100,7 +105,7 @@ wait_for_other_containers() {
|
||||
"oci")
|
||||
output " - Oracle"
|
||||
retry_with_timeout "(echo > /dev/tcp/database-$SQL/1521) 2>/dev/null" 30 "⚠ Unable to connect to the Oracle server"
|
||||
sleep 2
|
||||
sleep 45
|
||||
;;
|
||||
"sqlite")
|
||||
output " - SQLite"
|
||||
@@ -233,7 +238,7 @@ install() {
|
||||
|
||||
output "🔧 Starting auto installation"
|
||||
if [ "$SQL" = "oci" ]; then
|
||||
OCC maintenance:install --admin-user=$USER --admin-pass=$PASSWORD --database="$SQL" --database-name=nextcloud --database-host="$SQLHOST" --database-port=1521 --database-user=nextcloud --database-pass=nextcloud
|
||||
OCC maintenance:install --admin-user=$USER --admin-pass=$PASSWORD --database="$SQL" --database-name=FREE --database-host="$SQLHOST" --database-port=1521 --database-user=system --database-pass=oracle
|
||||
elif [ "$SQL" = "pgsql" ]; then
|
||||
OCC maintenance:install --admin-user=$USER --admin-pass=$PASSWORD --database="$SQL" --database-name="$DBNAME" --database-host="$SQLHOST" --database-user=postgres --database-pass=postgres
|
||||
elif [ "$SQL" = "mysql" ]; then
|
||||
@@ -250,7 +255,14 @@ install() {
|
||||
OCC maintenance:install --admin-user=$USER --admin-pass=$PASSWORD --database="$SQL"
|
||||
fi;
|
||||
|
||||
output "🔧 Server installed"
|
||||
if is_installed
|
||||
then
|
||||
output "🔧 Server installed"
|
||||
else
|
||||
output "Last nextcloud.log entry:"
|
||||
output "$(tail -n 1 "$WEBROOT"/data/nextcloud.log | jq)"
|
||||
fatal "🚨 Server installation failed."
|
||||
fi
|
||||
|
||||
output "🔧 Provisioning apps"
|
||||
OCC app:disable password_policy
|
||||
@@ -356,8 +368,8 @@ add_hosts() {
|
||||
setup() {
|
||||
update_permission
|
||||
configure_xdebug_mode
|
||||
STATUS=$(OCC status)
|
||||
if [[ "$STATUS" = *"installed: true"* ]] || [[ ! -f $WEBROOT/config/config.php ]]
|
||||
|
||||
if is_installed || [[ ! -f $WEBROOT/config/config.php ]]
|
||||
then
|
||||
output "🚀 Nextcloud already installed ... skipping setup"
|
||||
|
||||
|
||||
+103
-72
@@ -1,75 +1,106 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="1" />
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
margin: auto;
|
||||
max-width: 700px;
|
||||
}
|
||||
|
||||
.lds-ellipsis {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
}
|
||||
.lds-ellipsis div {
|
||||
position: absolute;
|
||||
top: 33px;
|
||||
width: 13px;
|
||||
height: 13px;
|
||||
border-radius: 50%;
|
||||
background: #000;
|
||||
animation-timing-function: cubic-bezier(0, 1, 1, 0);
|
||||
}
|
||||
.lds-ellipsis div:nth-child(1) {
|
||||
left: 8px;
|
||||
animation: lds-ellipsis1 0.6s infinite;
|
||||
}
|
||||
.lds-ellipsis div:nth-child(2) {
|
||||
left: 8px;
|
||||
animation: lds-ellipsis2 0.6s infinite;
|
||||
}
|
||||
.lds-ellipsis div:nth-child(3) {
|
||||
left: 32px;
|
||||
animation: lds-ellipsis2 0.6s infinite;
|
||||
}
|
||||
.lds-ellipsis div:nth-child(4) {
|
||||
left: 56px;
|
||||
animation: lds-ellipsis3 0.6s infinite;
|
||||
}
|
||||
@keyframes lds-ellipsis1 {
|
||||
0% {
|
||||
transform: scale(0);
|
||||
}
|
||||
100% {
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
@keyframes lds-ellipsis3 {
|
||||
0% {
|
||||
transform: scale(1);
|
||||
}
|
||||
100% {
|
||||
transform: scale(0);
|
||||
}
|
||||
}
|
||||
@keyframes lds-ellipsis2 {
|
||||
0% {
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
100% {
|
||||
transform: translate(24px, 0);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Installing container</h1>
|
||||
<p>Please wait until the server is ready. This page will redirect you to the login once done.</p>
|
||||
<h2>Log:</h2>
|
||||
<div class="lds-ellipsis"><div></div><div></div><div></div><div></div></div>
|
||||
<pre>
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="1" />
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
:root {
|
||||
--font-color: #333;
|
||||
--background-color: #fff;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--font-color: #eee;
|
||||
--background-color: #1a1a1a;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
margin: auto;
|
||||
max-width: 800px;
|
||||
color: var(--font-color);
|
||||
background-color: var(--background-color);
|
||||
}
|
||||
|
||||
.lds-ellipsis {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
}
|
||||
|
||||
.lds-ellipsis div {
|
||||
position: absolute;
|
||||
top: 33px;
|
||||
width: 13px;
|
||||
height: 13px;
|
||||
border-radius: 50%;
|
||||
background: var(--font-color);
|
||||
animation-timing-function: cubic-bezier(0, 1, 1, 0);
|
||||
}
|
||||
|
||||
.lds-ellipsis div:nth-child(1) {
|
||||
left: 8px;
|
||||
animation: lds-ellipsis1 0.6s infinite;
|
||||
}
|
||||
|
||||
.lds-ellipsis div:nth-child(2) {
|
||||
left: 8px;
|
||||
animation: lds-ellipsis2 0.6s infinite;
|
||||
}
|
||||
|
||||
.lds-ellipsis div:nth-child(3) {
|
||||
left: 32px;
|
||||
animation: lds-ellipsis2 0.6s infinite;
|
||||
}
|
||||
|
||||
.lds-ellipsis div:nth-child(4) {
|
||||
left: 56px;
|
||||
animation: lds-ellipsis3 0.6s infinite;
|
||||
}
|
||||
@keyframes lds-ellipsis1 {
|
||||
0% {
|
||||
transform: scale(0);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes lds-ellipsis3 {
|
||||
0% {
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: scale(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes lds-ellipsis2 {
|
||||
0% {
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translate(24px, 0);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Installing container</h1>
|
||||
<p>Please wait until the server is ready. This page will redirect you to the login once done.</p>
|
||||
<h2>Log:</h2>
|
||||
<div class="lds-ellipsis">
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
</div>
|
||||
<pre>
|
||||
@@ -1,3 +1,3 @@
|
||||
FROM elasticsearch:7.17.22
|
||||
FROM elasticsearch:7.17.25
|
||||
|
||||
RUN bin/elasticsearch-plugin install --batch ingest-attachment
|
||||
|
||||
@@ -11,7 +11,6 @@ RUN install-php-extensions \
|
||||
exif \
|
||||
gd \
|
||||
gmp \
|
||||
imagick \
|
||||
intl \
|
||||
ldap \
|
||||
memcached \
|
||||
@@ -30,7 +29,7 @@ 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 sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
|
||||
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
|
||||
@@ -44,7 +43,7 @@ RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
|
||||
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 14 && nvm install 16 && nvm install 20 \
|
||||
&& 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
|
||||
|
||||
@@ -11,8 +11,6 @@ RUN install-php-extensions \
|
||||
exif \
|
||||
gd \
|
||||
gmp \
|
||||
# waiting for https://github.com/mlocati/docker-php-extension-installer/pull/811
|
||||
# imagick \
|
||||
intl \
|
||||
ldap \
|
||||
memcached \
|
||||
@@ -31,7 +29,7 @@ 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 sudo cron smbclient iproute2 lnav wget iputils-ping gnupg2 jq ripgrep rsync mariadb-client \
|
||||
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
|
||||
@@ -45,7 +43,7 @@ RUN wget -O /usr/local/bin/phpunit8 https://phar.phpunit.de/phpunit-8.phar \
|
||||
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 14 && nvm install 16 && nvm install 20 \
|
||||
&& 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
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
FROM php:8.4-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 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/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 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
|
||||
|
||||
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 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
|
||||
|
||||
# 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/storage.config.php configs/redis.config.php configs/apcu.config.php /root/
|
||||
ADD bin/bootstrap.sh bin/occ /usr/local/bin/
|
||||
@@ -13,11 +13,14 @@ There are two ways of using this setup. **A persistent setup is the most common
|
||||
|
||||
To start the setup run the following commands to clone the repository and bootstrap the setup. This will prepare your setup and clone the Nextcloud server repository and required apps into the `workspace` folder.
|
||||
```bash
|
||||
git clone https://github.com/juliushaertl/nextcloud-docker-dev
|
||||
git clone https://github.com/juliusknorr/nextcloud-docker-dev
|
||||
cd nextcloud-docker-dev
|
||||
./bootstrap.sh
|
||||
```
|
||||
|
||||
There are some options to simplify the later development by cloning not only the minimal data set but a bigger one that helps with later switching of branches etc.
|
||||
See also the [detailed page](nc-history.md) for an overview of the options.
|
||||
|
||||
This may take some time depending on your internet connection speed.
|
||||
|
||||
Depending on your docker version you will need to use `docker-compose` instead of `docker compose` in the following commands.
|
||||
@@ -29,7 +32,7 @@ docker compose up nextcloud
|
||||
|
||||
You can also start it in the background using `docker compose up -d nextcloud`.
|
||||
|
||||
You can then access your Nextcloud instance at [http://nextcloud.local](http://nextcloud.local). The default username is `admin` and the password is `admin`. [Other users can be found in the documentation](https://juliushaertl.github.io/nextcloud-docker-dev/basics/overview/#default-users).
|
||||
You can then access your Nextcloud instance at [http://nextcloud.local](http://nextcloud.local). The default username is `admin` and the password is `admin`. [Other users can be found in the documentation](https://juliusknorr.github.io/nextcloud-docker-dev/basics/overview/#default-users).
|
||||
|
||||
!!! warning
|
||||
Note that for performance reasons the server repository might have been cloned with `--depth=1` by default. To get the full history it is highly recommended to run:
|
||||
@@ -56,23 +59,23 @@ Running the containers does not need this repository to be cloned.
|
||||
Example for running a Nextcloud server from the master branch of server:
|
||||
|
||||
```bash
|
||||
docker run --rm -p 8080:80 ghcr.io/juliushaertl/nextcloud-dev-php80:latest
|
||||
docker run --rm -p 8080:80 ghcr.io/juliusknorr/nextcloud-dev-php80:latest
|
||||
```
|
||||
|
||||
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/juliushaertl/nextcloud-dev-php80:latest
|
||||
docker run --rm -p 8080:80 -v ~/path/to/appid:/var/www/html/apps-extra/appid 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=v24.0.1 ghcr.io/juliushaertl/nextcloud-dev-php80: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=v24.0.1 -v /tmp/server:/var/www/html ghcr.io/juliushaertl/nextcloud-dev-php80: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
|
||||
```
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
# Nextcloud server with history
|
||||
|
||||
The script `bootstrap.sh` will download a clone of the server code repository.
|
||||
Depending on your use case, you might be interested in having the complete or a partial history of the Nextcloud server at your fingertips.
|
||||
|
||||
## TL;DR
|
||||
|
||||
If you want to have a quick and dirty solution to just bootstrap the dev environment, just use `./bootstrap.sh`.
|
||||
If you want to intensively work on the server, use `./bootstrap.sh --full-clone`.
|
||||
If you want to switch from time to time between server versions and save bandwidth/storage, use `./bootstrap.sh --clone-no-blobs`.
|
||||
|
||||
## Clone with depth one by default
|
||||
|
||||
If you do not provide any additional information to the bootstrap script, it will truncate the history of the server repository.
|
||||
This truncation is done after exactly one commit.
|
||||
That means the clone you will get will contain exactly this single commit.
|
||||
|
||||
!!! info
|
||||
This will create a clone with `--depth 1`.
|
||||
See the man page of git clone for more details on the implications.
|
||||
|
||||
As this is mainly the same data as the tarball, the download in this mode is the fastest of all options.
|
||||
|
||||
If you want to play around with the different server versions, you need to download these and unshallow the repository using `git fetch --unshallow`.
|
||||
This will take quite some time and will download the complete server history.
|
||||
|
||||
## Clone with complete history
|
||||
|
||||
If you know that you will need the complete history of the server repository, you might want to avoid first creating a shallow copy and then unshallow it directly.
|
||||
To cope with this, you can append `--full-clone` to the `./bootstrap.sh` command line:
|
||||
|
||||
```
|
||||
./bootstrap.sh --full-clone
|
||||
```
|
||||
|
||||
The benefit is that the complete repository is present and you can browse the history as you like.
|
||||
The obvious drawback is that you have to download the complete history which might take a significant amount of time.
|
||||
|
||||
## Clone with the blobs filtered out
|
||||
|
||||
There is also one more option to the script, namely `--clone-no-blobs`.
|
||||
This works only with a sufficiently recent version of git.
|
||||
Instead of a shallow clone (where the history is truncated), a partial clone created by this parameter has the complete history attached.
|
||||
In that sense, you can navigate the complete history as you like.
|
||||
You would do the following to create such a partial clone:
|
||||
```
|
||||
./bootstrap.sh --clone-no-blobs
|
||||
```
|
||||
|
||||
The main difference to a shallow clone is that the cloned repository will not download all files (git calls them _blobs_) stored in the past.
|
||||
Instead, once you checkout a certain commit, git checks for all files if the corresponding file has been downloaded in the past.
|
||||
If it was, it uses this copy.
|
||||
If the file was not yet downloaded, a new connection to the upstream repository has to be made and the missing blobs are downloaded.
|
||||
Just after the clone of such a partially cloned repo, git will download all blobs needed to view the (current) branch content.
|
||||
This is very similar to the shallow clone where only the content of the last commit is downloaded.
|
||||
|
||||
As the complete history is generally known, you can use the normal git commands to handle such a repository.
|
||||
You can just pull/fetch as you are used.
|
||||
Switching a branch might download the required files on the fly.
|
||||
Any later update (using `git fetch` or `git pull`) will respect the setting and also download no blobs directly.
|
||||
|
||||
!!! Info
|
||||
This will clone the repository with `--filter blob:none`.
|
||||
Again see the man page of `git clone` for more details.
|
||||
|
||||
The benefit of this approach is obviously that you can have a complete history that you can work with (as long as you do not need the file contents).
|
||||
The initial clone takes a bit longer than the shallow one as additionally the history commits (without the contents) need to be transmitted.
|
||||
|
||||
The obvious drawback is that once you need to checkout a file that was never checked out in the clone, it has to be downloaded and a live internet connection is needed.
|
||||
@@ -9,6 +9,8 @@ In order to run a stable version you need to have the corresponding git checkout
|
||||
Assuming you have already cloned the repository into `~/nextcloud-docker-dev/workspace/server` you can run the following commands to create a new worktree for the stable28 branch:
|
||||
|
||||
```bash
|
||||
# make sure the stable version is fetched
|
||||
git fetch origin stable28:stable28
|
||||
# create a new worktree for the stable28 branch
|
||||
cd ~/nextcloud-docker-dev/workspace/server
|
||||
git worktree add ../stable28 stable28
|
||||
|
||||
@@ -9,7 +9,7 @@ Running the containers does not need this repository to be cloned.
|
||||
Example for running a Nextcloud server from the master branch of server:
|
||||
|
||||
```bash
|
||||
docker run --rm -p 8080:80 ghcr.io/juliushaertl/nextcloud-dev-php80:latest
|
||||
docker run --rm -p 8080:80 ghcr.io/juliusknorr/nextcloud-dev-php80:latest
|
||||
```
|
||||
|
||||
For app development you can mount your app directly into the container:
|
||||
@@ -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/juliushaertl/nextcloud-dev-php80: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=v24.0.1 ghcr.io/juliushaertl/nextcloud-dev-php80: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=v24.0.1 -v /tmp/server:/var/www/html ghcr.io/juliushaertl/nextcloud-dev-php80: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
|
||||
```
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# Customize nginx config
|
||||
|
||||
## Add custom config for a virtualhost config
|
||||
|
||||
Add a config snippet to `data/nginx/vhost.d/<vhost-name>`, it will be included in the respective vhost config automatically.
|
||||
|
||||
For example to redirect all requests to `/apps.*/text` to a `vite serve` process on the docker host, add the following to `data/nginx/vhost.d/nextcloud.local`:
|
||||
|
||||
```
|
||||
location ~* ^/apps.*/text/ {
|
||||
rewrite ^/apps.*/text/(.*) /$1 break;
|
||||
proxy_pass http://host.docker.internal:5173;
|
||||
# fallback to nextcloud server if vite serve doesn't answer
|
||||
error_page 502 = @fallback;
|
||||
}
|
||||
location @fallback {
|
||||
proxy_pass http://nextcloud.local;
|
||||
}
|
||||
```
|
||||
+1
-1
@@ -14,4 +14,4 @@ Various settings in this setup are considered insecure and default passwords and
|
||||
- 🚀 Blackfire, Xdebug for profiling and debugging
|
||||
- 📄 Lots of integrating service containers: Collabora Online, Onlyoffice, Elasticsearch, ...
|
||||
|
||||
Follow the [getting started guide](https://juliushaertl.github.io/nextcloud-docker-dev/basics/getting-started/) or the [Nextcloud developer tutorial](https://nextcloud.com/developer/) to get started.
|
||||
Follow the [getting started guide](https://juliusknorr.github.io/nextcloud-docker-dev/basics/getting-started/) or the [Nextcloud developer tutorial](https://nextcloud.com/developer/) to get started.
|
||||
@@ -0,0 +1,87 @@
|
||||
# AppAPI
|
||||
|
||||
For [AppAPI](https://github.com/nextcloud/app_api) the [Docker Socket Proxy](https://github.com/nextcloud/docker-socket-proxy) (DSP) is required to work.
|
||||
|
||||
## HTTP AppAPI DSP
|
||||
|
||||
### 1. Start the HTTP DSP container
|
||||
|
||||
```bash
|
||||
docker compose up -d appapi-dsp
|
||||
```
|
||||
|
||||
### 2. Configure Deploy daemon
|
||||
|
||||
After the DSP container is running, configure the Deploy daemon in AppAPI admin settings with the following parameters:
|
||||
|
||||
- **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`)
|
||||
- **HaProxy password**: `some_secure_password`
|
||||
|
||||
or via OCC CLI:
|
||||
|
||||
```bash
|
||||
./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
|
||||
|
||||
For HTTPS DSP setup, please refer to the [HTTPS (remote)](https://github.com/nextcloud/docker-socket-proxy?tab=readme-ov-file#httpsremote) section.
|
||||
|
||||
### 1. Generate self-signed certificates
|
||||
|
||||
Following the instruction from the DSP repository, generate and place the self-signed certificate in the `nextcloud-docker-dev/data/ssl/app_api/app_api.pem` directory.
|
||||
|
||||
> **Note**: Additionally, you can copy the `app_api.pem` file to the `nextcloud-docker-dev/data/shared` directory
|
||||
> to be able to access it for import in each nextcloud dev container (e.g. `occ security:certificates:import /shared/app_api.pem`).
|
||||
|
||||
### 2. Start the HTTPS DSP container
|
||||
|
||||
```bash
|
||||
docker compose up -d appapi-dsp-https
|
||||
```
|
||||
|
||||
### 3. Configure Deploy daemon
|
||||
|
||||
After the DSP container is running and the certificate is imported in Nextcloud, configure the Deploy daemon in AppAPI admin settings with the following parameters:
|
||||
|
||||
- **Host**: `https://<nextcloud-appapi-dsp-https or BIND_ADDRESS IP>:2375` (use host depending on your setup)
|
||||
- **Nextcloud URL**: `http://nextcloud.local` (locally always use http)
|
||||
- **Enable https**: `true`
|
||||
- **Network**: `host` (with https enabled, the network is forced to `host`)
|
||||
- **HaProxy password**: `some_secure_password`
|
||||
|
||||
or via OCC CLI:
|
||||
|
||||
```bash
|
||||
./scripts/occ.sh nextcloud -- app_api:daemon:register dsp_https "DSP HTTPS" docker-install https "nextcloud-appapi-dsp-https" "http://nextcloud.local" --net=host --set-default
|
||||
```
|
||||
|
||||
|
||||
## Environment variables
|
||||
|
||||
The list of available environment variables for the AppAPI DSP is listed in its repository,
|
||||
and in the `example.env` file.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Image of AppAPI DSP is not accessible
|
||||
|
||||
In case the AppAPI DSP image is not accessible, you can build it locally by cloning the [Docker Socket Proxy](https://github.com/nextcloud/docker-socket-proxy) repository and running the following commands:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/nextcloud/docker-socket-proxy.git
|
||||
```
|
||||
|
||||
```bash
|
||||
cd docker-socket-proxy
|
||||
```
|
||||
|
||||
```bash
|
||||
docker build -f ./Dockerfile -t nextcloud-appapi-dsp:latest ./
|
||||
```
|
||||
|
||||
After that change the image name in the `docker-compose.yml` file
|
||||
for `appapi-dsp` or `appapi-dsp-https` service to `nextcloud-appapi-dsp:latest` and try again.
|
||||
@@ -9,10 +9,11 @@ By default, MySQL will be used as database backend. You can change this by setti
|
||||
- `sqlite`
|
||||
- `mariadb-replica`
|
||||
- `maxscale`
|
||||
- `oci`
|
||||
|
||||
Changing the database env value will require to recreate your setup. You can do this by running `docker compose down -v` and then `docker compose up -d nextcloud`.
|
||||
|
||||
All databases use the following credentials by default:
|
||||
All databases use the following credentials by default (except oracle):
|
||||
|
||||
- Root password: `nextcloud`
|
||||
- Username: `nextcloud`
|
||||
@@ -72,3 +73,11 @@ docker compose exec database-mariadb-replica mysql -u root -pnextcloud
|
||||
This mode runs a mariadb primary and read replica setup with maxscale as load balancer. The primary is used for writes and the replica for reads where MaxScale is used to perform a read-write-split.
|
||||
|
||||
The logs of MaxScale can be accessed with `docker compose exec maxscale cat /var/log/maxscale/maxscale.log`.
|
||||
|
||||
### Oracle
|
||||
|
||||
You can access the database with the following command:
|
||||
|
||||
```bash
|
||||
docker compose exec -ti database-oci sqlplus system/oracle
|
||||
```
|
||||
@@ -1,6 +1,6 @@
|
||||
# LDAP
|
||||
|
||||
The LDAP sample data is based on <https://github.com/rroemhild/docker-test-openldap> and extended with randomly generated users/groups. For details see [data/ldap-generator/](https://github.com/juliushaertl/nextcloud-docker-dev/tree/master/data/ldap-generator). LDAP will be configured automatically if the ldap container is available during installation.
|
||||
The LDAP sample data is based on <https://github.com/rroemhild/docker-test-openldap> and extended with randomly generated users/groups. For details see [data/ldap-generator/](https://github.com/juliusknorr/nextcloud-docker-dev/tree/master/data/ldap-generator). LDAP will be configured automatically if the ldap container is available during installation.
|
||||
|
||||
Example users are: `leela fry bender zoidberg hermes professor`. The password is the same as the uid.
|
||||
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# S3 / Object storage
|
||||
|
||||
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:
|
||||
|
||||
```bash
|
||||
docker compose up -d minio
|
||||
```
|
||||
|
||||
## 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.
|
||||
@@ -8,6 +16,26 @@ Primary object storage can be enabled by setting the `PRIMARY=minio` environment
|
||||
docker compose up nextcloud minio
|
||||
```
|
||||
|
||||
## 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:
|
||||
|
||||
- Bucket: `nc-external`
|
||||
- Authentication: `Access Key`
|
||||
- Hostname: `minio`
|
||||
- Port: `9000`
|
||||
- Enable SSL: `No`
|
||||
- Enable Path Style: `Yes`
|
||||
- Legacy (v2) Authentication: `No`
|
||||
- Access Key: `nextcloud`
|
||||
- Secret Key: `nextcloud`
|
||||
|
||||
## 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
|
||||
|
||||
|
||||
@@ -14,4 +14,4 @@
|
||||
- Make sure to have the recording hostname setup in your `/etc/hosts` file: `127.0.0.1 talk-recording.local`
|
||||
- Make sure the Talk HPB is running and configured
|
||||
- Start the talk recording server in addition to your other containers `docker-compose up -d talk-recording`
|
||||
- Go to the admin settings of talk and add the signaling server (`http://talk-recording.local` with shared secret `6789`)
|
||||
- Go to the admin settings of talk and add the recording server (`http://talk-recording.local` with shared secret `6789`)
|
||||
@@ -8,7 +8,7 @@ Xdebug is shipped but disabled by default. It can be turned on by running:
|
||||
|
||||
You can also enable other modes, e.g. trace:
|
||||
|
||||
````
|
||||
```
|
||||
./scripts/php-mod-config nextcloud xdebug.mode debug,trace
|
||||
```
|
||||
|
||||
|
||||
+17
@@ -24,6 +24,9 @@ PROTOCOL=http
|
||||
# BLACKFIRE_SERVER_ID=
|
||||
# BLACKFIRE_SERVER_TOKEN=
|
||||
|
||||
# By default the published ports are only accessible at 127.0.0.1 (your localhost).
|
||||
# Set this to '0.0.0.0' to make them accessible from your whole local network.
|
||||
# IP_BIND=127.0.0.1
|
||||
|
||||
# can be used to run separate setups besides each other
|
||||
# DOCKER_SUBNET=192.168.15.0/24
|
||||
@@ -49,3 +52,17 @@ SQL=mysql
|
||||
# The mode of the xdebuger extention. This can be a comma separated list of
|
||||
# the entries none, develop, debug, trace, and profile.
|
||||
PHP_XDEBUG_MODE=develop
|
||||
|
||||
# Nextcloud AppAPI Docker Socket Proxy
|
||||
# ------------------------------------
|
||||
# NC_HAPROXY_PASSWORD=some_secure_password
|
||||
# BIND_ADDRESS=172.17.0.1
|
||||
# CERT_PATH=./data/ssl/app_api/app_api.pem
|
||||
# NETWORK_MODE=host
|
||||
# HAPROXY_PORT=2375
|
||||
# TIMEOUT_CONNECT=10s
|
||||
# TIMEOUT_CLIENT=30s
|
||||
# TIMEOUT_SERVER=30s
|
||||
# EX_APPS_NET=ipv4@localhost
|
||||
# EX_APPS_COUNT=50
|
||||
# ------------------------------------
|
||||
|
||||
@@ -24,8 +24,8 @@ occ app:enable onlyoffice --force
|
||||
occ config:app:set onlyoffice DocumentServerUrl --value="$PROTOCOL://onlyoffice$DOMAIN_SUFFIX"
|
||||
occ config:app:set onlyoffice jwt_secret --value="secret"
|
||||
occ config:app:set onlyoffice DocumentServerInternalUrl --value="http://onlyoffice/"
|
||||
occ config:app:set onlyoffice StorageUrl --value="http://nextcloud/"
|
||||
occ config:app:set onlyoffice StorageUrl --value="http://${CONTAINER}${DOMAIN_SUFFIX}/"
|
||||
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 /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
|
||||
|
||||
Reference in New Issue
Block a user