Compare commits

..

16 Commits

Author SHA1 Message Date
Baptiste Fotia c11df7ec3b fix(yml):Adapting php release to stable NC version
I adapted the php release to stable NC versions.

Signed-off-by: Baptiste Fotia <fotia.baptiste@hotmail.com>
2022-10-13 11:02:09 +02:00
Baptiste Fotia 24e0fe8c6b feature(yml): Update the default release of PHP
I updated the default release of PHP to be compliant with the official
documentation admin :
https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html
.

Signed-off-by: Baptiste Fotia <fotia.baptiste@hotmail.com>
2022-10-13 10:24:51 +02:00
Julius Härtl 2cec861c04 Merge pull request #82 from eneiluj/enh/noid/harmonize-docker-compose
Add stable25 and harmonize stable* container configs
2022-10-06 09:21:57 +02:00
Julien Veyssier 360460d1dd add stable25 and harmonize stable*
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-10-05 18:18:14 +02:00
Julius Härtl abfabbf9fa Merge pull request #83 from arawa/hotfix/redefine-env
refactor(Docker, Bash): Generic env vars
2022-10-05 09:28:29 +02:00
Baptiste Fotia f0615d4ada refactor(Docker, Bash): Generic env vars
I deleted all values related to Julius' home to make it as generic as
possible.
In addition, I changed the value of the COMPOSE_PROJECT_NAME env var to
target the master branch. Otherwise, we cannot join the development instance
with "http://nextcloud.local".

Signed-off-by: Baptiste Fotia <fotia.baptiste@hotmail.com>
2022-10-04 15:17:03 +02:00
Julius Härtl ca6cd7ab47 Merge pull request #79 from sylvainmetayer/feat_35_add_phpunit 2022-10-03 11:52:28 +02:00
Sylvain 0a9394970a feat(35): add phpunit 2022-10-02 19:46:01 +02:00
Julius Härtl 2c4e5276cd Merge pull request #78 from juliushaertl/enh/depth-1 2022-10-01 18:23:01 +02:00
Julius Härtl eb5d7696fc Add docs about depth and unshallow
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-01 16:52:04 +02:00
Julius Härtl 7c9bdb1eae Use depth 1 to clone
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-01 16:12:31 +02:00
Julius Härtl e810162ce4 Do not preseed the config with the dbuser
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-09-19 20:19:22 +02:00
Julius Härtl 54cd62b844 Pass blackfire client environment variables
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-09-01 09:55:28 +00:00
Julius Härtl 116c812da4 Install blackfire cli on docker
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-09-01 09:53:25 +00:00
Julius Härtl fab4ac3a10 SHellcheck fix
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-07-14 14:46:59 +02:00
Julius Härtl cca7fb8ed8 Move to separate php config file (fixes #73)
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-07-14 14:34:25 +02:00
15 changed files with 303 additions and 335 deletions
+1
View File
@@ -24,6 +24,7 @@ dockerfilelint:
.ONESHELL:
shellcheck:
for file in $$(find . -type f -iname '*.sh' -not -path './wip/*'); do shellcheck --format=gcc $$file; done;
for file in $$(find ./scripts -type f); do shellcheck --format=gcc $$file; done;
.ONESHELL:
template-apply:
+63 -105
View File
@@ -1,10 +1,8 @@
# nextcloud-dev-docker-compose
A docker based Nextcloud development environment that is easy to setup and use.
Nextcloud development environment using docker-compose
**DO NOT USE THIS IN PRODUCTION**
Various settings in this setup are considered insecure and default passwords and secrets are used all over the place
**DO NOT USE THIS IN PRODUCTION** Various settings in this setup are considered insecure and default passwords and secrets are used all over the place
Features
@@ -19,107 +17,33 @@ Features
## Getting started
<details><summary>Installation requirements on Ubuntu</summary>
1. Install docker and git
```
sudo apt install docker.io git
```
Continue with the installation instructions below.
</details>
<details><summary>Installation requirements on macOS</summary>
1. Install the Xcode command line utils: `xcode-select --install`
2. Install Docker https://www.docker.com/products/docker-desktop/
Continue with the installation instructions below.
</details>
<details><summary>Installation requirements on Windows</summary>
This development environment can be used under Windows using WSL2 and Docker. This step by step guide is using VS Code as an editor as it allows to easily work within the Linux environment on the remote WSL instance. You may follow https://code.visualstudio.com/blogs/2020/03/02/docker-in-wsl2 in order setup everything required, but in short the steps are the following:
1. Install Windows 10, version 1903 or higher or Windows 11.
2. Enable WSL 2 feature on Windows. For detailed instructions, refer to the Microsoft documentation.
3. Install the Ubuntu distribution for WSL https://docs.microsoft.com/en-us/windows/wsl/install
3. Download and install the Linux kernel update package.
4. Install Docker Desktop for Windows.
6. Open the Ubuntu terminal and run the installation command below
Continue with the installation instructions below.
</details>
To get the setup running:
```bash
curl -L https://yeeeha.org/nc-dev | bash
```
This will:
- Clone the Nextcloud server source code
- Ask for your sudo password to add the hostnames for your local environment to /etc/hosts
The command will end with some instructions on how to start your development environment:
- Start the docker container
git clone https://github.com/juliushaertl/nextcloud-docker-dev
cd nextcloud-docker-dev
./bootstrap.sh
sudo sh -c "echo '127.0.0.1 nextcloud.local' >> /etc/hosts"
docker-compose up nextcloud proxy
```
## Manual setup
The above script will clone this repository and afterwards perform the setup of the development manual with the following steps:
### Nextcloud Code
To properly verify what is happening you might want to clone manually using the following commands, if you don't trust piping random URLs to the terminal:
The Nextcloud code base needs to be available including the `3rdparty` submodule. To clone it from github run:
```bash
git clone https://github.com/juliushaertl/nextcloud-docker-dev
cd nextcloud-docker-dev
./bootstrap.sh
```
# Common tasks
### Starting the containers
- Start full setup: `docker-compose up`
- Minimum: `docker-compose up proxy nextcloud` (nextcloud mysql redis mailhog)
### Running stable versions
The main nextcloud service is ment for running the master branch checkout of the server and your apps. The docker-compose file provides individual containers for stable Nextcloud releases. In order to run those you will need a checkout of the stable version server branch to your workspace directory. Using [git worktree](https://blog.juliushaertl.de/index.php/2018/01/24/how-to-checkout-multiple-git-branches-at-the-same-time/) makes it easy to have different branches checked out in parallel in separate directories.
During the bootstrap script an initial set of the last 3 stable releases will be checked out already at the workspace/ directory, however you may add newer or older ones manually using the following commands:
```bash
cd workspace/server
git worktree add ../stable23 stable23
cd ../stable23
git clone https://github.com/nextcloud/server.git
cd server
git submodule update --init
pwd
```
The last command prints the path to the Nextcloud server directory.
Use it for setting the `REPO_PATH_SERVER` in the next step.
After adding the worktree you can start the stable container using `docker-compose up -d stable23`. You can then add `stable23.local 127.0.0.1` to your `/etc/hosts` file to access it.
Git worktrees can also be used to have a checkout of an apps stable brach within the server stable directory.
```
cd workspace/server/apps-extra/text
git worktree add ../../../stable23/apps-extra/text stable23
```
### Running into errors
If your setup isn't working and you can not figure out the reason why, running
`docker-compose down -v` will remove the relevant containers and volumes,
allowing you to run `docker-compose up` again from a clean slate.
## Configuration
### Environment variables
This is automatically done by the bootstrap script.
A `.env` file should be created in the repository root, to keep configuration default on the dev setup:
```
@@ -141,28 +65,43 @@ The variable supports the following values:
1. PHP 7.4: `74`
1. PHP 8.0: `80`
### dnsmasq to resolve wildcard domains
### Starting the containers
Instead of adding the individual container domains to `/etc/hosts` a local dns server like dnsmasq can be used to resolve any domain ending with the configured DOMAIN_SUFFIX in `.env` to localhost.
- Start full setup: `docker-compose up`
- Minimum: `docker-compose up proxy nextcloud` (nextcloud mysql redis mailhog)
### Running stable versions
The docker-compose file provides individual containers for stable Nextcloud releases. In order to run those you will need a checkout of the stable version server branch to your workspace directory. Using [git worktree](https://blog.juliushaertl.de/index.php/2018/01/24/how-to-checkout-multiple-git-branches-at-the-same-time/) makes it easy to have different branches checked out in parallel in separate directories.
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:
cd workspace/server
git fetch --unshallow
This may take some time depending on your internet connection speed.
For dnsmasq adding the following configuration would be sufficient for `DOMAIN_SUFFIX=.local`:
```
address=/.local/127.0.0.1
cd workspace/server
git worktree add ../stable23 stable23
cd ../stable23
git submodule update --init
```
### Use valid certificates trusted by your system
After adding the worktree you can start the stable container using `docker-compose up -d stable23`. You can then add stable23.local to your `/etc/hosts` file to access it.
* Install mkcert https://github.com/FiloSottile/mkcert
* Go to `data/ssl`
* `mkcert nextcloud.local`
Git worktrees can also be used to have a checkout of an apps stable brach within the server stable directory.
* `mv nextcloud.local-key.pem nextcloud.local.key`
* `mv nextcloud.local.pem nextcloud.local.crt`
* `docker-compose restart proxy`
```
cd workspace/server/apps-extra/text
git worktree add ../../../stable23/apps-extra/text stable23
```
# Services
### Running into errors
Each service can be started using `docker-compose up -d <service>`. Some services like LDAP come with autoconfiguration if the used Nextcloud service is installed from scratch, so you may want to destroy the existing containers before starting the service using `docker-compose down -v`, but this will also drop any data or configuration you may already have on the instances.
If your setup isn't working and you can not figure out the reason why, running
`docker-compose down -v` will remove the relevant containers and volumes,
allowing you to run `docker-compose up` again from a clean slate.
## 🔒 Reverse Proxy
@@ -190,6 +129,25 @@ cd data/ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout nextcloud.local.key -out nextcloud.local.crt
```
### dnsmasq to resolve wildcard domains
Instead of adding the individual container domains to `/etc/hosts` a local dns server like dnsmasq can be used to resolve any domain ending with the configured DOMAIN_SUFFIX in `.env` to localhost.
For dnsmasq adding the following configuration would be sufficient for `DOMAIN_SUFFIX=.local`:
```
address=/.local/127.0.0.1
```
### Use valid certificates trusted by your system
* Install mkcert https://github.com/FiloSottile/mkcert
* Go to `data/ssl`
* `mkcert nextcloud.local`
* `mv nextcloud.local-key.pem nextcloud.local.key`
* `mv nextcloud.local.pem nextcloud.local.crt`
* `docker-compose restart proxy`
## ✉ Mail
Sending/receiving mails can be tested with [mailhog](https://github.com/mailhog/MailHog) which is available on ports 1025 (SMTP).
@@ -334,7 +292,7 @@ docker-compose up -d elasticsearch elasticsearch-ui
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
docker-composer up proxy nextcloud minio
docker-compose up proxy nextcloud minio
```
## Development
@@ -374,7 +332,7 @@ Users are named the same as the instance name, e.g. gs1, gs2
Enable the imaginary server for generating previews
```bash
docker-composer up proxy nextcloud previews_hpb
docker-compose up proxy nextcloud previews_hpb
./scripts/enable-preview-imaginary.sh
```
+16 -50
View File
@@ -51,61 +51,34 @@ is_installed git
echo
echo "⏩ Setting up folder structure and fetching repositories"
# check if already in git
if [[ ! -f bootstrap.sh && ! -d .git ]]
then
git clone https://github.com/juliushaertl/nextcloud-docker-dev.git &&
cd nextcloud-docker-dev
echo "✅ Cloned the docker environment" | indent
fi
pwd
INSTALL_SHIPPED_APPS="activity viewer recommendations files_pdfviewer"
INSTALL_
mkdir -p workspace/
(
(
echo "🌏 Fetching server (this might take a while to finish)" &&
git clone https://github.com/nextcloud/server.git --depth 1 workspace/server &&
cd workspace/server && git submodule update --init
git clone https://github.com/nextcloud/server.git --depth 1 workspace/server 2>&1 | indent_cli &&
cd workspace/server && git submodule update --init 2>&1 | indent_cli
) || echo "❌ Failed to clone Nextcloud server code"
echo "✅ Cloned the Nextcloud server source code"
) | indent
#(
# (
# cd workspace/server && \
# git worktree add ../stable19 stable19 2>&1 | indent_cli
# ) || echo "❌ Failed to setup worktree for stable19"
#) | indent
mkdir -p workspace/server/apps-extra
install_app viewer
install_app recommendations
install_app files_pdfviewer
install_app profiler
# TODO download last 3 stable branches
install_stable() {
cd workspace/server && \
git worktree add ../stable24 stable24 2>&1
}
(
(
install_stable stable24 | indent_cli
install_stable stable23 | indent_cli
install_stable stable22 | indent_cli
) || echo "❌ Failed to setup worktree for stable19"
) | indent
# Add /etc/hosts from container list
echo "⏩ Adding development URLs to /etc/hosts"
sudo sh -c "echo '127.0.0.1 nextcloud.local' >> /etc/hosts"
awk -v D=.local '/- [A-z0-9]+\${DOMAIN_SUFFIX}/ {sub("\\$\{DOMAIN_SUFFIX\}", D " 127.0.0.1", $2); print $2}' docker-compose.yml
echo
echo
echo "⏩ Setup your environment in an .env file"
if [ ! -f ".env" ]; then
cat <<EOT >.env
COMPOSE_PROJECT_NAME=nextcloud
COMPOSE_PROJECT_NAME=master
DOMAIN_SUFFIX=.local
REPO_PATH_SERVER=$PWD/workspace/server
ADDITIONAL_APPS_PATH=$PWD/workspace/server/apps-extra
@@ -135,11 +108,6 @@ cat <<EOF
$ docker-compose up -d nextcloud
🌍 Open the browser
http://nextcloud.local
💤 Stop it with
$ docker-compose stop nextcloud
@@ -150,18 +118,16 @@ cat <<EOF
$ docker-compose down -v
Note that for performance reasons the server repository has been cloned with --depth=1. To get the full history it is highly recommended to run:
=======
Note that for performance reasons the server repository has been cloned with
--depth=1. To get the full history it is highly recommended to run:
Note that for performance reasons the server repository has been cloned with
--depth=1. To get the full history it is highly recommended to run:
cd workspace/server
git fetch --unshallow
$ cd workspace/server
$ git fetch --unshallow
This may take some time depending on your internet connection speed.
This may take some time depending on your internet connection speed.
For more details about the individual setup options see
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
EOF
+153 -73
View File
@@ -34,6 +34,7 @@ services:
- stable22${DOMAIN_SUFFIX}
- stable23${DOMAIN_SUFFIX}
- stable24${DOMAIN_SUFFIX}
- stable25${DOMAIN_SUFFIX}
- collabora${DOMAIN_SUFFIX}
- onlyoffice${DOMAIN_SUFFIX}
- proxy${DOMAIN_SUFFIX}
@@ -57,7 +58,7 @@ services:
- ./docker/configs/haproxy.conf:/usr/local/etc/haproxy/haproxy.cfg:ro
nextcloud:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-74}:latest
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
@@ -66,11 +67,13 @@ services:
VIRTUAL_HOST: "nextcloud${DOMAIN_SUFFIX}"
ADDITIONAL_APPS_PATH:
NEXTCLOUD_TRUSTED_DOMAINS:
BLACKFIRE_CLIENT_ID:
BLACKFIRE_CLIENT_TOKEN:
volumes:
- '${REPO_PATH_SERVER:-/home/jus/repos/nextcloud/server}:/var/www/html'
- '${REPO_PATH_SERVER}:/var/www/html'
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-extra'
- data:/var/www/html/data
- config:/var/www/html/config
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-extra'
- /var/www/html/apps-writable
- ./data/skeleton/:/skeleton
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
@@ -85,12 +88,12 @@ services:
- host.docker.internal:host-gateway
nextcloud2:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-73}:latest
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
SQL: 'mysql'
VIRTUAL_HOST: "nextcloud2${DOMAIN_SUFFIX}"
volumes:
- '${REPO_PATH_SERVER:-/home/jus/repos/nextcloud/server}:/var/www/html'
- '${REPO_PATH_SERVER}:/var/www/html'
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-extra'
- ./data/skeleton/:/skeleton
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
@@ -104,12 +107,12 @@ services:
- host.docker.internal:host-gateway
nextcloud3:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-73}:latest
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
SQL: 'mysql'
SQL: ${SQL:-mysql}
VIRTUAL_HOST: "nextcloud3${DOMAIN_SUFFIX}"
volumes:
- '${REPO_PATH_SERVER:-/home/jus/repos/nextcloud/server}:/var/www/html'
- '${REPO_PATH_SERVER}:/var/www/html'
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-extra'
- ./data/skeleton/:/skeleton
- ./docker/configs/config.php:/var/www/html/config/writable.config.php:ro
@@ -122,9 +125,9 @@ services:
- host.docker.internal:host-gateway
stable16:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-72}:latest
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-73}:latest
environment:
SQL: 'sqlite'
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
NEXTCLOUD_AUTOINSTALL_APPS:
WITH_REDIS: "YES"
@@ -132,23 +135,27 @@ services:
ADDITIONAL_APPS_PATH:
NEXTCLOUD_TRUSTED_DOMAINS:
volumes:
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable16:/var/www/html'
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable16/apps-extra:/var/www/html/apps-extra'
- '${STABLE_ROOT_PATH}/stable16:/var/www/html'
- '${STABLE_ROOT_PATH}/stable16/apps-extra:/var/www/html/apps-extra'
- /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
ports:
- "${PORTBASE:-800}0:80"
depends_on:
- ${DB_SERVICE:-database-mysql}
- redis
- mail
extra_hosts:
- host.docker.internal:host-gateway
stable17:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-72}:latest
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-73}:latest
environment:
SQL: 'sqlite'
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
NEXTCLOUD_AUTOINSTALL_APPS:
WITH_REDIS: "YES"
@@ -156,23 +163,27 @@ services:
ADDITIONAL_APPS_PATH:
NEXTCLOUD_TRUSTED_DOMAINS:
volumes:
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable17:/var/www/html'
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable17/apps-extra:/var/www/html/apps-extra'
- '${STABLE_ROOT_PATH}/stable17:/var/www/html'
- '${STABLE_ROOT_PATH}/stable17/apps-extra:/var/www/html/apps-extra'
- /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
ports:
- "${PORTBASE:-800}0:80"
depends_on:
- ${DB_SERVICE:-database-mysql}
- redis
- mail
extra_hosts:
- host.docker.internal:host-gateway
stable18:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-73}:latest
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-74}:latest
environment:
SQL: 'sqlite'
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
NEXTCLOUD_AUTOINSTALL_APPS:
WITH_REDIS: "YES"
@@ -180,25 +191,27 @@ services:
ADDITIONAL_APPS_PATH:
NEXTCLOUD_TRUSTED_DOMAINS:
volumes:
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable18:/var/www/html'
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable18/apps-extra:/var/www/html/apps-extra'
- '${STABLE_ROOT_PATH}/stable18:/var/www/html'
- '${STABLE_ROOT_PATH}/stable18/apps-extra:/var/www/html/apps-extra'
- /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
ports:
- "${PORTBASE:-800}0:80"
depends_on:
- ${DB_SERVICE:-database-mysql}
- redis
- mail
extra_hosts:
- host.docker.internal:host-gateway
stable19:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-72}:latest
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-74}:latest
environment:
SQL: 'sqlite'
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
NEXTCLOUD_AUTOINSTALL_APPS:
WITH_REDIS: "YES"
@@ -206,20 +219,27 @@ services:
ADDITIONAL_APPS_PATH:
NEXTCLOUD_TRUSTED_DOMAINS:
volumes:
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable19:/var/www/html'
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable19/apps-extra:/var/www/html/apps-extra'
- '${STABLE_ROOT_PATH}/stable19:/var/www/html'
- '${STABLE_ROOT_PATH}/stable19/apps-extra:/var/www/html/apps-extra'
- /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
ports:
- "${PORTBASE:-800}0:80"
depends_on:
- ${DB_SERVICE:-database-mysql}
- redis
- mail
extra_hosts:
- host.docker.internal:host-gateway
stable20:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-72}:latest
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-74}:latest
environment:
SQL: 'sqlite'
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
NEXTCLOUD_AUTOINSTALL_APPS:
WITH_REDIS: "YES"
@@ -227,20 +247,27 @@ services:
ADDITIONAL_APPS_PATH:
NEXTCLOUD_TRUSTED_DOMAINS:
volumes:
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable20:/var/www/html'
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable20/apps-extra:/var/www/html/apps-extra'
- '${STABLE_ROOT_PATH}/stable20:/var/www/html'
- '${STABLE_ROOT_PATH}/stable20/apps-extra:/var/www/html/apps-extra'
- /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
ports:
- "${PORTBASE:-800}0:80"
depends_on:
- ${DB_SERVICE:-database-mysql}
- redis
- mail
extra_hosts:
- host.docker.internal:host-gateway
stable21:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-73}:latest
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-80}:latest
environment:
SQL: 'sqlite'
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
NEXTCLOUD_AUTOINSTALL_APPS:
WITH_REDIS: "YES"
@@ -248,20 +275,27 @@ services:
ADDITIONAL_APPS_PATH:
NEXTCLOUD_TRUSTED_DOMAINS:
volumes:
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable21:/var/www/html'
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable21/apps-extra:/var/www/html/apps-extra'
- '${STABLE_ROOT_PATH}/stable21:/var/www/html'
- '${STABLE_ROOT_PATH}/stable21/apps-extra:/var/www/html/apps-extra'
- /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
ports:
- "${PORTBASE:-800}0:80"
depends_on:
- ${DB_SERVICE:-database-mysql}
- redis
- mail
extra_hosts:
- host.docker.internal:host-gateway
stable22:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-73}:latest
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-80}:latest
environment:
SQL: 'sqlite'
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
NEXTCLOUD_AUTOINSTALL_APPS:
WITH_REDIS: "YES"
@@ -269,46 +303,27 @@ services:
ADDITIONAL_APPS_PATH:
NEXTCLOUD_TRUSTED_DOMAINS:
volumes:
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable22:/var/www/html'
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable22/apps-extra:/var/www/html/apps-extra'
- '${STABLE_ROOT_PATH}/stable22:/var/www/html'
- '${STABLE_ROOT_PATH}/stable22/apps-extra:/var/www/html/apps-extra'
- /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
ports:
- "${PORTBASE:-800}0:80"
depends_on:
- redis
- mail
extra_hosts:
- host.docker.internal:host-gateway
stable24:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-74}:latest
environment:
SQL: 'mysql'
NEXTCLOUD_AUTOINSTALL: "YES"
NEXTCLOUD_AUTOINSTALL_APPS:
WITH_REDIS: "YES"
VIRTUAL_HOST: stable24${DOMAIN_SUFFIX}
ADDITIONAL_APPS_PATH:
NEXTCLOUD_TRUSTED_DOMAINS:
volumes:
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable24:/var/www/html'
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable24/apps-extra:/var/www/html/apps-extra'
- /var/www/html/data
- /var/www/html/config
- /var/www/html/apps-writable
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
depends_on:
- ${DB_SERVICE:-database-mysql}
- redis
- mail
extra_hosts:
- host.docker.internal:host-gateway
stable23:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-73}:latest
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-80}:latest
environment:
SQL: 'sqlite'
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
NEXTCLOUD_AUTOINSTALL_APPS:
WITH_REDIS: "YES"
@@ -316,10 +331,74 @@ services:
ADDITIONAL_APPS_PATH:
NEXTCLOUD_TRUSTED_DOMAINS:
volumes:
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable23:/var/www/html'
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/stable23/apps-extra:/var/www/html/apps-extra'
- '${STABLE_ROOT_PATH}/stable23:/var/www/html'
- '${STABLE_ROOT_PATH}/stable23/apps-extra:/var/www/html/apps-extra'
- /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
ports:
- "${PORTBASE:-800}0:80"
depends_on:
- ${DB_SERVICE:-database-mysql}
- redis
- mail
extra_hosts:
- host.docker.internal:host-gateway
stable24:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-80}:latest
environment:
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
NEXTCLOUD_AUTOINSTALL_APPS:
WITH_REDIS: "YES"
VIRTUAL_HOST: stable24${DOMAIN_SUFFIX}
ADDITIONAL_APPS_PATH:
NEXTCLOUD_TRUSTED_DOMAINS:
volumes:
- '${STABLE_ROOT_PATH}/stable24:/var/www/html'
- '${STABLE_ROOT_PATH}/stable24/apps-extra:/var/www/html/apps-extra'
- /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
ports:
- "${PORTBASE:-800}0:80"
depends_on:
- ${DB_SERVICE:-database-mysql}
- redis
- mail
extra_hosts:
- host.docker.internal:host-gateway
stable25:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
SQL: ${SQL:-mysql}
NEXTCLOUD_AUTOINSTALL: "YES"
NEXTCLOUD_AUTOINSTALL_APPS:
WITH_REDIS: "YES"
VIRTUAL_HOST: stable25${DOMAIN_SUFFIX}
ADDITIONAL_APPS_PATH:
NEXTCLOUD_TRUSTED_DOMAINS:
volumes:
- '${STABLE_ROOT_PATH}/stable25:/var/www/html'
- '${STABLE_ROOT_PATH}/stable25/apps-extra:/var/www/html/apps-extra'
- /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
ports:
- "${PORTBASE:-800}0:80"
depends_on:
- ${DB_SERVICE:-database-mysql}
- redis
- mail
extra_hosts:
@@ -441,6 +520,7 @@ services:
aliasgroup6: http://stable22${DOMAIN_SUFFIX}
aliasgroup7: http://stable23${DOMAIN_SUFFIX}
aliasgroup8: http://stable24${DOMAIN_SUFFIX}
aliasgroup9: http://stable25${DOMAIN_SUFFIX}
dictionaries: de_DE en_US en_GB
username: admin
password: admin
@@ -539,14 +619,14 @@ services:
- clam:/var/lib/clamav
portal:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-74}:latest
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
VIRTUAL_HOST: portal${DOMAIN_SUFFIX}
SQL: 'mysql'
GS_MODE: master
volumes:
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/server:/var/www/html'
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/server/apps-extra:/var/www/html/apps-extra'
- '${STABLE_ROOT_PATH}/server:/var/www/html'
- '${STABLE_ROOT_PATH}/server/apps-extra:/var/www/html/apps-extra'
- /var/www/html/data
- /var/www/html/config
- ./data/skeleton/:/skeleton
@@ -561,14 +641,14 @@ services:
- host.docker.internal:host-gateway
gs1:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-74}:latest
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
VIRTUAL_HOST: gs1${DOMAIN_SUFFIX}
SQL: 'mysql'
GS_MODE: slave
volumes:
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/server:/var/www/html'
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/server/apps-extra:/var/www/html/apps-extra'
- '${STABLE_ROOT_PATH}/server:/var/www/html'
- '${STABLE_ROOT_PATH}/server/apps-extra:/var/www/html/apps-extra'
- /var/www/html/data
- /var/www/html/config
- ./data/skeleton/:/skeleton
@@ -584,14 +664,14 @@ services:
- host.docker.internal:host-gateway
gs2:
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-74}:latest
image: ghcr.io/juliushaertl/nextcloud-dev-php${PHP_VERSION:-81}:latest
environment:
VIRTUAL_HOST: gs2${DOMAIN_SUFFIX}
SQL: 'mysql'
GS_MODE: slave
volumes:
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/server:/var/www/html'
- '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/server/apps-extra:/var/www/html/apps-extra'
- '${STABLE_ROOT_PATH}/server:/var/www/html'
- '${STABLE_ROOT_PATH}/server/apps-extra:/var/www/html/apps-extra'
- /var/www/html/data
- /var/www/html/config
- ./data/skeleton/:/skeleton
@@ -611,7 +691,7 @@ services:
environment:
VIRTUAL_HOST: "lookup${DOMAIN_SUFFIX}"
# volumes:
# - '${STABLE_ROOT_PATH:-/home/jus/repos/nextcloud}/lookupserver:/var/www/html'
# - '${STABLE_ROOT_PATH}/lookupserver:/var/www/html'
extra_hosts:
- host.docker.internal:host-gateway
+8 -15
View File
@@ -49,11 +49,16 @@ RUN pecl install APCu; \
docker-php-source delete && \
rm -r /tmp/* /var/cache/*
# dev tools separate install so we quickly change without rebuilding all php extenions
# 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 \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN cd /tmp && curl -L https://phar.phpunit.de/phpunit.phar > phpunit.phar && \
chmod +x phpunit.phar && \
mv /tmp/phpunit.phar /usr/local/bin/phpunit
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
RUN { \
@@ -67,26 +72,14 @@ RUN mkdir --parent /var/log/cron
ADD configs/cron.conf /etc/nc-cron.conf
RUN crontab /etc/nc-cron.conf
# PHP configuration
RUN { \
echo 'opcache.enable=1'; \
echo 'opcache.enable_cli=1'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=10000'; \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.save_comments=1'; \
echo 'opcache.revalidate_freq=1'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini; \
echo 'apc.enable_cli=1' >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini; \
echo 'memory_limit=512M' > /usr/local/etc/php/conf.d/memory-limit.ini
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-php \
&& apt-get install -y --no-install-recommends blackfire-php blackfire \
&& printf "blackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini \
&& rm -rf /var/lib/apt/lists/*
+8 -15
View File
@@ -49,11 +49,16 @@ RUN pecl install APCu; \
docker-php-source delete && \
rm -r /tmp/* /var/cache/*
# dev tools separate install so we quickly change without rebuilding all php extenions
# 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 \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN cd /tmp && curl -L https://phar.phpunit.de/phpunit.phar > phpunit.phar && \
chmod +x phpunit.phar && \
mv /tmp/phpunit.phar /usr/local/bin/phpunit
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
RUN { \
@@ -67,26 +72,14 @@ RUN mkdir --parent /var/log/cron
ADD configs/cron.conf /etc/nc-cron.conf
RUN crontab /etc/nc-cron.conf
# PHP configuration
RUN { \
echo 'opcache.enable=1'; \
echo 'opcache.enable_cli=1'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=10000'; \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.save_comments=1'; \
echo 'opcache.revalidate_freq=1'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini; \
echo 'apc.enable_cli=1' >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini; \
echo 'memory_limit=512M' > /usr/local/etc/php/conf.d/memory-limit.ini
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-php \
&& apt-get install -y --no-install-recommends blackfire-php blackfire \
&& printf "blackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini \
&& rm -rf /var/lib/apt/lists/*
+8 -15
View File
@@ -49,11 +49,16 @@ RUN pecl install APCu; \
docker-php-source delete && \
rm -r /tmp/* /var/cache/*
# dev tools separate install so we quickly change without rebuilding all php extenions
# 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 \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN cd /tmp && curl -L https://phar.phpunit.de/phpunit.phar > phpunit.phar && \
chmod +x phpunit.phar && \
mv /tmp/phpunit.phar /usr/local/bin/phpunit
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
RUN { \
@@ -67,26 +72,14 @@ RUN mkdir --parent /var/log/cron
ADD configs/cron.conf /etc/nc-cron.conf
RUN crontab /etc/nc-cron.conf
# PHP configuration
RUN { \
echo 'opcache.enable=1'; \
echo 'opcache.enable_cli=1'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=10000'; \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.save_comments=1'; \
echo 'opcache.revalidate_freq=1'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini; \
echo 'apc.enable_cli=1' >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini; \
echo 'memory_limit=512M' > /usr/local/etc/php/conf.d/memory-limit.ini
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-php \
&& apt-get install -y --no-install-recommends blackfire-php blackfire \
&& printf "blackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini \
&& rm -rf /var/lib/apt/lists/*
+8 -15
View File
@@ -49,11 +49,16 @@ RUN pecl install APCu; \
docker-php-source delete && \
rm -r /tmp/* /var/cache/*
# dev tools separate install so we quickly change without rebuilding all php extenions
# 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 \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN cd /tmp && curl -L https://phar.phpunit.de/phpunit.phar > phpunit.phar && \
chmod +x phpunit.phar && \
mv /tmp/phpunit.phar /usr/local/bin/phpunit
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
RUN { \
@@ -67,26 +72,14 @@ RUN mkdir --parent /var/log/cron
ADD configs/cron.conf /etc/nc-cron.conf
RUN crontab /etc/nc-cron.conf
# PHP configuration
RUN { \
echo 'opcache.enable=1'; \
echo 'opcache.enable_cli=1'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=10000'; \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.save_comments=1'; \
echo 'opcache.revalidate_freq=1'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini; \
echo 'apc.enable_cli=1' >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini; \
echo 'memory_limit=512M' > /usr/local/etc/php/conf.d/memory-limit.ini
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-php \
&& apt-get install -y --no-install-recommends blackfire-php blackfire \
&& printf "blackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini \
&& rm -rf /var/lib/apt/lists/*
+8 -15
View File
@@ -49,11 +49,16 @@ RUN pecl install APCu; \
docker-php-source delete && \
rm -r /tmp/* /var/cache/*
# dev tools separate install so we quickly change without rebuilding all php extenions
# 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 \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN cd /tmp && curl -L https://phar.phpunit.de/phpunit.phar > phpunit.phar && \
chmod +x phpunit.phar && \
mv /tmp/phpunit.phar /usr/local/bin/phpunit
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
RUN { \
@@ -67,26 +72,14 @@ RUN mkdir --parent /var/log/cron
ADD configs/cron.conf /etc/nc-cron.conf
RUN crontab /etc/nc-cron.conf
# PHP configuration
RUN { \
echo 'opcache.enable=1'; \
echo 'opcache.enable_cli=1'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=10000'; \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.save_comments=1'; \
echo 'opcache.revalidate_freq=1'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini; \
echo 'apc.enable_cli=1' >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini; \
echo 'memory_limit=512M' > /usr/local/etc/php/conf.d/memory-limit.ini
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-php \
&& apt-get install -y --no-install-recommends blackfire-php blackfire \
&& printf "blackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini \
&& rm -rf /var/lib/apt/lists/*
+8 -15
View File
@@ -49,11 +49,16 @@ RUN pecl install APCu; \
docker-php-source delete && \
rm -r /tmp/* /var/cache/*
# dev tools separate install so we quickly change without rebuilding all php extenions
# 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 \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN cd /tmp && curl -L https://phar.phpunit.de/phpunit.phar > phpunit.phar && \
chmod +x phpunit.phar && \
mv /tmp/phpunit.phar /usr/local/bin/phpunit
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
RUN { \
@@ -67,26 +72,14 @@ RUN mkdir --parent /var/log/cron
ADD configs/cron.conf /etc/nc-cron.conf
RUN crontab /etc/nc-cron.conf
# PHP configuration
RUN { \
echo 'opcache.enable=1'; \
echo 'opcache.enable_cli=1'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=10000'; \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.save_comments=1'; \
echo 'opcache.revalidate_freq=1'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini; \
echo 'apc.enable_cli=1' >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini; \
echo 'memory_limit=512M' > /usr/local/etc/php/conf.d/memory-limit.ini
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-php \
&& apt-get install -y --no-install-recommends blackfire-php blackfire \
&& printf "blackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini \
&& rm -rf /var/lib/apt/lists/*
+8 -15
View File
@@ -49,11 +49,16 @@ RUN pecl install APCu; \
docker-php-source delete && \
rm -r /tmp/* /var/cache/*
# dev tools separate install so we quickly change without rebuilding all php extenions
# 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 \
&& rm -rf /var/lib/apt/lists/*
# Install PHPUnit
RUN cd /tmp && curl -L https://phar.phpunit.de/phpunit.phar > phpunit.phar && \
chmod +x phpunit.phar && \
mv /tmp/phpunit.phar /usr/local/bin/phpunit
RUN wget https://gist.githubusercontent.com/nickvergessen/e21ee0a09ee3b3f7fd1b04c83dd3e114/raw/83142be1e50c23e8de1bd7aae88a95e5d6ae1ce2/nextcloud_log.json && lnav -i nextcloud_log.json && rm nextcloud_log.json
RUN { \
@@ -67,26 +72,14 @@ RUN mkdir --parent /var/log/cron
ADD configs/cron.conf /etc/nc-cron.conf
RUN crontab /etc/nc-cron.conf
# PHP configuration
RUN { \
echo 'opcache.enable=1'; \
echo 'opcache.enable_cli=1'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=10000'; \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.save_comments=1'; \
echo 'opcache.revalidate_freq=1'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini; \
echo 'apc.enable_cli=1' >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini; \
echo 'memory_limit=512M' > /usr/local/etc/php/conf.d/memory-limit.ini
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-php \
&& apt-get install -y --no-install-recommends blackfire-php blackfire \
&& printf "blackfire.agent_socket=tcp://blackfire:8307\n" >> $PHP_INI_DIR/conf.d/zz-blackfire.ini \
&& rm -rf /var/lib/apt/lists/*
-2
View File
@@ -36,7 +36,5 @@
'skeletondirectory' => '/skeleton',
'dbuser' => 'root',
//PLACEHOLDER
];
+12
View File
@@ -0,0 +1,12 @@
display_startup_errors=0
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
apc.enable_cli=1
memory_limit=512M
+1
View File
@@ -12,6 +12,7 @@ function occ() {
docker compose exec "$CONTAINER" sudo -E -u www-data "./occ" "$@"
}
# shellcheck disable=SC1091
source .env
echo "Setting up Collabora with collabora$DOMAIN_SUFFIX on $CONTAINER"
+1
View File
@@ -12,6 +12,7 @@ function occ() {
docker compose exec "$CONTAINER" sudo -E -u www-data "./occ" "$@"
}
# shellcheck disable=SC1091
source .env
echo "Setting up ONLYOFFICE with onlyoffice$DOMAIN_SUFFIX on $CONTAINER"