Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c11df7ec3b | |||
| 24e0fe8c6b | |||
| 2cec861c04 | |||
| 360460d1dd | |||
| abfabbf9fa | |||
| f0615d4ada | |||
| ca6cd7ab47 | |||
| 0a9394970a | |||
| 2c4e5276cd | |||
| eb5d7696fc | |||
| 7c9bdb1eae | |||
| e810162ce4 | |||
| 54cd62b844 | |||
| 116c812da4 | |||
| fab4ac3a10 | |||
| cca7fb8ed8 |
@@ -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:
|
||||
|
||||
@@ -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
@@ -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
@@ -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
|
||||
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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/*
|
||||
|
||||
|
||||
@@ -36,7 +36,5 @@
|
||||
|
||||
'skeletondirectory' => '/skeleton',
|
||||
|
||||
'dbuser' => 'root',
|
||||
|
||||
//PLACEHOLDER
|
||||
];
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user