Compare commits

...

479 Commits

Author SHA1 Message Date
Tilo Spannagel 6c1044fef4
Merge pull request #1020 from tilosp/bot/update
Add nextcloud 16.0.9RC1, 17.0.4RC1 and 18.0.2RC1
2020-03-06 18:30:35 +01:00
tilosp-bot da5b3bed1f Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2020-03-06 13:00:55 +00:00
Simon ac8c998431
rename imagick extension package for buster compat (#1008)
Signed-off-by: Simon Hötten <simon@hoetten.org>
2020-02-23 18:09:49 +00:00
Tilo Spannagel 4cd608a6e0
Merge pull request #997 from tilosp/bot/update
Update nextcloud to 18.0.1
2020-02-13 20:14:56 +01:00
tilosp-bot 884d8c21a5 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2020-02-13 11:14:36 +00:00
Tilo Spannagel ac10481730
Merge pull request #994 from tilosp/bot/update
Update nextcloud to 18.0.1RC3
2020-02-11 00:09:29 +01:00
tilosp-bot bf039fa5dd Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2020-02-10 20:05:58 +00:00
Tilo Spannagel ce4af3ac34
Update production tag 2020-02-10 14:50:18 +01:00
Tilo Spannagel 4d9460c191
Merge pull request #990 from tilosp/bot/update
Update to nextcloud 18.0.1RC2
2020-02-07 15:44:35 +01:00
tilosp-bot 9a2dcf481c Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2020-02-07 12:09:52 +00:00
Tilo Spannagel ddf60930f1
Update stable tag 2020-02-06 21:18:08 +01:00
Tilo Spannagel 26487c056c
Merge pull request #988 from nextcloud/eol-15
Remove end of life version 15.0
2020-02-06 15:20:27 +01:00
Tilo Spannagel 4053ea4fb0 Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2020-02-06 12:36:18 +01:00
Tilo Spannagel 8c96d5b7ad Remove end of life version 15.0
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2020-02-06 12:35:38 +01:00
Tilo Spannagel 4bd951c622
Merge pull request #987 from tilosp/bot/update
Add nextcloud 18.0.1RC1
2020-02-06 12:35:02 +01:00
tilosp-bot 79c51bc316 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2020-02-06 10:05:39 +00:00
Tilo Spannagel 03ec56e7b9
Merge pull request #982 from tilosp/bot/update
Update to 16.0.8 and 17.0.3
2020-01-30 23:10:14 +01:00
tilosp-bot 96c5d80121 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2020-01-30 14:00:52 +00:00
Tilo Spannagel 08ea909b43
Merge pull request #976 from tilosp/bot/update
Add nextcloud 16.0.8RC1 and 17.0.3RC1
2020-01-24 20:05:00 +01:00
tilosp-bot 276de2c422 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2020-01-24 14:00:18 +00:00
Tilo Spannagel cef7ec58da
Merge pull request #967 from tilosp/bot/update
Update to 18.0.0
2020-01-17 21:28:55 +01:00
tilosp-bot c8fe9f3055 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2020-01-17 14:04:57 +00:00
J0WI 13be446667
Change sleep time from 3s to 10s in all entrypoint.sh files (#963)
Signed-off-by: Nils Wittenbrink <nilswittenbrink@web.de>

Co-authored-by: Nils160988 <nilswittenbrink@web.de>
2020-01-13 18:10:28 +00:00
J0WI fbdb70e856
Remove workaround to create the postgres db (fix #886) (#961)
This reverts commit 4df6f79568.
The upstream bug has been fixed in https://github.com/nextcloud/server/pull/15187

Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2020-01-13 16:11:28 +00:00
Tilo Spannagel 15ea896496
Merge pull request #921 from nextcloud/tilosp/stable-17.0.1
Ship 17.0.2 on stable channel
2020-01-13 17:11:02 +01:00
Tilo Spannagel e93b6a4251 Ship 17.0.2 on stable channel
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2020-01-11 14:18:07 +01:00
Tortue Torche d9ab30a969 Fix Redis Unix socket support (#944)
* Fix Redis Unix socket support

Rebase and rewrite the @epma01 pull request, based on last Nextcloud Docker changes
See: https://github.com/nextcloud/docker/pull/735

Signed-off-by: Tortue Torche <tortuetorche@users.noreply.github.com>

* Fix CI tests with update.sh script

Signed-off-by: Tortue Torche <tortuetorche@users.noreply.github.com>
2020-01-10 23:38:38 +00:00
Diab Neiroukh b3f71af495 Correct supervisord examples so that the container can start (#925)
Inspired by #847, I selected the rootdir as the place for our configuration
since we already chuck a few files there as seen by https://github.com/nextcloud/docker/blob/master/17.0/fpm-alpine/Dockerfile#L122.

Suggested-by: mikecai <mikecai@us.ibm.com>
Signed-off-by: Diab Neiroukh <officiallazerl0rd@gmail.com>
2020-01-09 14:05:36 +00:00
tilosp-bot a3a21c2de7 Run update.sh (#959)
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2020-01-09 13:58:41 +00:00
Tilo Spannagel 3e474524d0
Merge pull request #954 from tilosp/bot/update
Update to 18.0.0RC1
2020-01-03 23:01:26 +01:00
tilosp-bot 2a4b286de1 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2020-01-03 10:32:26 +00:00
Tilo Spannagel 6353fe7bae
Merge pull request #953 from J0WI/alpine3.11
Upgrade Alpine to 3.11
2020-01-03 11:31:00 +01:00
J0WI 0e24415434 Upgrade Alpine to 3.11
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2020-01-02 20:10:16 +01:00
Tilo Spannagel 0ea3f25d95
Merge pull request #952 from tilosp/bot/update
Update to 18.0.0beta4
2019-12-29 00:25:23 +01:00
tilosp-bot 08916e2cc0 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-12-27 14:00:22 +00:00
Tilo Spannagel 22dcc8e844
Merge pull request #946 from tilosp/bot/update
Update to 15.0.14, 16.0.7, 17.0.2 and 18.0.0beta3
2019-12-19 22:19:17 +01:00
tilosp-bot 481072c892 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-12-19 14:03:23 +00:00
Tilo Spannagel 1c23b49eae
Merge pull request #943 from tilosp/bot/update
Add nextcloud 15.0.14RC1, 16.0.7RC1 and 17.0.2RC1
2019-12-13 18:45:13 +01:00
tilosp-bot 0ebad10363 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-12-13 11:16:18 +00:00
Tilo Spannagel 88e6e3b9b2
Merge pull request #940 from tilosp/bot/update
Update to 18.0.0beta2
2019-12-13 12:08:11 +01:00
tilosp-bot f7a707aa8e Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-12-12 14:00:28 +00:00
Tilo Spannagel 0036beae18
Merge pull request #937 from tilosp/bot/update
Add nextcloud 18.0.0beta1
2019-12-11 21:26:22 +01:00
Tilo Spannagel f06bb9283a Ignore failing tests
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-12-11 20:22:23 +01:00
tilosp-bot fe383374d4 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-12-05 14:00:23 +00:00
Tilo Spannagel d52c40b8f3
Merge pull request #936 from tilosp/bot/update
Update memcached to version 3.1.5
2019-12-05 12:36:26 +01:00
tilosp-bot 76dbb0bb6e Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-12-04 14:00:32 +00:00
Tilo Spannagel f2489f0142
Update release channels 2019-11-09 21:13:17 +01:00
Tilo Spannagel 2ab02d446c
Merge pull request #917 from tilosp/bot/update
Update to 15.0.13, 16.0.6 and 17.0.1
2019-11-08 16:11:53 +01:00
tilosp-bot fe5b6beadd Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-11-08 12:36:03 +00:00
alexschroth 269a081138 examples: docker-compose: Update nginx configs (#912)
* examples: docker-compose: insecure: postgres: Update nginx.conf

This commit applies the latest nginx configuration from the official
documentation. Therefore it also helps to fix CVE-2019-11043.

References:

- https://nextcloud.com/blog/urgent-security-issue-in-nginx-php-fpm
- https://docs.nextcloud.com/server/17/admin_manual/installation/nginx.html

Signed-off-by: Alexander Schroth <alexander.schroth@fau.de>

* examples: docker-compose: insecure: mariadb-cron-redis: Update nginx.conf

This commit applies the latest nginx configuration from the official
documentation. Therefore it also helps to fix CVE-2019-11043.

References:

- https://nextcloud.com/blog/urgent-security-issue-in-nginx-php-fpm
- https://docs.nextcloud.com/server/17/admin_manual/installation/nginx.html

Signed-off-by: Alexander Schroth <alexander.schroth@fau.de>

* examples: docker-compose: insecure: mariadb: Update nginx.conf

This commit applies the latest nginx configuration from the official
documentation. Therefore it also helps to fix CVE-2019-11043.

References:

- https://nextcloud.com/blog/urgent-security-issue-in-nginx-php-fpm
- https://docs.nextcloud.com/server/17/admin_manual/installation/nginx.html

Signed-off-by: Alexander Schroth <alexander.schroth@fau.de>

* examples: docker-compose: with-nginx-proxy: mariadb: Update nginx.conf

This commit applies the latest nginx configuration from the official
documentation. Therefore it also helps to fix CVE-2019-11043.

References:

- https://nextcloud.com/blog/urgent-security-issue-in-nginx-php-fpm
- https://docs.nextcloud.com/server/17/admin_manual/installation/nginx.html

Signed-off-by: Alexander Schroth <alexander.schroth@fau.de>

* examples: docker-compose: with-nginx-proxy: mariadb-cron-redis: Update nginx.conf

This commit applies the latest nginx configuration from the official
documentation. Therefore it also helps to fix CVE-2019-11043.

References:

- https://nextcloud.com/blog/urgent-security-issue-in-nginx-php-fpm
- https://docs.nextcloud.com/server/17/admin_manual/installation/nginx.html

Signed-off-by: Alexander Schroth <alexander.schroth@fau.de>

* examples: docker-compose: with-nginx-proxy: postgres: Update nginx.conf

This commit applies the latest nginx configuration from the official
documentation. Therefore it also helps to fix CVE-2019-11043.

References:

- https://nextcloud.com/blog/urgent-security-issue-in-nginx-php-fpm
- https://docs.nextcloud.com/server/17/admin_manual/installation/nginx.html

Signed-off-by: Alexander Schroth <alexander.schroth@fau.de>

* examples: docker-compose: with-nginx-proxy-self-signed-ssl: mariadb: Update nginx.conf

This commit applies the latest nginx configuration from the official
documentation. Therefore it also helps to fix CVE-2019-11043.

References:

- https://nextcloud.com/blog/urgent-security-issue-in-nginx-php-fpm
- https://docs.nextcloud.com/server/17/admin_manual/installation/nginx.html

Signed-off-by: Alexander Schroth <alexander.schroth@fau.de>
2019-11-07 20:30:48 +01:00
tilosp-bot 149daa299d Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-11-07 14:03:01 +00:00
Tilo Spannagel 6a173a4daa
Merge pull request #916 from J0WI/procps
Add procps to smb examples (closes #557)
2019-11-06 19:03:08 +01:00
J0WI 23b1488788 Add procps to smb examples (closes #557)
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-11-06 11:38:08 +01:00
NeroBurner d5ecc2149f Readme: improve migration from existing section (#894)
* README: add postgresql commands to migration section

Signed-off-by: NeroBurner <pyro4hell@gmail.com>

* README: fix migration copy commands

When the docker-compose up is run the first time the nextcloud
directories are created. When after that the `docker cp` command copies
whole folders they are added as subfolders to the existing folders.

For example, when copying the data folder with
```
docker cp ./data/ nextcloud_app_1:/var/www/html/data
```

afterwards the data folder is in `/var/www/html/data/data`

Signed-off-by: NeroBurner <pyro4hell@gmail.com>

* README: migration: mention custom_apps config

Signed-off-by: NeroBurner <pyro4hell@gmail.com>
2019-11-04 11:00:01 +01:00
Tilo Spannagel ec394822aa
Merge pull request #913 from tilosp/bot/update
Add 15.0.13RC1, 16.0.6RC1 and 17.0.1RC1
2019-11-01 16:27:03 +01:00
tilosp-bot ce0bb40cd9 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-10-31 14:00:40 +00:00
Tilo Spannagel 16e23e4081
Merge pull request #907 from tilosp/bot/update
Update APCu to 5.1.18
2019-10-28 16:30:10 +01:00
tilosp-bot cee1980750 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-10-28 14:00:33 +00:00
Tilo Spannagel 8fac176f74
Merge pull request #863 from marcelklehr/master
Add gmp php extension
2019-10-27 14:15:51 +01:00
Marcel Klehr 7eb00b62aa Add gmp php extension
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2019-10-26 23:41:08 +02:00
Tilo Spannagel 2680fb27ab
Merge pull request #897 from axilleas/smtp-setup
Clean up the SMTP info
2019-10-26 22:42:15 +02:00
Achilleas Pipinellis f0762a282a Clean up the SMTP info
- Add STARTTLS
- Add alternative 587 port

Signed-off-by: Achilleas Pipinellis <axilleas@axilleas.me>
2019-10-20 11:02:07 +02:00
ykcab 15e6fcb316 Fine tune of grammar and spell checks. (#888)
* grammar and spell checks

Signed-off-by: ykcab <16911521+ykcab@users.noreply.github.com>

* grammar and spell checks

Signed-off-by: ykcab <16911521+ykcab@users.noreply.github.com>
2019-10-09 10:53:01 +02:00
tilosp-bot 6d007ebd0b Run update.sh (#890)
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-10-09 10:51:19 +02:00
Tilo Spannagel a3ba284c78
Merge pull request #879 from mike2307/crontab_int_5min
Extended templates to make crontab interval dependent on the version
2019-10-01 19:15:01 +02:00
Tilo Spannagel 1985c8235d
Merge pull request #881 from nextcloud/stable-16.0.5
Ship 16.0.5 on stable channel
2019-10-01 19:05:05 +02:00
Tilo Spannagel 8bc140d40f Ship 16.0.5 on stable channel
See: https://github.com/nextcloud/updater_server/pull/265
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-10-01 10:59:38 +02:00
mscheiff 7b97c8a9c2 Extended templates to make crontab interval dependent on the version
Signed-off-by: Michael Scheiffler <michael@scheiffler.at>
2019-10-01 10:54:36 +02:00
Tilo Spannagel f165752597
Merge pull request #880 from nextcloud/eol-14.0
Remove end of life version 14.0
2019-10-01 10:52:01 +02:00
Tilo Spannagel 5ed523117a Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-10-01 09:56:14 +02:00
Tilo Spannagel c7143feda6 Remove end of life version 14.0
See: https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-10-01 09:56:04 +02:00
Tilo Spannagel 145652e70c
Merge pull request #871 from tilosp/bot/update
Update to 15.0.12, 16.0.5 and 17.0.0
2019-09-26 13:18:12 +02:00
tilosp-bot 1760450ac8 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-09-26 10:06:22 +00:00
Tilo Spannagel 10a1fe7606
Merge pull request #868 from tilosp/bot/update
Add 15.0.12RC1 and 16.0.5RC1
2019-09-19 19:13:54 +02:00
tilosp-bot 5ba119faba Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-09-19 15:42:54 +00:00
Tilo Spannagel 47e3572bcd
Merge pull request #867 from tilosp/bot/update
Update to 17.0.0RC2
2019-09-19 17:41:50 +02:00
tilosp-bot 0c1534a2a9 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-09-19 14:00:34 +00:00
Tilo Spannagel cc2952f6f5
Merge pull request #862 from tilosp/bot/update
Update to 17.0.0RC1
2019-09-13 11:16:37 +02:00
Tilo Spannagel 7d0e49e5dd Exclude failing builds
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-09-12 11:02:31 +02:00
tilosp-bot ba4fc2dcbb Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-09-12 08:26:28 +00:00
algakzru 73ff5c860d Set redis password (#856) 2019-09-10 02:31:16 +02:00
Tilo Spannagel 892ac14791
Merge pull request #855 from tilosp/bot/update
Run update.sh
2019-09-05 19:22:52 +02:00
tilosp-bot e8e53f95c3 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-09-05 14:02:14 +00:00
Tilo Spannagel 5804f506d8
Merge pull request #849 from tilosp/bot/update
Update to 17.0.0beta3
2019-08-31 15:44:14 +02:00
tilosp-bot b83f76cba0 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-08-29 14:00:17 +00:00
Tilo Spannagel e965a1a46c
Merge pull request #843 from tilosp/bot/update
Update to 17.0.0beta2
2019-08-22 17:18:20 +02:00
tilosp-bot 2cd569daef Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-08-22 14:00:18 +00:00
Tilo Spannagel 2acb1df9ae
Merge pull request #838 from tilosp/bot/update
Add 17.0.0beta1
2019-08-16 00:22:49 +02:00
Tilo Spannagel 6db0941a3d
Update generate-stackbrew-library.sh 2019-08-15 23:41:50 +02:00
Tilo Spannagel ef9c3cb89c Update .travis.yml
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-08-15 23:30:37 +02:00
tilosp-bot d56b4ed9c0 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-08-15 20:14:04 +00:00
Tilo Spannagel 552a52afc0
Merge pull request #837 from tilosp/bot/update
Update to 14.0.14, 15.0.11 and 16.0.4
2019-08-15 15:09:24 +02:00
tilosp-bot 7ec56a6567 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-08-15 10:24:36 +00:00
Tilo Spannagel 6291898c2b
Merge pull request #830 from tilosp/bot/update
Add v14.0.14RC1, v15.0.11RC1 and v16.0.4RC1
2019-08-09 12:44:26 +02:00
tilosp-bot a4efb0e686 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-08-08 19:43:42 +00:00
J0WI 060cf0883f
Upgrade to Debian Buster (#817)
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-07-25 14:20:12 +02:00
Tilo Spannagel 66c5d81dbd
Update release channels
https://github.com/nextcloud/updater_server/pull/236
2019-07-09 20:14:43 +02:00
tilosp-bot c956cf7fa6 Run update.sh (#806)
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-07-09 19:53:29 +02:00
Tilo Spannagel a8064a27f1
Merge pull request #803 from tilosp/bot/update
Update to 14.0.13
2019-07-08 14:56:59 +02:00
tilosp-bot ea8fae60eb Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-07-08 12:18:47 +00:00
tilosp-bot 1d4be7e931 Update to 15.0.9 and 16.0.2 (#796)
* Run update.sh

Signed-off-by: tilosp-bot <git-bot@tilosp.de>

* Run update.sh

Signed-off-by: tilosp-bot <git-bot@tilosp.de>

* Pin redis version

Signed-off-by: Tilo Spannagel <development@tilosp.de>

* Run update.sh

Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-07-06 12:50:44 +02:00
Tilo Spannagel 4df6f79568 Allow nextcloud to create the postgres db (#784)
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-07-05 13:50:40 +02:00
Tilo Spannagel 1000d4d468
Merge pull request #793 from tilosp/bot/update
Run update.sh
2019-07-01 17:57:26 +02:00
tilosp-bot 941daf6a0b Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-07-01 14:05:24 +00:00
J0WI c4e7afe079
Update Alpine to 3.10 (#789)
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-06-30 20:17:28 +02:00
Tilo Spannagel 8ba3f4f9bd
Merge pull request #790 from tilosp/bot/update
Add 14.0.13RC1, 15.0.9RC1 and 16.0.2RC1
2019-06-29 16:41:19 +02:00
Tilo Spannagel b522064fe2 Also allow rc to fail
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-06-29 15:27:58 +02:00
tilosp-bot b7b542ea47 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-06-29 13:04:55 +00:00
Tilo Spannagel 8231878052
Merge pull request #788 from J0WI/nproc
Use all available cores to build PHP extensions
2019-06-27 16:57:04 +02:00
J0WI 147e2db921 Use all available cores to build PHP extensions
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-06-27 14:02:16 +02:00
Flow86 f5665e1482 Enable WEBP support in PHP's gd in debian and alpine containers (#785)
Signed-off-by: Flow86 <656249+Flow86@users.noreply.github.com>
2019-06-27 14:01:35 +02:00
Tilo Spannagel 3f40b69c54
Merge pull request #783 from J0WI/opcache-cli
Drop opcache from cli actions
2019-06-26 12:22:26 +02:00
J0WI 4a94550e2d Drop opcache from cli actions
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-06-26 01:03:15 +02:00
Tilo Spannagel ea5b853ab3
Merge pull request #780 from J0WI/tbl-prefix
Avoid empty table prefix
2019-06-22 19:08:34 +02:00
J0WI a87f914de3 Avoid empty table prefix
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-06-22 18:22:15 +02:00
J0WI df048873ab
Update build badges 2019-06-20 23:10:52 +02:00
Christoph Reiter 64607f4916 nginx-proxy: Set proxy_request_buffering to off. Fixes #650 (#651)
Otherwise nginx buffers uploads which at least with the linux client results
in large files failing to upload and the upload stats not updating.

Signed-off-by: Christoph Reiter <reiter.christoph@gmail.com>
2019-06-19 00:45:12 +02:00
ykgmfq 53bb46d1dc Let nginx decide on number of worker processes (#732)
From https://www.nginx.com/blog/tuning-nginx/:
In most cases, running one worker process per CPU core works well,
and we recommend setting this directive to auto to achieve that.
There are times when you may want to increase this number,
such as when the worker processes have to do a lot of disk I/O.
2019-06-19 00:37:44 +02:00
Tilo Spannagel 17a6790ac8
Merge pull request #758 from J0WI/tweak-travis
Allow failures on PHP 7.3 with i386
2019-06-18 16:33:55 +02:00
Tilo Spannagel fc8952ab63 Move allow_failures into jobs
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-06-18 15:24:01 +02:00
J0WI 15e0c3bd3e Allow failures on PHP 7.3 with i386
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-06-17 19:48:58 +02:00
Tilo Spannagel 001afbefb6
Merge pull request #753 from tilosp/bot/update
Run update.sh
2019-05-17 20:22:19 +02:00
tilosp-bot 748d7873f3 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-05-17 14:03:58 +00:00
Tilo Spannagel a10a6ab7ee
Merge pull request #752 from nextcloud/tilosp/update-tags
Update tags
2019-05-16 13:02:58 +02:00
Tilo Spannagel bae05a95f8
Merge pull request #751 from tilosp/bot/update
Update to 14.0.11, 15.0.8 and 16.0.1
2019-05-16 13:02:42 +02:00
Tilo Spannagel d2ccd7df04 Update tags
[travis skip]

Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-05-16 12:37:02 +02:00
tilosp-bot 6357f08f25 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-05-16 10:29:13 +00:00
Tilo Spannagel 05073351c4
Add travis_retry to script tests 2019-05-13 20:15:28 +02:00
Tilo Spannagel a1503cb4b0
Merge pull request #747 from nextcloud/tilosp/travis-retry
Retry docker build
2019-05-13 20:06:22 +02:00
Tilo Spannagel 724da9567e Retry docker build
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-05-13 16:00:40 +02:00
Tilo Spannagel 1012aa8527
Merge pull request #745 from tilosp/bot/update
Add 14.0.11RC1, 15.0.8RC1 and 16.0.1RC1
2019-05-09 18:59:52 +02:00
tilosp-bot 991fc792ce Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-05-09 15:35:27 +00:00
tilosp-bot 04dbb09f12 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-05-09 15:24:47 +00:00
tilosp-bot 5151f42e17 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-05-09 15:20:35 +00:00
Tilo Spannagel a9f8131e24
Merge pull request #738 from tilosp/bot/update
Update php-imagick to 3.4.4
2019-05-07 00:00:15 +02:00
J0WI 260de1e357
Fix SQLite paragraph title 2019-05-05 17:35:28 +02:00
tilosp-bot 2fbd72c96d Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-05-03 14:03:08 +00:00
Tilo Spannagel a2d0c57921
Merge pull request #733 from nextcloud/revert-729-secrets
Revert "Compatibility with docker secrets (Fix #560)"
2019-04-30 13:07:31 +02:00
Tilo Spannagel f0fd46a989 Revert "Compatibility with docker secrets (Fix #560)"
[skip travis]

Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-04-30 13:06:03 +02:00
J0WI 0578591681
Merge pull request #729 from J0WI/secrets
Compatibility with docker secrets (Fix #560)
2019-04-29 16:02:47 +02:00
J0WI 343169d233 Compatibility with docker secrets (Fix #560)
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-04-29 14:59:35 +02:00
J0WI cde407bf5e
Merge pull request #728 from J0WI/majupgrdoc
Clarify major version upgrade procedure
2019-04-29 14:45:25 +02:00
J0WI c653d9b8a9
Merge pull request #727 from J0WI/upcommentlink
Update link to current docs
2019-04-29 14:44:38 +02:00
J0WI 8680beee04 Clarify major version upgrade procedure
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-04-29 14:00:05 +02:00
J0WI 36744ae106 Update link to current docs
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-04-29 13:54:50 +02:00
Rodrigo dc04397618 Set SMTP via environment vars. (#698)
* Set SMTP via environment vars.

Signed-off-by: Rodrigo Aguilera <hi@rodrigoaguilera.net>

* Add SMTP instructions to the readme.

Signed-off-by: Rodrigo Aguilera <hi@rodrigoaguilera.net>

* Run update.sh for 16.0 release.

Signed-off-by: Rodrigo Aguilera <hi@rodrigoaguilera.net>
2019-04-29 13:47:16 +02:00
J0WI da36b3afe6
Merge pull request #707 from J0WI/redis-session
Add Redis session handler
2019-04-27 15:43:06 +02:00
J0WI 83ea69d54b Add Redis session handler
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-04-26 15:49:59 +02:00
J0WI 45b1779c6f
Merge pull request #724 from J0WI/nc16
Run update.sh
2019-04-26 14:17:27 +02:00
J0WI abe7b70052 Run update.sh
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-04-26 13:27:26 +02:00
J0WI 7a96e8b5ad
Merge pull request #717 from gusttt/patch-1
Small typo in readme.md
2019-04-25 13:25:59 +02:00
Tilo Spannagel 799db91fdf
Merge pull request #718 from tilosp/bot/update
Update to 16.0.0RC2
2019-04-18 21:23:14 +02:00
tilosp-bot 03cdaf2bee Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-04-18 16:03:37 +00:00
gusttt 69ebdf0efd Small typo in readme.md
Signed-off-by: gusttt <gusttt@users.noreply.github.com>
2019-04-18 00:52:32 +02:00
Tilo Spannagel 5317d8839e
Merge pull request #715 from tilosp/bot/update
Update to 16.0.0RC1
2019-04-12 01:00:04 +02:00
tilosp-bot 2af113afc6 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-04-11 16:02:30 +00:00
Tilo Spannagel d07e2166c4
Merge pull request #706 from J0WI/php-7.3
Set default PHP version to 7.3
2019-04-10 17:58:23 +02:00
J0WI 09151270f2 Set default PHP version to 7.3
Fixes #571

Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-04-10 10:08:59 +02:00
Tilo Spannagel 30b2cb2706
Merge pull request #712 from tilosp/bot/update
Update to 14.0.10 and 15.0.7
2019-04-09 18:08:52 +02:00
Tilo Spannagel ca34beed5e
Ship 15.0.7 on production and stable channel
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-04-09 17:03:49 +02:00
tilosp-bot d54e368c1c Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-04-09 14:56:35 +00:00
J0WI a6bcddbac1
Merge pull request #708 from nextcloud/eol-13
13.0.x is end of life
2019-04-08 18:13:08 +02:00
Tilo Spannagel cd04baa73d
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-04-08 17:36:16 +02:00
Tilo Spannagel c6f1569ebf
13.0.x is end of life
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-04-08 17:31:20 +02:00
Tilo Spannagel 9628a41081
Merge pull request #703 from tilosp/bot/update
Update to 16.0.0beta3
2019-04-05 15:31:03 +02:00
tilosp-bot fbc8d72cca Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-04-04 21:48:18 +00:00
Tilo Spannagel 85a2e86b6e
Merge pull request #702 from tilosp/bot/update
Run update.sh
2019-04-04 23:42:25 +02:00
tilosp-bot da4cd779e3 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-04-04 16:02:10 +00:00
Tilo Spannagel 0ae0a40b9f
Merge pull request #696 from tilosp/bot/update
Add 14.0.9 RC 1 and 15.0.6 RC 1
2019-03-29 19:16:23 +01:00
tilosp-bot e3b5cade0f Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-03-29 15:27:13 +00:00
Tilo Spannagel 1997f8d584
Merge pull request #695 from tilosp/bot/update
Run update.sh
2019-03-29 01:11:58 +01:00
tilosp-bot 6731d57690 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-03-28 16:03:03 +00:00
Tilo Spannagel d1840409e7
Merge pull request #693 from tilosp/bot/update
Add Nextcloud 16.0.0beta1
2019-03-22 22:35:34 +01:00
tilosp-bot e670114004 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-03-22 13:35:50 +00:00
Tilo Spannagel 6702c88033
Merge pull request #692 from nextcloud/tilosp-patch-1
Also remove alphas
2019-03-22 14:35:11 +01:00
Tilo Spannagel d7671ab9cc
Also remove alphas
Closes #691
[skip travis]

Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-03-22 14:33:46 +01:00
J0WI ae8992ab62
Merge pull request #543 from J0WI/pecl-update
Update pecl extensions in update.sh
2019-03-14 01:01:02 +01:00
J0WI a1ed54243d Update pecl extensions in update.sh
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-03-13 23:56:39 +01:00
Tilo Spannagel cbe0ad1ad2
Merge pull request #660 from nextcloud/tilosp/copy-version.php-last
Copy version.php last
2019-03-13 20:16:15 +01:00
Tilo Spannagel f3186308e2
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-03-13 17:47:59 +01:00
Tilo Spannagel 9c769f4ffc
Copy version.php last
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-03-13 17:47:29 +01:00
Tilo Spannagel 8791176d0a
Merge pull request #688 from nextcloud/tilosp/alpha
Add image for alpha
2019-03-13 11:36:23 +01:00
Tilo Spannagel 60622a729b
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-03-12 14:18:27 +01:00
Tilo Spannagel b7e9458648
Add image for alpha
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-03-12 14:17:26 +01:00
J0WI c98481a388
Merge pull request #675 from GuyPaddock/feature/issue-674--woff-fixes
Fix Remaining `.woff2` Issues in NGinx Config Examples
2019-03-09 20:29:18 +01:00
Guy Elsmore-Paddock 0b9f09e3e1 Issue #674 - Fix Remaining `.woff2` Issues in NGinx Config Examples
This ensures that the remaining NGinx config examples are updated to handle WOFF 2 font files.

Closes #674.

Signed-off-by: Guy Elsmore-Paddock <guy@inveniem.com>
2019-03-04 19:37:37 -05:00
Tilo Spannagel c0fd3fcd6d
Merge pull request #670 from tilosp/bot/update
Run update.sh
2019-03-02 18:25:12 +01:00
tilosp-bot 86c08c3769 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-03-02 16:00:43 +00:00
Docker Library Bot deca4111fb Update to 13.0.12RC1 2019-03-01 22:51:32 +00:00
Tilo Spannagel 71ddf2a868
Merge pull request #662 from tilosp/bot/update
Run update.sh
2019-02-28 13:48:49 +01:00
Tilo Spannagel e7405b7c16
Merge pull request #663 from nextcloud/stable-production-15.0.5
Ship 15.0.4 on production and stable channel
2019-02-28 12:51:29 +01:00
Tilo Spannagel 768d2e620d
Ship 15.0.4 on production and stable channel
See: nextcloud/updater_server#192

[skip travis]

Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-02-28 12:49:53 +01:00
tilosp-bot 6564b82fb0 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-02-28 11:41:57 +00:00
Docker Library Bot 532834349b Update to 15.0.5 2019-02-28 10:51:23 +00:00
Docker Library Bot 77a5099fe9 Update to 13.0.12 2019-02-28 10:51:23 +00:00
Docker Library Bot 3235cfeb09 Update to 14.0.8 2019-02-28 10:51:23 +00:00
Tilo Spannagel 2a7ac51730
Merge pull request #661 from nextcloud/tilosp/production-15.0.4
Ship 15.0.4 on production channel
2019-02-27 00:21:24 +01:00
Tilo Spannagel 7ac2798878
Ship 15.0.4 on production channel
See: nextcloud/updater_server#188

[skip travis]

Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-02-27 00:19:34 +01:00
Tilo Spannagel ecc897b477
Merge pull request #658 from ykcab/minor-typo
Changes in the README.md
2019-02-26 23:37:41 +01:00
ykcab 5d607a706c Changed you host to 'your host' in line 32
Signed-off-by: ykcab <alain.mbuku@pm.me>
2019-02-25 20:13:35 -05:00
Tilo Spannagel a3763dfc15
Merge pull request #657 from tilosp/bot/update
Run update.sh
2019-02-25 21:27:47 +01:00
tilosp-bot e21fac2471 Run update.sh
Signed-off-by: tilosp-bot <git-bot@tilosp.de>
2019-02-25 19:44:03 +00:00
Jonas Thelemann d9ca9e4b08 Rephrase README's "Named Volumes" Paragraph
Signed-off-by: Jonas Thelemann <e-mail@jonas-thelemann.de>
2019-02-25 19:00:46 +01:00
Tilo Spannagel 1091814e9b
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-02-21 12:51:33 +01:00
Docker Library Bot 1f3c1cd4e9 Update to 15.0.5RC1 2019-02-21 04:51:35 +00:00
Docker Library Bot 643a35d6fb Update to 14.0.8RC1 2019-02-20 16:51:29 +00:00
Docker Library Bot f9e1ef8537 Update to 13.0.12RC1 2019-02-20 16:51:29 +00:00
J0WI 908fb6a04f
Merge pull request #646 from J0WI/apcu-5.1.17
Update APCu to 5.1.17
2019-02-10 21:44:17 +01:00
J0WI 891feeaf94 Update APCu to 5.1.17
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-02-10 20:57:47 +01:00
Tilo Spannagel 4c0d269740
Revert "Update to 15.0.0beta2"
This reverts commit 2e8205eef4.
2019-02-08 22:29:34 +01:00
J0WI ae94e4a349
Merge pull request #640 from J0WI/alpine-3.9
Update to Alpine 3.9
2019-02-08 18:13:13 +01:00
Docker Library Bot 2e8205eef4 Update to 15.0.0beta2 2019-02-08 10:53:12 +00:00
Tilo Spannagel b5f659e6bd
Merge pull request #641 from nextcloud/update-release-channel
Update release channels
2019-02-07 22:04:10 +01:00
Tilo Spannagel 34a9a543e1
Merge pull request #639 from nextcloud/fix-examples
Remove app dockerfile
2019-02-07 22:00:07 +01:00
Tilo Spannagel be19f23e61
Ship 15.0.4 on stable channel
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-02-07 13:21:16 +01:00
Tilo Spannagel f4929e6067
Ship 14.0.7 on production channel
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-02-07 13:19:54 +01:00
Tilo Spannagel cc0564ed40
Remove app dockerfile
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-02-07 13:06:04 +01:00
J0WI 0a3d4aef87 Update to Alpine 3.9
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-02-07 12:49:25 +01:00
Tilo Spannagel b9ae3256ad
Merge pull request #600 from marceljd/redis-env-vars
Set Redis through environment variables
2019-02-07 12:20:53 +01:00
Tilo Spannagel 6d7be410e0
Update to 15.0.4
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-02-07 12:17:57 +01:00
Tilo Spannagel 2695fd9ba2
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-02-07 12:09:11 +01:00
Docker Library Bot 6b8820f3f5 Update to 15.0.3 2019-02-07 04:51:23 +00:00
Docker Library Bot cd72548651 Update to 13.0.11 2019-02-07 04:51:23 +00:00
Docker Library Bot da1192ed4c Update to 14.0.7 2019-02-07 04:51:23 +00:00
J0WI f2397fafc6
Merge pull request #634 from J0WI/594
Fix #594: svg support for imagick on Debian
2019-02-06 14:17:03 +01:00
J0WI b0a5548d19
Merge pull request #638 from jaydrogers/patch-2
Simple typo fix
2019-02-05 12:49:32 +01:00
Jay Rogers a726f805e3 Simple typo fix
Signed-off-by: Jay Rogers <jay@521dimensions.com>
2019-02-04 22:24:05 -06:00
J0WI bb10546327 Add SVG support in full example
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-02-01 21:08:33 +01:00
Tilo Spannagel 184d54a2d6
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-01-31 12:54:43 +01:00
Docker Library Bot e298a56eaa Update to 13.0.11RC1 2019-01-31 10:51:39 +00:00
Docker Library Bot a8a7cb9571 Update to 15.0.3RC1 2019-01-31 10:51:39 +00:00
Docker Library Bot f0f22d3ddf Update to 14.0.7RC1 2019-01-31 10:51:39 +00:00
marceljd e0de4ab285 removed old redis.config.php files
On branch redis-env-vars
 Changes to be committed:
	deleted:    ../../apache/app/redis.config.php
	deleted:    redis.config.php
	deleted:    ../../../../with-nginx-proxy/mariadb-cron-redis/apache/app/redis.config.php
	deleted:    ../../../../with-nginx-proxy/mariadb-cron-redis/fpm/app/redis.config.php

Signed-off-by: marceljd <support@dihosting.ch>
2019-01-27 15:08:57 +00:00
marceljd d3cd3b812f On branch redis-env-vars
run update.sh
 Changes to be committed:
	modified:   13.0/apache/config/redis.config.php
	modified:   13.0/fpm-alpine/config/redis.config.php
	modified:   13.0/fpm/config/redis.config.php
	modified:   14.0/apache/config/redis.config.php
	modified:   14.0/fpm-alpine/config/redis.config.php
	modified:   14.0/fpm/config/redis.config.php
	modified:   15.0/apache/config/redis.config.php
	modified:   15.0/fpm-alpine/config/redis.config.php
	modified:   15.0/fpm/config/redis.config.php

Signed-off-by: marceljd <support@dihosting.ch>
2019-01-27 13:46:25 +00:00
marceljd b3b6def923 On branch redis-env-vars
added REDIS_HOST_PORT
 Changes to be committed:
	modified:   .config/redis.config.php
	modified:   README.md

Signed-off-by: marceljd <support@dihosting.ch>
2019-01-27 13:46:25 +00:00
marceljd 2e481a86ee Updated ' to ` for better formatting
Signed-off-by: marceljd <support@dihosting.ch>
2019-01-27 13:46:25 +00:00
marceljd a9f458ce9f Changes to be committed:
modified:   .config/redis.config.php
	modified:   .examples/docker-compose/insecure/mariadb-cron-redis/apache/docker-compose.yml
	modified:   .examples/docker-compose/insecure/mariadb-cron-redis/fpm/docker-compose.yml
	modified:   .examples/docker-compose/with-nginx-proxy/mariadb-cron-redis/apache/docker-compose.yml
	modified:   .examples/docker-compose/with-nginx-proxy/mariadb-cron-redis/fpm/docker-compose.yml
	modified:   13.0/apache/Dockerfile
	modified:   13.0/apache/config/redis.config.php
	modified:   13.0/fpm-alpine/Dockerfile
	modified:   13.0/fpm-alpine/config/redis.config.php
	modified:   13.0/fpm/Dockerfile
	modified:   13.0/fpm/config/redis.config.php
	modified:   14.0/apache/Dockerfile
	modified:   14.0/apache/config/redis.config.php
	modified:   14.0/fpm-alpine/Dockerfile
	modified:   14.0/fpm-alpine/config/redis.config.php
	modified:   14.0/fpm/Dockerfile
	modified:   14.0/fpm/config/redis.config.php
	modified:   15.0/apache/Dockerfile
	modified:   15.0/apache/config/redis.config.php
	modified:   15.0/fpm-alpine/Dockerfile
	modified:   15.0/fpm-alpine/config/redis.config.php
	modified:   15.0/fpm/Dockerfile
	modified:   15.0/fpm/config/redis.config.php
	modified:   README.md

Signed-off-by: marceljd <support@dihosting.ch>
2019-01-27 13:46:25 +00:00
marceljd d1db681058 Update redis.config.php
Signed-off-by: marceljd <support@dihosting.ch>
2019-01-27 13:46:25 +00:00
marceljd 536fb66212 Only redis_host without port
Signed-off-by: marceljd <support@dihosting.ch>
2019-01-27 13:46:25 +00:00
marceljd f2ee88d352 set redis environment variables
Signed-off-by: marceljd <support@dihosting.ch>
2019-01-27 13:46:25 +00:00
marceljd ba4c1359b9 set redis environment variables
Signed-off-by: marceljd <support@dihosting.ch>
2019-01-27 13:46:25 +00:00
J0WI 250802c706
Merge pull request #586 from nicokaiser/nginx-woff2
Fix woff2 files in nginx examples
2019-01-21 17:57:56 +01:00
Tilo Spannagel f081d3864d
Ship 15.0.2 on stable channel (#615)
See: https://github.com/nextcloud/updater_server/pull/183
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-01-21 17:00:22 +01:00
Nico Kaiser f3524791d9 Fix woff2 files in nginx examples
Since some versions of Nextcloud, fonts are served as woff2, which is
not forwarded to index.php by the supplied nginx.conf. This leads to
nginx returning the dynamic index page instead of the static fonts.

Signed-off-by: Nico Kaiser <nico@kaiser.me>
2019-01-21 16:55:55 +01:00
Tilo Spannagel 15ab1ccecd
Merge pull request #614 from nextcloud/production-14.0.6
Ship 14.0.6 on production channel
2019-01-21 16:27:14 +01:00
Tilo Spannagel b3d324f986
Ship 14.0.6 on production channel
See: https://github.com/nextcloud/updater_server/pull/182
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-01-21 15:44:12 +01:00
J0WI 8d133d39e6
Merge pull request #608 from nextcloud/revert-php-7.3
Switch back to php 7.2
2019-01-17 23:05:24 +01:00
Tilo Spannagel 453a5224d9
Merge pull request #603 from J0WI/rm-man-dir
Remove man dir from examples
2019-01-17 14:09:25 +01:00
Tilo Spannagel d8d9a17be2
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-01-17 13:43:13 +01:00
Tilo Spannagel d06375a333
Switch back to php 7.2
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-01-17 13:42:00 +01:00
J0WI 5f8fa19f04 Remove man dir from examples
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-01-14 19:06:22 +01:00
J0WI e8e33356ff
Merge pull request #573 from J0WI/php73
Use PHP 7.3 for NC 15
2019-01-14 18:48:11 +01:00
J0WI 46c774cd8c Set default PHP version to 7.3
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-01-14 17:10:27 +01:00
Tilo Spannagel 57b9193096
Update stable tag to 14.0.6
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-01-11 18:20:48 +01:00
Docker Library Bot 11a6e69371 Update to 15.0.2 2019-01-11 16:51:27 +00:00
Docker Library Bot 48f9b58e6f Update to 14.0.6 2019-01-11 16:51:27 +00:00
Docker Library Bot 442510be73 Update to 13.0.10 2019-01-11 16:51:27 +00:00
J0WI 06c299ce5b Update memcached to 3.1.3
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-01-11 02:03:04 +01:00
J0WI 5bd47f8159 Update php-memcached to 3.1.2 and APCu to 5.1.16
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-01-11 02:03:04 +01:00
J0WI 9ecaf51c4f Use PHP 7.3 for NC 15
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-01-11 02:03:04 +01:00
J0WI 2994c70264 Run update.sh
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-01-11 01:13:23 +01:00
Docker Library Bot 5751ebc2a5 Update to 15.0.1 2019-01-10 16:51:34 +00:00
Docker Library Bot 9ecb0fb6d9 Update to 14.0.5 2019-01-10 16:51:34 +00:00
Docker Library Bot 70cb6ed262 Update to 13.0.9 2019-01-10 16:51:34 +00:00
Docker Library Bot ce614ef0d4 Update to 14.0.5RC2 2019-01-09 22:51:23 +00:00
Docker Library Bot d3853330f5 Update to 13.0.9RC2 2019-01-09 22:51:23 +00:00
Docker Library Bot 4db869636b Update to 15.0.1RC2 2019-01-09 22:51:22 +00:00
Tilo Spannagel eed21207f1
Merge pull request #596 from J0WI/alpine-examples
Add Alpine variant to Dockerfile examples
2019-01-07 16:20:04 +01:00
Tilo Spannagel 89f64fe448
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2019-01-07 00:07:59 +01:00
J0WI 7d262cbf97 Remove reference to line number
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-01-07 00:00:49 +01:00
Docker Library Bot 1999ee264b Update to 14.0.5RC1 2019-01-05 22:51:19 +00:00
Docker Library Bot 49085a33e6 Update to 13.0.9RC1 2019-01-05 22:51:19 +00:00
Docker Library Bot e7d2df22ad Update to 15.0.1RC1 2019-01-05 22:51:19 +00:00
J0WI 0e941215b1 Refactor install process and remove build deps
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-01-05 18:43:27 +01:00
J0WI 030a743b39 Add Alpine variant to Dockerfile examples
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2019-01-05 18:43:12 +01:00
J0WI cb71d98f72
Merge pull request #581 from st3iny/master
Add db command to docker-compose example in readme
2018-12-17 17:55:20 +01:00
Richard Steinmetz bd2e1b4107 Add db command to docker-compose example in readme
Signed-off-by: Richard Steinmetz <steinmetz.richard@googlemail.com>
2018-12-13 17:08:50 +01:00
Tilo Spannagel 31d7dedda9
Merge pull request #579 from st3iny/master
Fix typo in docker-entrypoint.sh
2018-12-13 13:21:01 +01:00
Richard Steinmetz a37b6752b9 Run update.sh
Signed-off-by: Richard Steinmetz <steinmetz.richard@googlemail.com>
2018-12-13 12:07:24 +01:00
J0WI 2fb6c587dc
Merge pull request #575 from rcdailey/imagick
Add imagick php extension
2018-12-12 23:18:46 +01:00
Robert Dailey 2f90715d31
Add imagick php extension
There is a warning issued in Nextcloud 15 about 'imagick' php extension not
being present. They highly recommend that it be installed.

Fixes #574, fixes #263

Signed-off-by: Robert Dailey <rcdailey@gmail.com>
2018-12-12 13:44:27 -06:00
Richard Steinmetz 8bd688664d Fix typo in docker-entrypoint.sh
Signed-off-by: Richard Steinmetz <steinmetz.richard@googlemail.com>
2018-12-12 19:24:24 +01:00
J0WI 783232840a
Merge pull request #572 from J0WI/APCu-5.1.15
Update APCu to 5.1.15
2018-12-11 01:50:16 +01:00
J0WI de2f3c57ee Update APCu to 5.1.15
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2018-12-11 00:13:10 +01:00
Tilo Spannagel 6467871d7a
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-12-10 14:50:59 +01:00
Docker Library Bot 00387f5a7d Update to 15.0.0 2018-12-10 10:51:22 +00:00
Docker Library Bot 25cc30e968 Update to 15.0.0RC3 2018-12-06 16:51:28 +00:00
Tilo Spannagel 6619d53676
Merge pull request #564 from nextcloud/eol
12.0.x is end of life
2018-12-04 18:33:34 +01:00
Tilo Spannagel 68f1f79be5
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-12-04 18:00:37 +01:00
Tilo Spannagel 325dee46d1
12.0.x is end of life
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-12-04 18:00:15 +01:00
Tilo Spannagel fc2a691111
Revert "Update to 12.0.13RC2"
This reverts commit 6e93ee37e6.
2018-12-04 00:37:29 +01:00
Docker Library Bot 6e93ee37e6 Update to 12.0.13RC2 2018-12-01 10:51:32 +00:00
Docker Library Bot 817d74efba Update to 15.0.0RC2 2018-11-30 16:51:33 +00:00
Tilo Spannagel ceba099589
Merge pull request #553 from nextcloud/channel
Update release channels
2018-11-25 22:08:03 +01:00
Tilo Spannagel 548306b919
Update release channels
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-11-25 17:14:35 +01:00
Tilo Spannagel b41d6dfd36
Merge pull request #547 from nextcloud/update-sh
Run update.sh
2018-11-24 15:40:02 +01:00
Tilo Spannagel 2c26edea97
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-11-24 14:07:03 +01:00
Docker Library Bot 8b7e80cb36 Update to 12.0.13 2018-11-22 16:51:31 +00:00
Docker Library Bot 250b44903f Update to 13.0.8 2018-11-22 16:51:31 +00:00
Docker Library Bot 9929de89d9 Update to 15.0.0RC1 2018-11-22 16:51:31 +00:00
Docker Library Bot d6712dc1e9 Update to 14.0.4 2018-11-22 16:51:31 +00:00
J0WI 44398e216a
Merge pull request #542 from nextcloud/APCu-5.1.14
Update APCu to version 5.1.14
2018-11-21 22:31:39 +01:00
Tilo Spannagel 9bdddbfe47
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-11-21 14:59:37 +01:00
Tilo Spannagel 28eb7826b2
Update APCu to version 5.1.14
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-11-21 14:58:00 +01:00
Tilo Spannagel 0c16d10bf1
Merge pull request #538 from J0WI/alpine-eg
Use Alpine Linux in examples and use default user on nginx containers
2018-11-20 23:19:02 +01:00
Tilo Spannagel b4c914d530
Merge pull request #541 from J0WI/redis-4.2.0-apcu-5.1.13
Update php-redis to 4.2.0 and php-apcu to 5.1.13
2018-11-20 21:01:51 +01:00
J0WI aa5c0c1929 Use Alpine Linux in examples and use default user
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2018-11-20 20:24:22 +01:00
Docker Library Bot 3a4a979f54 Update to 12.0.13RC2 2018-11-20 10:51:35 +00:00
Docker Library Bot 0213a9bd24 Update to 14.0.4RC2 2018-11-20 10:51:35 +00:00
Docker Library Bot 20ec8dbb8e Update to 13.0.8RC2 2018-11-20 10:51:35 +00:00
J0WI ae849f1900 Update php-redis to 4.2.0 and php-apcu to 5.1.13
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2018-11-20 00:38:55 +01:00
Tilo Spannagel b6b83ba7ea
Merge pull request #539 from nextcloud/update-sh
Run update.sh
2018-11-15 23:15:01 +01:00
Tilo Spannagel 4e76ae7c94
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-11-15 22:13:46 +01:00
Tilo Spannagel 99d823806e
Simplify travis.yml updates
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-11-15 22:11:34 +01:00
Docker Library Bot 0ebd883113 Update to 12.0.13RC1 2018-11-15 16:51:26 +00:00
Docker Library Bot 3f28ab64bd Update to 13.0.8RC1 2018-11-15 16:51:26 +00:00
Docker Library Bot 87413b7f4b Update to 15.0.0beta2 2018-11-15 16:51:26 +00:00
Docker Library Bot 64b3b2ae0f Update to 14.0.4RC1 2018-11-15 16:51:26 +00:00
Tilo Spannagel 7914073ea2
Merge pull request #536 from nextcloud/gpg-batch
Update "gpg" invocations to use "--batch"
2018-11-15 12:46:28 +01:00
Tilo Spannagel d001a91815
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-11-15 11:55:13 +01:00
Tilo Spannagel 7500500bae
Update "gpg" invocations to use "--batch"
See https://bugs.debian.org/913614

Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-11-15 11:54:10 +01:00
Tilo Spannagel 6c155c7ea2
Run update.sh 2018-11-12 12:41:18 +01:00
Docker Library Bot 3be7aee2db Update to 15.0.0beta1 2018-11-08 16:51:23 +00:00
Tilo Spannagel f16c857231
Revert "Update to 13.0.7RC2"
This reverts commit a7fe67e678.
2018-11-04 14:44:19 +01:00
Docker Library Bot a7fe67e678 Update to 13.0.7RC2 2018-11-03 09:51:31 +00:00
Tilo Spannagel b95484b409
Revert "Update to 13.0.0beta4"
This reverts commit e431c13482.
2018-10-18 11:36:05 +02:00
Docker Library Bot e431c13482 Update to 13.0.0beta4 2018-10-18 03:51:29 +00:00
Tilo Spannagel ab3b62bd10
Merge pull request #519 from SnowMB/fix_full_example
fix #491: add NEXTCLOUD_UPDATE=1 to full example
2018-10-17 11:12:06 +02:00
Marc Brückner 2d22bcaba7 fix #491: add NEXTCLOUD_UPDATE=1 to full example 2018-10-17 10:26:22 +02:00
Tilo Spannagel 424364e2e1
Merge pull request #515 from SnowMB/add_update_variable
Add NEXTCLOUD_UPDATE for containers started with non-default commands
2018-10-16 18:30:39 +02:00
Marc Brückner b3df4606be remove official images test for example images 2018-10-16 17:43:56 +02:00
Marc Brückner f062435135 clarified use of variable 2018-10-16 16:38:36 +02:00
Marc Brückner b25e1abe9c added variable to Dockerfiles of cron supervisord example 2018-10-16 16:38:04 +02:00
Tilo Spannagel 3838458843
Merge pull request #500 from nextcloud/feature/649/set-trusted-domains
add a mechanism to set trusted domains on install
2018-10-15 19:57:15 +02:00
Arthur Schiwon 1f4ffe722d
regenerate entrypoint files via update.sh 2018-10-15 15:29:36 +02:00
Arthur Schiwon 3f931009c5
add a mechanism to set trusted domains on install 2018-10-15 15:29:32 +02:00
Marc Brückner b8161a19a0 added description for cron supervisord example 2018-10-15 15:21:03 +02:00
Marc Brückner 396cf35c97 Added documentation to readme 2018-10-15 15:11:29 +02:00
Marc Brückner 63710a75a3 added new environment variable 2018-10-15 15:01:39 +02:00
Tilo Spannagel 3770bbcb26
Merge pull request #499 from nextcloud/stable-13.0.7
Ship 13.0.7 on production and stable
2018-10-12 13:02:06 +02:00
Tilo Spannagel da31976a94
Ship 13.0.7 on production and stable 2018-10-12 12:11:51 +02:00
Docker Library Bot 4d2dbd6ea0 Update to 14.0.3 2018-10-12 09:51:23 +00:00
Tilo Spannagel 7b7edd5f66 Run update.sh 2018-10-11 16:11:55 +02:00
Docker Library Bot 350a6eb644 Update to 12.0.12 2018-10-11 09:51:34 +00:00
Docker Library Bot 4abd8b7d0e Update to 14.0.2 2018-10-11 09:51:33 +00:00
Docker Library Bot dc276645b9 Update to 13.0.7 2018-10-11 09:51:33 +00:00
Tilo Spannagel 9fced6721e
Run update.sh 2018-10-09 20:30:04 +02:00
Docker Library Bot 529d4e743c Update to 13.0.7RC2 2018-10-09 15:51:27 +00:00
Docker Library Bot 37be10745f Update to 12.0.12RC2 2018-10-09 15:51:27 +00:00
Tilo Spannagel 4adf0a9f39
Merge pull request #486 from nextcloud/code-of-conduct
Add code of conduct
2018-10-05 14:36:37 +02:00
Tilo Spannagel 31c0ec75df
Add code of conduct
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-10-05 14:32:27 +02:00
Tilo Spannagel 9719291632
Merge pull request #484 from nextcloud/remove-sudo
Remove sudo from tavis.yml
2018-10-05 10:43:57 +02:00
Tilo Spannagel 8be067708c
Remove sudo from tavis.yml
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-10-05 09:40:18 +02:00
Tilo Spannagel 010f392951
Merge pull request #483 from nextcloud/update-sh
Run update.sh
2018-10-04 22:06:23 +02:00
Tilo Spannagel 0a18ad5c3e
Run update.sh 2018-10-04 20:32:11 +02:00
Tilo Spannagel 91adc66fae
Merge pull request #480 from SnowMB/fix_sleeps
added retry loop and decreased sleep time
2018-10-03 17:56:15 +02:00
J0WI 9f5b409962
Merge pull request #478 from nextcloud/exclude-file
Use exclude file for the updater
2018-10-03 01:18:06 +02:00
Marc Brückner 6eb8f3fa16 added retry loop and decreased sleep time 2018-10-02 10:45:00 +02:00
Tilo Spannagel aec153d69a
Run update.sh 2018-10-01 22:32:13 +02:00
Tilo Spannagel a46493fbc4
Use exclude file for the updater
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-10-01 22:31:34 +02:00
Tilo Spannagel de7204ccda
Merge pull request #479 from nextcloud/dumy-hash
Add some dummy hash for uncommited Dockerfiles
2018-10-01 20:40:33 +02:00
Tilo Spannagel 9aaa473e7d
Add some dummy hash for uncommited Dockerfiles
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-10-01 17:29:15 +02:00
Marc Bihlmaier efe4edb8eb echo to stdout when migration-script is running (#333)
* echo to stdout when migration-script is running

* specifying output

* output Initializing new instance

* simplify output
2018-09-29 20:15:08 +02:00
Tilo Spannagel 5ce928c23b
Merge pull request #459 from SnowMB/auto_install
Implement #455: auto-install via occ maintenance:install
2018-09-29 18:40:22 +02:00
Tilo Spannagel 6b10932e81
Ignore shellcheck errors
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-09-27 13:04:47 +02:00
Marc Brückner dbadf5520b fixed expansion of environment variables 2018-09-27 09:58:47 +02:00
Tilo Spannagel 9681cf171b
Run update.sh 2018-09-25 20:15:13 +02:00
Docker Library Bot 930a33b7be Update to 14.0.1 2018-09-25 09:51:20 +00:00
Tilo Spannagel c9d875afb6
Update travis.yml 2018-09-21 12:01:16 +02:00
Docker Library Bot fca3a2f12d Update to 14.0.1RC1 2018-09-20 21:00:57 +00:00
Marc Brückner 45bf61d190 remove admin password and user name from autoconfig 2018-09-14 08:27:21 +02:00
Marc Brückner bdc2d3e610 fix regex for apache 2018-09-14 08:25:49 +02:00
Marc Brückner a3cce50b00 only initialize / update when the command is apache* or php-fpm (do nothing on thins like bash, echo) 2018-09-13 14:36:50 +02:00
Marc Brückner f5d3234fca - using defaults from autoconfig.php
- using '-n' instead of '! -z'
- adding quotes
2018-09-13 11:32:56 +02:00
Tilo Spannagel 69e982d7c7
Merge pull request #460 from J0WI/mem-limit
Add custom memory limit for PHP CLI (fix #447)
2018-09-12 21:56:50 +02:00
J0WI f5d27c6153 Add custom memory limit for PHP CLI (fix #447) 2018-09-12 16:43:08 +02:00
Marc Brückner 7f485eb9fa implement #455: auto-install via occ maintenance:install 2018-09-12 14:32:05 +02:00
Tilo Spannagel eed144231e
Merge pull request #451 from LouisMT/referrer-policy-examples
Add Referrer-Policy header examples for nginx
2018-09-11 20:23:45 +02:00
Louis Matthijssen a31db79ae9
Add Referrer-Policy header examples for nginx 2018-09-11 19:38:17 +02:00
Tilo Spannagel 1a41584c28
Merge pull request #453 from LouisMT/fix-upgrade-script-typo
Fix small typo in upgrade script
2018-09-09 14:57:22 +02:00
Louis Matthijssen f6abe4472b
Fix small typo in upgrade script 2018-09-09 14:25:54 +02:00
Tilo Spannagel 4549fd56a9
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-09-06 16:58:51 +02:00
Docker Library Bot b72fbcfb04 Update to 14.0.0RC2 2018-08-31 15:51:21 +00:00
Tilo Spannagel 61829178ab
Merge pull request #442 from nextcloud/ship-13.0.6
Ship 13.0.6 on stable and production channel
2018-08-30 16:00:07 +02:00
Tilo Spannagel 5bb0a7d7fb
Ship 13.0.6 on stable and production channel
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-30 15:28:44 +02:00
Tilo Spannagel 9435421b50
Run update.sh 2018-08-30 14:01:09 +02:00
Tilo Spannagel 6124a1af14
Merge pull request #439 from nextcloud/alpine-3.8
Upgrade to alpine 3.8
2018-08-29 10:20:03 +02:00
Tilo Spannagel e1b371d460
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-27 19:02:39 +02:00
Tilo Spannagel b784ac84ad
Upgrade to alpine 3.8
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-27 19:01:54 +02:00
Ruben Barkow 35fd42d042 example Dockerfiles: remove obsolete jessie backports (see #435) (#437)
The docker image already is on stretch, so no backports are needed
2018-08-27 17:27:21 +02:00
Ruben Barkow 7b19d3c352 .examples/README.md: fix typo: LibreOffice without caps (#436) 2018-08-27 11:58:21 +02:00
Ruben Barkow 0feb06c098 .examples/README.md: remove obsolete jessie backports (#435)
The docker image already is on stretch, so no backports are needed
2018-08-27 11:57:33 +02:00
Ruben Barkow b7b85cf197 .examples/README.md: replace </br> with two spaces 2018-08-27 11:36:31 +02:00
Tilo Spannagel d75368bbbd
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-25 11:18:38 +02:00
Tilo Spannagel 06e6a54011
Merge pull request #433 from nextcloud/remove-dup-var
Remove duplicated var from example
2018-08-24 17:03:46 +02:00
Tilo Spannagel 6da6d063ef
Remove duplicated var from example
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-24 17:02:46 +02:00
Tilo Spannagel 23ae40b44b
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-24 12:32:06 +02:00
Tilo Spannagel 97f66e6641
Merge pull request #424 from nextcloud/remove-app-disable-upgrade
Remove the "--no-app-disable" option form the "occ upgrade" command
2018-08-21 20:31:54 +02:00
Tilo Spannagel bc04997fee
Merge pull request #427 from J0WI/non-root-travis
Remove sudo and distro from .travis.yml
2018-08-21 11:33:05 +02:00
Tilo Spannagel 7dc465b999
Merge pull request #423 from nextcloud/use-request_uri-variable
Use $request_uri instead of $uri in nginx config
2018-08-21 11:31:05 +02:00
J0WI cb8d4a7ed4 Remove sudo and distro from .travis.yml 2018-08-19 16:32:22 +02:00
Tilo Spannagel 1654a164dc
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-16 18:10:27 +02:00
Tilo Spannagel 677134a7f9
Remove the "--no-app-disable" option form the "occ upgrade" command
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-16 18:07:28 +02:00
Tilo Spannagel 71b4d891f8
Use $request_uri instead of $uri in nginx config
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-16 17:59:03 +02:00
Docker Library Bot 76ca281e03 Update to 14.0.0beta4 2018-08-16 09:51:22 +00:00
Tilo Spannagel c82c9fb705
Merge pull request #418 from nextcloud/redis-4.1.1
Update redis to version 4.1.1
2018-08-09 14:02:55 +02:00
Tilo Spannagel c2cb51c7a8 Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-09 13:59:33 +02:00
Tilo Spannagel a33d46c03c Update redis to version 4.1.1
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-09 13:59:33 +02:00
Docker Library Bot 63cde1e682 Update to 14.0.0beta3 2018-08-09 09:51:22 +00:00
Tilo Spannagel e4b29de140
Merge pull request #416 from nextcloud/php-7.2
Switch to php 7.2 for nextcloud 13.0 and greater
2018-08-08 11:42:48 +02:00
Tilo Spannagel 1f67adcf94
Merge pull request #413 from nextcloud/apcu-cli
Enable apcu for cli calls
2018-08-08 11:42:30 +02:00
Tilo Spannagel c79c5a8883 Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-07 20:52:49 +02:00
Tilo Spannagel bb4523958d Remove the php module mcrypt
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-07 20:52:49 +02:00
Tilo Spannagel 323dc9034f Switch to php 7.2 for nextcloud 13.0 and greater
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-07 18:52:00 +02:00
Tilo Spannagel 989f6be2c4
Merge pull request #414 from nextcloud/fix-full-example
Fix full Dockerfile example
2018-08-06 15:27:48 +02:00
Tilo Spannagel aa9cd89b82 Fix full Dockerfile example 2018-08-06 14:40:03 +02:00
Tilo Spannagel 547abbdce7 Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-06 10:12:58 +02:00
Tilo Spannagel 52d7f2e334 Enable apcu for cli calls
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-08-06 10:11:05 +02:00
Tilo Spannagel 68c731298e
Merge pull request #412 from freeroot/master
add infos from #409 in doc
2018-08-06 09:50:54 +02:00
Tilo Spannagel 31878f1f57
Merge pull request #406 from nextcloud/cleanup
Small cleanups
2018-08-03 08:04:02 +02:00
Docker Library Bot 20d8e0df8d Update to 14.0.0beta2 2018-08-02 09:51:21 +00:00
Tilo Spannagel 328b7f334f Run update.sh 2018-08-01 23:22:31 +02:00
Tilo Spannagel 5d79969947 Fix indentation 2018-08-01 23:19:53 +02:00
Tilo Spannagel 654ddeae23 Remove trailing whitespaces 2018-08-01 22:55:25 +02:00
Tilo Spannagel 39d259adfc
Merge pull request #405 from nextcloud/fix-examples
Fix the "with-nginx-proxy-self-signed-ssl" example
2018-08-01 22:22:29 +02:00
Tilo Spannagel 9586356008 Add mariadb command line arguments 2018-08-01 22:02:44 +02:00
Tilo Spannagel e05e2f1dd7 Use custom Dockerfiles instead of mounts 2018-08-01 21:59:11 +02:00
Tilo Spannagel 4ce7ef03ba
Merge pull request #399 from nextcloud/beta-14
Nextcloud 14.0 Beta
2018-07-31 12:07:24 +02:00
Tilo Spannagel ff77d29974 Fix var name
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-07-31 11:33:45 +02:00
Tilo Spannagel 7f91a3a233 Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-07-31 10:31:28 +02:00
Tilo Spannagel 4cefdbfb40 Add support for betas to generate-stackbrew-library.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-07-26 18:28:09 +02:00
Tilo Spannagel ffa7769319 Add support for betas to update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-07-26 18:20:43 +02:00
Tilo Spannagel c7092b7a93
Merge pull request #397 from nextcloud/stable-13.0.5
Ship 13.0.5 on stable channel
2018-07-23 18:57:31 +02:00
Tilo Spannagel 14c290dfec Run update.sh 2018-07-23 18:35:29 +02:00
Tilo Spannagel cfa514bbd8 Ship 13.0.5 on stable channel 2018-07-23 18:34:33 +02:00
Docker Library Bot 66fcf0ba1f Update to 12.0.10 2018-07-23 15:51:17 +00:00
Docker Library Bot b0c5b58f58 Update to 13.0.5 2018-07-23 15:51:16 +00:00
Tilo Spannagel 18c3e065f6
Merge pull request #390 from nextcloud/APCu-5.1.12
Update APCu to version 5.1.12
2018-07-16 10:53:22 +02:00
Tilo Spannagel daf0e68aaf Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-07-16 10:17:00 +02:00
Tilo Spannagel 87dfa43082 Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-07-12 20:31:50 +02:00
Tilo Spannagel bbc61b3165 Update APCu to version 5.1.12
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-07-12 20:31:04 +02:00
Tilo Spannagel 9547740db1
Run update.sh 2018-07-12 16:22:45 +02:00
Tilo Spannagel ebfcbfb255
Merge pull request #370 from nextcloud/fix-travis
Add pgp-happy-eyeballs to travis
2018-06-19 10:17:05 +02:00
Tilo Spannagel af3787d31d
Add pgp-happy-eyeballs to travis
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-06-19 09:49:13 +02:00
Tilo Spannagel 5ea9f6b612
Add 13.0.4 to production
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-06-13 23:23:21 +02:00
Tilo Spannagel 26ccd170b0
Merge pull request #366 from nextcloud/stable-13.0.4
Ship 13.0.4 on stable channel
2018-06-11 14:34:42 +02:00
Tilo Spannagel c0708d7967
Ship 13.0.4 on stable channel
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-06-11 14:28:16 +02:00
Docker Library Bot 12c61283e0 Update to 12.0.9 2018-06-11 09:51:16 +00:00
Docker Library Bot 2e1ea3384e Update to 13.0.4 2018-06-11 09:51:16 +00:00
Tilo Spannagel 1d9428d1db
Merge pull request #363 from nextcloud/stable-13.0.3
Ship 13.0.3 on stable channel
2018-06-07 16:45:44 +02:00
Tilo Spannagel 18c1f1f5b6
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-06-07 12:23:15 +02:00
Tilo Spannagel ccb09b16a6
Ship 13.0.3 on stable channel 2018-06-07 12:22:54 +02:00
Tilo Spannagel 65ee21367b
Merge pull request #358 from J0WI/gpg-race
Adjust gpg code to kill daemons, cutting down on race conditions
2018-06-05 00:18:43 +02:00
Tilo Spannagel b1aa2bdb40
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-06-05 00:12:52 +02:00
Tilo Spannagel 8ac2fb92d2
Revert "Kill the gpg-agent"
This reverts commit edada57b6e.
2018-06-05 00:11:45 +02:00
J0WI 2714a3cc74 Adjust gpg code to kill daemons, cutting down on race conditions 2018-06-05 00:05:52 +02:00
Tilo Spannagel f42c63ea48
Merge pull request #357 from nextcloud/kill-gpg-agent
Kill the gpg-agent
2018-06-04 23:46:14 +02:00
Tilo Spannagel 54fd1cc8ec
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-06-04 23:08:37 +02:00
Tilo Spannagel edada57b6e
Kill the gpg-agent
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-06-04 22:58:34 +02:00
Tilo Spannagel 5ea40f130f
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-06-04 21:15:54 +02:00
Tilo Spannagel 826e90c2cb
Merge pull request #346 from J0WI/PHPIZE_DEPS
Replace alpine-sdk with $PHPIZE_DEPS
2018-06-04 08:25:13 +02:00
Tilo Spannagel 4d1f143f69
Merge pull request #355 from J0WI/pecl-install
Do "pecl install" in series so it fails properly
2018-06-01 21:55:33 +02:00
J0WI 88648a256f Replace alpine-sdk with 2018-06-01 21:34:03 +02:00
J0WI 3b8aa7062a
Do "pecl install" in series so it fails properly 2018-06-01 21:06:51 +02:00
Tilo Spannagel cbd5bd17bc
Run update.sh 2018-06-01 20:38:30 +02:00
Tilo Spannagel 0d843dc3ca
Merge pull request #344 from nextcloud/fix-gpg-agent-race-condition
Fix a race condition caused by the gpg-agent
2018-06-01 20:33:28 +02:00
Tilo Spannagel 351ea1eef4
Merge pull request #353 from nextcloud/new-logo
Update logo.svg
2018-05-30 21:59:01 +02:00
Tilo Spannagel a4a6ee0d37
Switch to new logo 2018-05-30 21:16:46 +02:00
Tilo Spannagel 80dd587d84
Update logo.svg 2018-05-30 21:11:42 +02:00
Tilo Spannagel 5af0fda705
Run update.sh
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-05-24 21:20:13 +02:00
Tilo Spannagel 2ba0991533
Fix a race condition caused by the gpg-agent
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-05-24 21:19:01 +02:00
Tilo Spannagel e833d8a4b7
Merge pull request #343 from nextcloud/license
Add the GNU Affero General Public License
2018-05-24 19:51:12 +02:00
Tilo Spannagel 5c7ba18637
Add the GNU Affero General Public License
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2018-05-24 19:19:37 +02:00
Tilo Spannagel 81e5468c73
Merge pull request #342 from nextcloud/stretch-and-3.7
Move to a debian stretch and alpine 3.7 based base image
2018-05-24 17:22:31 +02:00
Tilo Spannagel 7a5bf34195
Run update.sh 2018-05-24 14:29:37 +02:00
Tilo Spannagel 85a7b1a6ba
Move to a debian stretch and alpine 3.7 based base image 2018-05-24 14:29:30 +02:00
Lucian I. Last c07de51f8e Add example for LAN solutions with HTTPS without letsencrypt #337
This is un-tested: will test and debug now.
2018-05-17 10:33:59 +02:00
Freeroot 64a531b428 add infos from #409 in doc 2018-05-11 12:46:39 +02:00
Freeroot 7f611a569e add infos from #409 in doc 2018-08-05 11:25:47 +02:00
251 changed files with 8303 additions and 1116 deletions

View File

@ -23,12 +23,9 @@ if (getenv('SQLITE_DATABASE')) {
}
if ($autoconfig_enabled) {
$AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: "";
if (getenv('NEXTCLOUD_TABLE_PREFIX')) {
$AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX');
}
$AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data";
if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) {
$AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER');
$AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD');
}
}

17
.config/redis.config.php Normal file
View File

@ -0,0 +1,17 @@
<?php
if (getenv('REDIS_HOST')) {
$CONFIG = array (
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => getenv('REDIS_HOST'),
'password' => getenv('REDIS_HOST_PASSWORD'),
),
);
if (getenv('REDIS_HOST_PORT') !== false) {
$CONFIG['redis']['port'] = (int) getenv('REDIS_HOST_PORT');
} elseif (getenv('REDIS_HOST')[0] != '/') {
$CONFIG['redis']['port'] = 6379;
}
}

15
.config/smtp.config.php Normal file
View File

@ -0,0 +1,15 @@
<?php
if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN')) {
$CONFIG = array (
'mail_smtpmode' => 'smtp',
'mail_smtphost' => getenv('SMTP_HOST'),
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
'mail_smtppassword' => getenv('SMTP_PASSWORD') ?: '',
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
'mail_domain' => getenv('MAIL_DOMAIN'),
);
}

View File

@ -1,7 +1,7 @@
# Examples section
In this subfolders are some examples how to use the docker image. There are two sections:
* [`dockerfiles`](https://github.com/nextcloud/docker/tree/master/.examples/dockerfiles)
* [`docker-compose`](https://github.com/nextcloud/docker/tree/master/.examples/docker-compose)
@ -13,7 +13,7 @@ The Dockerfiles use the default images as base image and build on top of it.
Example | Description
------- | -------
[cron](https://github.com/nextcloud/docker/tree/master/.examples/dockerfiles/cron) | uses supervisor to run the cron job inside the container (so no extra container is needed).
[cron](https://github.com/nextcloud/docker/tree/master/.examples/dockerfiles/cron) | uses supervisor to run the cron job inside the container (so no extra container is needed). This image runs `supervisord` to start nextcloud and cron as two seperate processes inside the container.
[imap](https://github.com/nextcloud/docker/tree/master/.examples/dockerfiles/imap) | adds dependencies required to authenticate users via imap
[smb](https://github.com/nextcloud/docker/tree/master/.examples/dockerfiles/smb) | adds dependencies required to use smb shares
[full](https://github.com/nextcloud/docker/tree/master/.examples/dockerfiles/full) | adds dependencies for ALL optional packages and cron functionality via supervisor (as in the `cron` example Dockerfile).
@ -21,49 +21,46 @@ Example | Description
### full
The `full` Dockerfile example adds dependencies for all optional packages suggested by nextcloud that may be needed for some features (e.g. Video Preview Generation), as stated in the [Administration Manual](https://docs.nextcloud.com/server/12/admin_manual/installation/source_installation.html).
NOTE: The Dockerfile does not install the LibreOffice package (line is commented), because it would increase the generated Image size by approximately 500 MB. In order to install it, simply uncomment the 13th line of the Dockerfile.</br>
NOTE: The Dockerfile does not install the LibreOffice package (line is commented), because it would increase the generated Image size by approximately 500 MB. In order to install it, simply uncomment the appropriate line in the Dockerfile.
NOTE: Per default, only previews for BMP, GIF, JPEG, MarkDown, MP3, PNG, TXT, and XBitmap Files are generated. The configuration of the preview generation can be done in config.php, as explained in the [Administration Manual](https://docs.nextcloud.com/server/12/admin_manual/configuration_server/config_sample_php_parameters.html#previews)</br>
NOTE: Per default, only previews for BMP, GIF, JPEG, MarkDown, MP3, PNG, TXT, and XBitmap Files are generated. The configuration of the preview generation can be done in config.php, as explained in the [Administration Manual](https://docs.nextcloud.com/server/12/admin_manual/configuration_server/config_sample_php_parameters.html#previews)
NOTE: Nextcloud recommends [disabling preview generation](https://docs.nextcloud.com/server/12/admin_manual/configuration_server/harden_server.html?highlight=enabledpreviewproviders#disable-preview-image-generation) for high security deployments, as preview generation opens your nextcloud instance to new possible attack vectors.</br>
NOTE: Nextcloud recommends [disabling preview generation](https://docs.nextcloud.com/server/12/admin_manual/configuration_server/harden_server.html?highlight=enabledpreviewproviders#disable-preview-image-generation) for high security deployments, as preview generation opens your nextcloud instance to new possible attack vectors.
The required steps for each optional/recommended package that is not already in the Nextcloud image are listed here, so that the Dockerfile can easily be modified to only install the needed extra packages. Simply remove the steps for the unwanted packages from the Dockerfile.
The required steps for each optional/recommended package that is not already in the Nextcloud image are listed here, so that the Dockerfile can easily be modified to only install the needed extra packages. Simply remove the steps for the unwanted packages from the Dockerfile.
#### PHP Module bz2
`docker-php-ext-install bz2` </br>
#### PHP Module imagick
`apt install libmagickwand-dev` </br>
`pecl install imagick` </br>
`docker-php-ext-enable imagick` </br>
`docker-php-ext-install bz2`
#### PHP Module imap
`apt install libc-client-dev libkrb5-dev` </br>
`docker-php-ext-configure imap --with-kerberos --with-imap-ssl` </br>
`docker-php-ext-install imap` </br>
`apt install libc-client-dev libkrb5-dev`
`docker-php-ext-configure imap --with-kerberos --with-imap-ssl`
`docker-php-ext-install imap`
#### PHP Module gmp
`apt install libgmp3-dev` </br>
`docker-php-ext-install gmp` </br>
`apt install libgmp3-dev`
`docker-php-ext-install gmp`
#### PHP Module smbclient
`apt install smbclient libsmbclient-dev` </br>
`pecl install smbclient` </br>
`docker-php-ext-enable smbclient` </br>
`apt install smbclient libsmbclient-dev`
`pecl install smbclient`
`docker-php-ext-enable smbclient`
#### ffmpeg
`echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list` </br>
`apt install ffmpeg` </br>
`apt install ffmpeg`
#### imagemagick SVG support
`apt install libmagickcore-6.q16-6-extra`
#### LibreOffice
`apt install LibreOffice` </br>
`apt install libreoffice`
#### CRON via supervisor
`apt install supervisor` </br>
`mkdir /var/log/supervisord /var/run/supervisord` </br>
The following Dockerfile commands are also necessary for a sucessfull cron installation: </br>
`COPY supervisord.conf /etc/supervisor/supervisord.conf` </br>
`CMD ["/usr/bin/supervisord"]` </br>
`apt install supervisor`
`mkdir /var/log/supervisord /var/run/supervisord`
The following Dockerfile commands are also necessary for a sucessfull cron installation:
`COPY supervisord.conf /etc/supervisor/supervisord.conf`
`CMD ["/usr/bin/supervisord"]`
@ -92,9 +89,12 @@ If you want to update your installation to a newer version of nextcloud, repeat
### with-nginx-proxy
The nginx proxy adds a proxy layer between nextcloud and the internet. The proxy is designed to serve multiple sites on the same host machine.
The advantage in adding this layer is the ability to add a container for [Let's Encrypt](https://letsencrypt.org/) certificate handling.
This combination of the [jwilder/nginx-proxy](https://github.com/jwilder/nginx-proxy) and [jrcs/docker-letsencrypt-nginx-proxy-companion](https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion) containers creates a fully automated https encryption of the nextcloud installation without worrying about certificate generation, validation or renewal.
**This setup only works with a valid domain name on a server that is reachable from the internet.**
To use this example complete the following steps:
1. open `docker-compose.yml`

View File

@ -1,3 +0,0 @@
FROM nextcloud:apache
COPY redis.config.php /usr/src/nextcloud/config/redis.config.php

View File

@ -1,8 +0,0 @@
<?php
$CONFIG = array (
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'redis',
'port' => 6379,
),
);

View File

@ -13,11 +13,11 @@ services:
- db.env
redis:
image: redis
image: redis:alpine
restart: always
app:
build: ./app
app:
image: nextcloud:apache
restart: always
ports:
- 8080:80
@ -25,6 +25,7 @@ services:
- nextcloud:/var/www/html
environment:
- MYSQL_HOST=db
- REDIS_HOST=redis
env_file:
- db.env
depends_on:
@ -32,7 +33,7 @@ services:
- redis
cron:
build: ./app
image: nextcloud:apache
restart: always
volumes:
- nextcloud:/var/www/html

View File

@ -1,3 +0,0 @@
FROM nextcloud:fpm
COPY redis.config.php /usr/src/nextcloud/config/redis.config.php

View File

@ -1,8 +0,0 @@
<?php
$CONFIG = array (
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'redis',
'port' => 6379,
),
);

View File

@ -13,16 +13,17 @@ services:
- db.env
redis:
image: redis
image: redis:alpine
restart: always
app:
build: ./app
app:
image: nextcloud:fpm-alpine
restart: always
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_HOST=db
- REDIS_HOST=redis
env_file:
- db.env
depends_on:
@ -40,7 +41,7 @@ services:
- app
cron:
build: ./app
image: nextcloud:fpm-alpine
restart: always
volumes:
- nextcloud:/var/www/html

View File

@ -1,3 +1,3 @@
FROM nginx
FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf

View File

@ -1,5 +1,4 @@
user www-data;
worker_processes 1;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
@ -37,20 +36,25 @@ http {
# Add headers to serve security related headers
# Before enabling Strict-Transport-Security headers please read into this
# topic first.
# add_header Strict-Transport-Security "max-age=15768000;
# includeSubDomains; preload;";
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Remove X-Powered-By, which is an information leak
fastcgi_hide_header X-Powered-By;
# Path to the root of your installation
root /var/www/html;
location = /robots.txt {
@ -62,14 +66,18 @@ http {
# The following 2 rules are only needed for the user_webfinger app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json
# last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
# The following rule is only needed for the Social app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
return 301 $scheme://$host:$server_port/remote.php/dav;
}
# set max upload size
@ -89,66 +97,72 @@ http {
#pagespeed off;
location / {
rewrite ^ /index.php$uri;
rewrite ^ /index.php;
}
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ {
deny all;
}
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) {
deny all;
}
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) {
fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
set $path_info $fastcgi_path_info;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
# fastcgi_param HTTPS on;
#Avoid sending the security headers twice
# Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
# Enable pretty urls
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ ^/(?:updater|ocs-provider)(?:$|/) {
location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) {
try_files $uri/ =404;
index index.php;
}
# Adding the cache control header for js and css files
# Adding the cache control header for js, css and map files
# Make sure it is BELOW the PHP block
location ~ \.(?:css|js|woff|svg|gif)$ {
try_files $uri /index.php$uri$is_args$args;
location ~ \.(?:css|js|woff2?|svg|gif|map)$ {
try_files $uri /index.php$request_uri;
add_header Cache-Control "public, max-age=15778463";
# Add headers to serve security related headers (It is intended to
# have those duplicated to the ones above)
# Before enabling Strict-Transport-Security headers please read into
# this topic first.
# add_header Strict-Transport-Security "max-age=15768000;
# includeSubDomains; preload;";
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Optional: Don't log access to assets
access_log off;
}
location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
try_files $uri /index.php$uri$is_args$args;
location ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ {
try_files $uri /index.php$request_uri;
# Optional: Don't log access to other assets
access_log off;
}
}
}

View File

@ -12,7 +12,7 @@ services:
env_file:
- db.env
app:
app:
image: nextcloud:apache
restart: always
ports:

View File

@ -12,8 +12,8 @@ services:
env_file:
- db.env
app:
image: nextcloud:fpm
app:
image: nextcloud:fpm-alpine
restart: always
volumes:
- nextcloud:/var/www/html

View File

@ -1,3 +1,3 @@
FROM nginx
FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf

View File

@ -1,5 +1,4 @@
user www-data;
worker_processes 1;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
@ -37,20 +36,25 @@ http {
# Add headers to serve security related headers
# Before enabling Strict-Transport-Security headers please read into this
# topic first.
# add_header Strict-Transport-Security "max-age=15768000;
# includeSubDomains; preload;";
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Remove X-Powered-By, which is an information leak
fastcgi_hide_header X-Powered-By;
# Path to the root of your installation
root /var/www/html;
location = /robots.txt {
@ -62,14 +66,18 @@ http {
# The following 2 rules are only needed for the user_webfinger app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json
# last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
# The following rule is only needed for the Social app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
return 301 $scheme://$host:$server_port/remote.php/dav;
}
# set max upload size
@ -89,66 +97,72 @@ http {
#pagespeed off;
location / {
rewrite ^ /index.php$uri;
rewrite ^ /index.php;
}
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ {
deny all;
}
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) {
deny all;
}
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) {
fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
set $path_info $fastcgi_path_info;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
# fastcgi_param HTTPS on;
#Avoid sending the security headers twice
# Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
# Enable pretty urls
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ ^/(?:updater|ocs-provider)(?:$|/) {
location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) {
try_files $uri/ =404;
index index.php;
}
# Adding the cache control header for js and css files
# Adding the cache control header for js, css and map files
# Make sure it is BELOW the PHP block
location ~ \.(?:css|js|woff|svg|gif)$ {
try_files $uri /index.php$uri$is_args$args;
location ~ \.(?:css|js|woff2?|svg|gif|map)$ {
try_files $uri /index.php$request_uri;
add_header Cache-Control "public, max-age=15778463";
# Add headers to serve security related headers (It is intended to
# have those duplicated to the ones above)
# Before enabling Strict-Transport-Security headers please read into
# this topic first.
# add_header Strict-Transport-Security "max-age=15768000;
# includeSubDomains; preload;";
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Optional: Don't log access to assets
access_log off;
}
location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
try_files $uri /index.php$uri$is_args$args;
location ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ {
try_files $uri /index.php$request_uri;
# Optional: Don't log access to other assets
access_log off;
}
}
}

View File

@ -2,14 +2,14 @@ version: '3'
services:
db:
image: postgres
image: postgres:alpine
restart: always
volumes:
- db:/var/lib/postgresql/data
env_file:
- db.env
app:
app:
image: nextcloud:apache
restart: always
ports:

View File

@ -2,15 +2,15 @@ version: '3'
services:
db:
image: postgres
image: postgres:alpine
restart: always
volumes:
- db:/var/lib/postgresql/data
env_file:
- db.env
app:
image: nextcloud:fpm
app:
image: nextcloud:fpm-alpine
restart: always
volumes:
- nextcloud:/var/www/html

View File

@ -1,3 +1,3 @@
FROM nginx
FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf

View File

@ -1,5 +1,4 @@
user www-data;
worker_processes 1;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
@ -37,20 +36,25 @@ http {
# Add headers to serve security related headers
# Before enabling Strict-Transport-Security headers please read into this
# topic first.
# add_header Strict-Transport-Security "max-age=15768000;
# includeSubDomains; preload;";
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Remove X-Powered-By, which is an information leak
fastcgi_hide_header X-Powered-By;
# Path to the root of your installation
root /var/www/html;
location = /robots.txt {
@ -62,14 +66,18 @@ http {
# The following 2 rules are only needed for the user_webfinger app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json
# last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
# The following rule is only needed for the Social app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
return 301 $scheme://$host:$server_port/remote.php/dav;
}
# set max upload size
@ -89,66 +97,72 @@ http {
#pagespeed off;
location / {
rewrite ^ /index.php$uri;
rewrite ^ /index.php;
}
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ {
deny all;
}
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) {
deny all;
}
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) {
fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
set $path_info $fastcgi_path_info;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
# fastcgi_param HTTPS on;
#Avoid sending the security headers twice
# Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
# Enable pretty urls
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ ^/(?:updater|ocs-provider)(?:$|/) {
location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) {
try_files $uri/ =404;
index index.php;
}
# Adding the cache control header for js and css files
# Adding the cache control header for js, css and map files
# Make sure it is BELOW the PHP block
location ~ \.(?:css|js|woff|svg|gif)$ {
try_files $uri /index.php$uri$is_args$args;
location ~ \.(?:css|js|woff2?|svg|gif|map)$ {
try_files $uri /index.php$request_uri;
add_header Cache-Control "public, max-age=15778463";
# Add headers to serve security related headers (It is intended to
# have those duplicated to the ones above)
# Before enabling Strict-Transport-Security headers please read into
# this topic first.
# add_header Strict-Transport-Security "max-age=15768000;
# includeSubDomains; preload;";
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Optional: Don't log access to assets
access_log off;
}
location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
try_files $uri /index.php$uri$is_args$args;
location ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ {
try_files $uri /index.php$request_uri;
# Optional: Don't log access to other assets
access_log off;
}
}
}

View File

@ -0,0 +1,3 @@
MYSQL_PASSWORD=
MYSQL_DATABASE=nextcloud
MYSQL_USER=nextcloud

View File

@ -0,0 +1,78 @@
version: '3'
services:
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=
env_file:
- db.env
app:
image: nextcloud:fpm-alpine
restart: always
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_HOST=db
env_file:
- db.env
depends_on:
- db
web:
build: ./web
restart: always
volumes:
- nextcloud:/var/www/html:ro
environment:
- VIRTUAL_HOST=
depends_on:
- app
networks:
- proxy-tier
- default
proxy:
build: ./proxy
restart: always
ports:
- 80:80
- 443:443
volumes:
- certs:/etc/nginx/certs:ro
- vhost.d:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
- proxy-tier
depends_on:
- omgwtfssl
omgwtfssl:
image: paulczar/omgwtfssl
restart: "no"
volumes:
- certs:/certs
environment:
- SSL_SUBJECT=servhostname.local
- CA_SUBJECT=my@example.com
- SSL_KEY=/certs/servhostname.local.key
- SSL_CSR=/certs/servhostname.local.csr
- SSL_CERT=/certs/servhostname.local.crt
networks:
- proxy-tier
volumes:
db:
nextcloud:
certs:
vhost.d:
html:
networks:
proxy-tier:

View File

@ -0,0 +1,3 @@
FROM jwilder/nginx-proxy:alpine
COPY uploadsize.conf /etc/nginx/conf.d/uploadsize.conf

View File

@ -0,0 +1,2 @@
client_max_body_size 10G;
proxy_request_buffering off;

View File

@ -0,0 +1,3 @@
FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf

View File

@ -0,0 +1,173 @@
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
set_real_ip_from 10.0.0.0/8;
set_real_ip_from 172.16.0.0/12;
set_real_ip_from 192.168.0.0/16;
real_ip_header X-Real-IP;
#gzip on;
upstream php-handler {
server app:9000;
}
server {
listen 80;
# Add headers to serve security related headers
# Before enabling Strict-Transport-Security headers please read into this
# topic first.
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Remove X-Powered-By, which is an information leak
fastcgi_hide_header X-Powered-By;
# Path to the root of your installation
root /var/www/html;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# The following 2 rules are only needed for the user_webfinger app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
# The following rule is only needed for the Social app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
location = /.well-known/carddav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
# set max upload size
client_max_body_size 10G;
fastcgi_buffers 64 4K;
# Enable gzip but do not remove ETag headers
gzip on;
gzip_vary on;
gzip_comp_level 4;
gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
# Uncomment if your server is build with the ngx_pagespeed module
# This module is currently not supported.
#pagespeed off;
location / {
rewrite ^ /index.php;
}
location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ {
deny all;
}
location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) {
deny all;
}
location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) {
fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
set $path_info $fastcgi_path_info;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $path_info;
# fastcgi_param HTTPS on;
# Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
# Enable pretty urls
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) {
try_files $uri/ =404;
index index.php;
}
# Adding the cache control header for js, css and map files
# Make sure it is BELOW the PHP block
location ~ \.(?:css|js|woff2?|svg|gif|map)$ {
try_files $uri /index.php$request_uri;
add_header Cache-Control "public, max-age=15778463";
# Add headers to serve security related headers (It is intended to
# have those duplicated to the ones above)
# Before enabling Strict-Transport-Security headers please read into
# this topic first.
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Optional: Don't log access to assets
access_log off;
}
location ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ {
try_files $uri /index.php$request_uri;
# Optional: Don't log access to other assets
access_log off;
}
}
}

View File

@ -1,3 +0,0 @@
FROM nextcloud:apache
COPY redis.config.php /usr/src/nextcloud/config/redis.config.php

View File

@ -1,8 +0,0 @@
<?php
$CONFIG = array (
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'redis',
'port' => 6379,
),
);

View File

@ -13,11 +13,11 @@ services:
- db.env
redis:
image: redis
image: redis:alpine
restart: always
app:
build: ./app
app:
image: nextcloud:apache
restart: always
volumes:
- nextcloud:/var/www/html
@ -26,6 +26,7 @@ services:
- LETSENCRYPT_HOST=
- LETSENCRYPT_EMAIL=
- MYSQL_HOST=db
- REDIS_HOST=redis
env_file:
- db.env
depends_on:
@ -36,7 +37,7 @@ services:
- default
cron:
build: ./app
image: nextcloud:apache
restart: always
volumes:
- nextcloud:/var/www/html

View File

@ -1 +1,2 @@
client_max_body_size 10G;
proxy_request_buffering off;

View File

@ -1,3 +0,0 @@
FROM nextcloud:fpm
COPY redis.config.php /usr/src/nextcloud/config/redis.config.php

View File

@ -1,8 +0,0 @@
<?php
$CONFIG = array (
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'redis',
'port' => 6379,
),
);

View File

@ -13,16 +13,17 @@ services:
- db.env
redis:
image: redis
image: redis:alpine
restart: always
app:
build: ./app
app:
image: nextcloud:fpm-alpine
restart: always
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_HOST=db
- REDIS_HOST=redis
env_file:
- db.env
depends_on:
@ -45,7 +46,7 @@ services:
- default
cron:
build: ./app
image: nextcloud:fpm-alpine
restart: always
volumes:
- nextcloud:/var/www/html

View File

@ -1 +1,2 @@
client_max_body_size 10G;
proxy_request_buffering off;

View File

@ -1,3 +1,3 @@
FROM nginx
FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf

View File

@ -1,5 +1,4 @@
user www-data;
worker_processes 1;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
@ -42,20 +41,25 @@ http {
# Add headers to serve security related headers
# Before enabling Strict-Transport-Security headers please read into this
# topic first.
# add_header Strict-Transport-Security "max-age=15768000;
# includeSubDomains; preload;";
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Remove X-Powered-By, which is an information leak
fastcgi_hide_header X-Powered-By;
# Path to the root of your installation
root /var/www/html;
location = /robots.txt {
@ -67,14 +71,18 @@ http {
# The following 2 rules are only needed for the user_webfinger app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json
# last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
# The following rule is only needed for the Social app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
return 301 $scheme://$host:$server_port/remote.php/dav;
}
# set max upload size
@ -94,66 +102,72 @@ http {
#pagespeed off;
location / {
rewrite ^ /index.php$uri;
rewrite ^ /index.php;
}
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ {
deny all;
}
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) {
deny all;
}
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) {
fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
set $path_info $fastcgi_path_info;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
# fastcgi_param HTTPS on;
#Avoid sending the security headers twice
# Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
# Enable pretty urls
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ ^/(?:updater|ocs-provider)(?:$|/) {
location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) {
try_files $uri/ =404;
index index.php;
}
# Adding the cache control header for js and css files
# Adding the cache control header for js, css and map files
# Make sure it is BELOW the PHP block
location ~ \.(?:css|js|woff|svg|gif)$ {
try_files $uri /index.php$uri$is_args$args;
location ~ \.(?:css|js|woff2?|svg|gif|map)$ {
try_files $uri /index.php$request_uri;
add_header Cache-Control "public, max-age=15778463";
# Add headers to serve security related headers (It is intended to
# have those duplicated to the ones above)
# Before enabling Strict-Transport-Security headers please read into
# this topic first.
# add_header Strict-Transport-Security "max-age=15768000;
# includeSubDomains; preload;";
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Optional: Don't log access to assets
access_log off;
}
location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
try_files $uri /index.php$uri$is_args$args;
location ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ {
try_files $uri /index.php$request_uri;
# Optional: Don't log access to other assets
access_log off;
}
}
}

View File

@ -12,7 +12,7 @@ services:
env_file:
- db.env
app:
app:
image: nextcloud:apache
restart: always
volumes:

View File

@ -1 +1,2 @@
client_max_body_size 10G;
proxy_request_buffering off;

View File

@ -12,8 +12,8 @@ services:
env_file:
- db.env
app:
image: nextcloud:fpm
app:
image: nextcloud:fpm-alpine
restart: always
volumes:
- nextcloud:/var/www/html

View File

@ -1 +1,2 @@
client_max_body_size 10G;
proxy_request_buffering off;

View File

@ -1,3 +1,3 @@
FROM nginx
FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf

View File

@ -1,5 +1,4 @@
user www-data;
worker_processes 1;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
@ -42,20 +41,25 @@ http {
# Add headers to serve security related headers
# Before enabling Strict-Transport-Security headers please read into this
# topic first.
# add_header Strict-Transport-Security "max-age=15768000;
# includeSubDomains; preload;";
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Remove X-Powered-By, which is an information leak
fastcgi_hide_header X-Powered-By;
# Path to the root of your installation
root /var/www/html;
location = /robots.txt {
@ -67,14 +71,18 @@ http {
# The following 2 rules are only needed for the user_webfinger app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json
# last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
# The following rule is only needed for the Social app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
return 301 $scheme://$host:$server_port/remote.php/dav;
}
# set max upload size
@ -94,66 +102,72 @@ http {
#pagespeed off;
location / {
rewrite ^ /index.php$uri;
rewrite ^ /index.php;
}
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ {
deny all;
}
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) {
deny all;
}
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) {
fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
set $path_info $fastcgi_path_info;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
# fastcgi_param HTTPS on;
#Avoid sending the security headers twice
# Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
# Enable pretty urls
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ ^/(?:updater|ocs-provider)(?:$|/) {
location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) {
try_files $uri/ =404;
index index.php;
}
# Adding the cache control header for js and css files
# Adding the cache control header for js, css and map files
# Make sure it is BELOW the PHP block
location ~ \.(?:css|js|woff|svg|gif)$ {
try_files $uri /index.php$uri$is_args$args;
location ~ \.(?:css|js|woff2?|svg|gif|map)$ {
try_files $uri /index.php$request_uri;
add_header Cache-Control "public, max-age=15778463";
# Add headers to serve security related headers (It is intended to
# have those duplicated to the ones above)
# Before enabling Strict-Transport-Security headers please read into
# this topic first.
# add_header Strict-Transport-Security "max-age=15768000;
# includeSubDomains; preload;";
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Optional: Don't log access to assets
access_log off;
}
location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
try_files $uri /index.php$uri$is_args$args;
location ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ {
try_files $uri /index.php$request_uri;
# Optional: Don't log access to other assets
access_log off;
}
}
}

View File

@ -2,14 +2,14 @@ version: '3'
services:
db:
image: postgres
image: postgres:alpine
restart: always
volumes:
- db:/var/lib/postgresql/data
env_file:
- db.env
app:
app:
image: nextcloud:apache
restart: always
volumes:

View File

@ -1 +1,2 @@
client_max_body_size 10G;
proxy_request_buffering off;

View File

@ -2,15 +2,15 @@ version: '3'
services:
db:
image: postgres
image: postgres:alpine
restart: always
volumes:
- db:/var/lib/postgresql/data
env_file:
- db.env
app:
image: nextcloud:fpm
app:
image: nextcloud:fpm-alpine
restart: always
volumes:
- nextcloud:/var/www/html

View File

@ -1 +1,2 @@
client_max_body_size 10G;
proxy_request_buffering off;

View File

@ -1,3 +1,3 @@
FROM nginx
FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf

View File

@ -1,5 +1,4 @@
user www-data;
worker_processes 1;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
@ -42,20 +41,25 @@ http {
# Add headers to serve security related headers
# Before enabling Strict-Transport-Security headers please read into this
# topic first.
# add_header Strict-Transport-Security "max-age=15768000;
# includeSubDomains; preload;";
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Remove X-Powered-By, which is an information leak
fastcgi_hide_header X-Powered-By;
# Path to the root of your installation
root /var/www/html;
location = /robots.txt {
@ -67,14 +71,18 @@ http {
# The following 2 rules are only needed for the user_webfinger app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json
# last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
# The following rule is only needed for the Social app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
return 301 $scheme://$host:$server_port/remote.php/dav;
}
# set max upload size
@ -94,66 +102,72 @@ http {
#pagespeed off;
location / {
rewrite ^ /index.php$uri;
rewrite ^ /index.php;
}
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ {
deny all;
}
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) {
deny all;
}
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) {
fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
set $path_info $fastcgi_path_info;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
# fastcgi_param HTTPS on;
#Avoid sending the security headers twice
# Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
# Enable pretty urls
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ ^/(?:updater|ocs-provider)(?:$|/) {
location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) {
try_files $uri/ =404;
index index.php;
}
# Adding the cache control header for js and css files
# Adding the cache control header for js, css and map files
# Make sure it is BELOW the PHP block
location ~ \.(?:css|js|woff|svg|gif)$ {
try_files $uri /index.php$uri$is_args$args;
location ~ \.(?:css|js|woff2?|svg|gif|map)$ {
try_files $uri /index.php$request_uri;
add_header Cache-Control "public, max-age=15778463";
# Add headers to serve security related headers (It is intended to
# have those duplicated to the ones above)
# Before enabling Strict-Transport-Security headers please read into
# this topic first.
# add_header Strict-Transport-Security "max-age=15768000;
# includeSubDomains; preload;";
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Optional: Don't log access to assets
access_log off;
}
location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
try_files $uri /index.php$uri$is_args$args;
location ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ {
try_files $uri /index.php$request_uri;
# Optional: Don't log access to other assets
access_log off;
}
}
}

View File

@ -5,6 +5,8 @@ RUN apt-get update && apt-get install -y \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir /var/log/supervisord /var/run/supervisord
COPY supervisord.conf /etc/supervisor/supervisord.conf
COPY supervisord.conf /
CMD ["/usr/bin/supervisord"]
ENV NEXTCLOUD_UPDATE=1
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]

View File

@ -0,0 +1,10 @@
FROM nextcloud:fpm-alpine
RUN apk add --no-cache supervisor \
&& mkdir /var/log/supervisord /var/run/supervisord
COPY supervisord.conf /
ENV NEXTCLOUD_UPDATE=1
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]

View File

@ -0,0 +1,22 @@
[supervisord]
nodaemon=true
logfile=/var/log/supervisord/supervisord.log
pidfile=/var/run/supervisord/supervisord.pid
childlogdir=/var/log/supervisord/
logfile_maxbytes=50MB ; maximum size of logfile before rotation
logfile_backups=10 ; number of backed up logfiles
loglevel=error
[program:php-fpm]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=php-fpm
[program:cron]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/cron.sh

View File

@ -5,6 +5,8 @@ RUN apt-get update && apt-get install -y \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir /var/log/supervisord /var/run/supervisord
COPY supervisord.conf /etc/supervisor/supervisord.conf
COPY supervisord.conf /
CMD ["/usr/bin/supervisord"]
ENV NEXTCLOUD_UPDATE=1
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]

View File

@ -1,24 +1,59 @@
FROM nextcloud:apache
RUN echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list \
&& apt-get update && apt-get install -y \
supervisor \
RUN set -ex; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
ffmpeg \
libmagickwand-dev \
libgmp3-dev \
libmagickcore-6.q16-6-extra \
procps \
smbclient \
supervisor \
# libreoffice \
; \
rm -rf /var/lib/apt/lists/*
RUN set -ex; \
\
savedAptMark="$(apt-mark showmanual)"; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
libbz2-dev \
libc-client-dev \
libkrb5-dev \
smbclient \
libsmbclient-dev \
# LibreOffice \
&& rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
&& ln -s "/usr/include/$(dpkg-architecture --query DEB_BUILD_MULTIARCH)/gmp.h" /usr/include/gmp.h \
&& docker-php-ext-install bz2 gmp imap \
&& pecl install imagick smbclient \
&& docker-php-ext-enable imagick smbclient \
&& mkdir /var/log/supervisord /var/run/supervisord
; \
\
docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
docker-php-ext-install \
bz2 \
imap \
; \
pecl install smbclient; \
docker-php-ext-enable smbclient; \
\
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
COPY supervisord.conf /etc/supervisor/supervisord.conf
RUN mkdir -p \
/var/log/supervisord \
/var/run/supervisord \
;
CMD ["/usr/bin/supervisord"]
COPY supervisord.conf /
ENV NEXTCLOUD_UPDATE=1
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]

View File

@ -0,0 +1,51 @@
FROM nextcloud:fpm-alpine
RUN set -ex; \
\
apk add --no-cache \
ffmpeg \
imagemagick \
procps \
samba-client \
supervisor \
# libreoffice \
;
RUN set -ex; \
\
apk add --no-cache --virtual .build-deps \
$PHPIZE_DEPS \
imap-dev \
krb5-dev \
libressl-dev \
samba-dev \
bzip2-dev \
; \
\
docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
docker-php-ext-install \
bz2 \
imap \
; \
pecl install smbclient; \
docker-php-ext-enable smbclient; \
\
runDeps="$( \
scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
| tr ',' '\n' \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
apk add --virtual .nextcloud-phpext-rundeps $runDeps; \
apk del .build-deps
RUN mkdir -p \
/var/log/supervisord \
/var/run/supervisord \
;
COPY supervisord.conf /
ENV NEXTCLOUD_UPDATE=1
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]

View File

@ -0,0 +1,22 @@
[supervisord]
nodaemon=true
logfile=/var/log/supervisord/supervisord.log
pidfile=/var/run/supervisord/supervisord.pid
childlogdir=/var/log/supervisord/
logfile_maxbytes=50MB ; maximum size of logfile before rotation
logfile_backups=10 ; number of backed up logfiles
loglevel=error
[program:php-fpm]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=php-fpm
[program:cron]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/cron.sh

View File

@ -1,24 +1,59 @@
FROM nextcloud:fpm
RUN echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list \
&& apt-get update && apt-get install -y \
supervisor \
RUN set -ex; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
ffmpeg \
libmagickwand-dev \
libgmp3-dev \
libmagickcore-6.q16-6-extra \
procps \
smbclient \
supervisor \
# libreoffice \
; \
rm -rf /var/lib/apt/lists/*
RUN set -ex; \
\
savedAptMark="$(apt-mark showmanual)"; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
libbz2-dev \
libc-client-dev \
libkrb5-dev \
smbclient \
libsmbclient-dev \
# LibreOffice \
&& rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
&& ln -s "/usr/include/$(dpkg-architecture --query DEB_BUILD_MULTIARCH)/gmp.h" /usr/include/gmp.h \
&& docker-php-ext-install bz2 gmp imap \
&& pecl install imagick smbclient \
&& docker-php-ext-enable imagick smbclient \
&& mkdir /var/log/supervisord /var/run/supervisord
; \
\
docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
docker-php-ext-install \
bz2 \
imap \
; \
pecl install smbclient; \
docker-php-ext-enable smbclient; \
\
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
COPY supervisord.conf /etc/supervisor/supervisord.conf
RUN mkdir -p \
/var/log/supervisord \
/var/run/supervisord \
;
CMD ["/usr/bin/supervisord"]
COPY supervisord.conf /
ENV NEXTCLOUD_UPDATE=1
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]

View File

@ -1,7 +1,28 @@
FROM nextcloud:apache
RUN apt-get update \
&& apt-get install -y libc-client-dev libkrb5-dev \
&& rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
&& docker-php-ext-install imap
RUN set -ex; \
\
savedAptMark="$(apt-mark showmanual)"; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
libc-client-dev \
libkrb5-dev \
; \
\
docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
docker-php-ext-install imap; \
\
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*

View File

@ -0,0 +1,22 @@
FROM nextcloud:fpm-alpine
RUN set -ex; \
\
apk add --no-cache --virtual .build-deps \
$PHPIZE_DEPS \
imap-dev \
krb5-dev \
libressl-dev \
; \
\
docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
docker-php-ext-install imap; \
\
runDeps="$( \
scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
| tr ',' '\n' \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
apk add --virtual .nextcloud-phpext-rundeps $runDeps; \
apk del .build-deps

View File

@ -1,7 +1,28 @@
FROM nextcloud:fpm
RUN apt-get update \
&& apt-get install -y libc-client-dev libkrb5-dev \
&& rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
&& docker-php-ext-install imap
RUN set -ex; \
\
savedAptMark="$(apt-mark showmanual)"; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
libc-client-dev \
libkrb5-dev \
; \
\
docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
docker-php-ext-install imap; \
\
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*

View File

@ -1,3 +1,3 @@
FROM nextcloud:apache
RUN apt-get update && apt-get install -y smbclient && rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y procps smbclient && rm -rf /var/lib/apt/lists/*

View File

@ -0,0 +1,3 @@
FROM nextcloud:fpm-alpine
RUN apk add --no-cache procps samba-client

View File

@ -1,3 +1,3 @@
FROM nextcloud:fpm
RUN apt-get update && apt-get install -y smbclient && rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y procps smbclient && rm -rf /var/lib/apt/lists/*

View File

@ -1,42 +1,60 @@
dist: trusty
sudo: required
services: docker
language: bash
services: docker
branches:
only:
- master
# preload images to avoid timeouts in tests
before_install:
- docker pull mariadb:10
- docker pull postgres:11-alpine
install:
- git clone https://github.com/docker-library/official-images.git ~/official-images
before_script:
- env | sort
- wget -qO- 'https://github.com/tianon/pgp-happy-eyeballs/raw/master/hack-my-builds.sh' | bash
- image="nextcloud:${VERSION}${VARIANT:+-$VARIANT}"
- if [[ "$ARCH" == 'i386' ]]; then sed -i -e 's/FROM php/FROM i386\/php/g' "${VERSION}/${VARIANT}/Dockerfile"; fi
script:
- travis_retry docker build -t "$image" "${VERSION}/${VARIANT}"
- ~/official-images/test/run.sh "$image"
- .travis/test-example-dockerfiles.sh "$image"
- |
(
set -Eeuo pipefail
set -x
travis_retry docker build -t "$image" "${VERSION}/${VARIANT}"
travis_retry ~/official-images/test/run.sh "$image"
.travis/test-example-dockerfiles.sh "$image"
)
after_script:
- docker images
jobs:
# https://github.com/docker-library/php/issues/822
allow_failures:
- env: VERSION=15.0 VARIANT=apache ARCH=i386
- env: VERSION=16.0 VARIANT=apache ARCH=i386
- env: VERSION=17.0 VARIANT=apache ARCH=i386
- env: VERSION=18.0 VARIANT=apache ARCH=i386
- env: VERSION=15.0-rc VARIANT=apache ARCH=i386
- env: VERSION=16.0-rc VARIANT=apache ARCH=i386
- env: VERSION=17.0-rc VARIANT=apache ARCH=i386
- env: VERSION=18.0-rc VARIANT=apache ARCH=i386
- env: VERSION=17.0-beta VARIANT=apache ARCH=i386
- env: VERSION=18.0-beta VARIANT=apache ARCH=i386
include:
- &test-scripts
stage: test scripts
env: SCRIPT=update.sh
sudo: false
services: []
install: skip
before_script: skip
script:
- hash_before=$(git write-tree)
- ./update.sh
- travis_retry ./update.sh
- bash -c "[[ $hash_before = $(git add -A && git write-tree) ]]"
after_script: skip
@ -46,18 +64,42 @@ jobs:
- wget -O "$HOME/bin/bashbrew" https://doi-janky.infosiftr.net/job/bashbrew/lastSuccessfulBuild/artifact/bin/bashbrew-amd64
- chmod +x "$HOME/bin/bashbrew"
script:
- ./generate-stackbrew-library.sh
- travis_retry ./generate-stackbrew-library.sh
- stage: test images
env: VERSION=12.0 VARIANT=fpm-alpine ARCH=amd64
- env: VERSION=12.0 VARIANT=fpm-alpine ARCH=i386
- env: VERSION=12.0 VARIANT=fpm ARCH=amd64
- env: VERSION=12.0 VARIANT=fpm ARCH=i386
- env: VERSION=12.0 VARIANT=apache ARCH=amd64
- env: VERSION=12.0 VARIANT=apache ARCH=i386
- env: VERSION=13.0 VARIANT=fpm-alpine ARCH=amd64
- env: VERSION=13.0 VARIANT=fpm-alpine ARCH=i386
- env: VERSION=13.0 VARIANT=fpm ARCH=amd64
- env: VERSION=13.0 VARIANT=fpm ARCH=i386
- env: VERSION=13.0 VARIANT=apache ARCH=amd64
- env: VERSION=13.0 VARIANT=apache ARCH=i386
env: VERSION=16.0-rc VARIANT=fpm-alpine ARCH=amd64
- env: VERSION=16.0-rc VARIANT=fpm-alpine ARCH=i386
- env: VERSION=16.0-rc VARIANT=fpm ARCH=amd64
- env: VERSION=16.0-rc VARIANT=fpm ARCH=i386
- env: VERSION=16.0-rc VARIANT=apache ARCH=amd64
- env: VERSION=16.0-rc VARIANT=apache ARCH=i386
- env: VERSION=17.0-rc VARIANT=fpm-alpine ARCH=amd64
- env: VERSION=17.0-rc VARIANT=fpm-alpine ARCH=i386
- env: VERSION=17.0-rc VARIANT=fpm ARCH=amd64
- env: VERSION=17.0-rc VARIANT=fpm ARCH=i386
- env: VERSION=17.0-rc VARIANT=apache ARCH=amd64
- env: VERSION=17.0-rc VARIANT=apache ARCH=i386
- env: VERSION=18.0-rc VARIANT=fpm-alpine ARCH=amd64
- env: VERSION=18.0-rc VARIANT=fpm-alpine ARCH=i386
- env: VERSION=18.0-rc VARIANT=fpm ARCH=amd64
- env: VERSION=18.0-rc VARIANT=fpm ARCH=i386
- env: VERSION=18.0-rc VARIANT=apache ARCH=amd64
- env: VERSION=18.0-rc VARIANT=apache ARCH=i386
- env: VERSION=16.0 VARIANT=fpm-alpine ARCH=amd64
- env: VERSION=16.0 VARIANT=fpm-alpine ARCH=i386
- env: VERSION=16.0 VARIANT=fpm ARCH=amd64
- env: VERSION=16.0 VARIANT=fpm ARCH=i386
- env: VERSION=16.0 VARIANT=apache ARCH=amd64
- env: VERSION=16.0 VARIANT=apache ARCH=i386
- env: VERSION=17.0 VARIANT=fpm-alpine ARCH=amd64
- env: VERSION=17.0 VARIANT=fpm-alpine ARCH=i386
- env: VERSION=17.0 VARIANT=fpm ARCH=amd64
- env: VERSION=17.0 VARIANT=fpm ARCH=i386
- env: VERSION=17.0 VARIANT=apache ARCH=amd64
- env: VERSION=17.0 VARIANT=apache ARCH=i386
- env: VERSION=18.0 VARIANT=fpm-alpine ARCH=amd64
- env: VERSION=18.0 VARIANT=fpm-alpine ARCH=i386
- env: VERSION=18.0 VARIANT=fpm ARCH=amd64
- env: VERSION=18.0 VARIANT=fpm ARCH=i386
- env: VERSION=18.0 VARIANT=apache ARCH=amd64
- env: VERSION=18.0 VARIANT=apache ARCH=i386

View File

@ -10,10 +10,9 @@ dirs=( "${dirs[@]%/}" )
for dir in "${dirs[@]}"; do
if [ -d "$dir/$VARIANT" ]; then
(
cd "$dir/$VARIANT"
cd "$dir/$VARIANT"
sed -ri -e 's/^FROM .*/FROM '"$image"'/g' 'Dockerfile'
docker build -t "$image-$dir" .
~/official-images/test/run.sh "$image-$dir"
)
fi
done

View File

@ -1,62 +0,0 @@
#!/bin/sh
set -eu
# version_greater A B returns whether A > B
version_greater() {
[ "$(printf '%s\n' "$@" | sort -t '.' -n -k1,1 -k2,2 -k3,3 -k4,4 | head -n 1)" != "$1" ]
}
# return true if specified directory is empty
directory_empty() {
[ -z "$(ls -A "$1/")" ]
}
run_as() {
if [ "$(id -u)" = 0 ]; then
su - www-data -s /bin/sh -c "$1"
else
sh -c "$1"
fi
}
installed_version="0.0.0.0"
if [ -f /var/www/html/version.php ]; then
# shellcheck disable=SC2016
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
fi
# shellcheck disable=SC2016
image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')"
if version_greater "$installed_version" "$image_version"; then
echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?"
exit 1
fi
if version_greater "$image_version" "$installed_version"; then
if [ "$installed_version" != "0.0.0.0" ]; then
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before
fi
if [ "$(id -u)" = 0 ]; then
rsync_options="-rlDog --chown www-data:root"
else
rsync_options="-rlD"
fi
rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/
for dir in config data custom_apps themes; do
if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then
rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/
fi
done
if [ "$installed_version" != "0.0.0.0" ]; then
run_as 'php /var/www/html/occ upgrade --no-app-disable'
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after
echo "The following apps have beed disabled:"
diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1
rm -f /tmp/list_before /tmp/list_after
fi
fi
exec "$@"

View File

@ -1,62 +0,0 @@
#!/bin/sh
set -eu
# version_greater A B returns whether A > B
version_greater() {
[ "$(printf '%s\n' "$@" | sort -t '.' -n -k1,1 -k2,2 -k3,3 -k4,4 | head -n 1)" != "$1" ]
}
# return true if specified directory is empty
directory_empty() {
[ -z "$(ls -A "$1/")" ]
}
run_as() {
if [ "$(id -u)" = 0 ]; then
su - www-data -s /bin/sh -c "$1"
else
sh -c "$1"
fi
}
installed_version="0.0.0.0"
if [ -f /var/www/html/version.php ]; then
# shellcheck disable=SC2016
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
fi
# shellcheck disable=SC2016
image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')"
if version_greater "$installed_version" "$image_version"; then
echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?"
exit 1
fi
if version_greater "$image_version" "$installed_version"; then
if [ "$installed_version" != "0.0.0.0" ]; then
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before
fi
if [ "$(id -u)" = 0 ]; then
rsync_options="-rlDog --chown www-data:root"
else
rsync_options="-rlD"
fi
rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/
for dir in config data custom_apps themes; do
if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then
rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/
fi
done
if [ "$installed_version" != "0.0.0.0" ]; then
run_as 'php /var/www/html/occ upgrade --no-app-disable'
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after
echo "The following apps have beed disabled:"
diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1
rm -f /tmp/list_before /tmp/list_after
fi
fi
exec "$@"

View File

@ -1,62 +0,0 @@
#!/bin/sh
set -eu
# version_greater A B returns whether A > B
version_greater() {
[ "$(printf '%s\n' "$@" | sort -t '.' -n -k1,1 -k2,2 -k3,3 -k4,4 | head -n 1)" != "$1" ]
}
# return true if specified directory is empty
directory_empty() {
[ -z "$(ls -A "$1/")" ]
}
run_as() {
if [ "$(id -u)" = 0 ]; then
su - www-data -s /bin/sh -c "$1"
else
sh -c "$1"
fi
}
installed_version="0.0.0.0"
if [ -f /var/www/html/version.php ]; then
# shellcheck disable=SC2016
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
fi
# shellcheck disable=SC2016
image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')"
if version_greater "$installed_version" "$image_version"; then
echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?"
exit 1
fi
if version_greater "$image_version" "$installed_version"; then
if [ "$installed_version" != "0.0.0.0" ]; then
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before
fi
if [ "$(id -u)" = 0 ]; then
rsync_options="-rlDog --chown www-data:root"
else
rsync_options="-rlD"
fi
rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/
for dir in config data custom_apps themes; do
if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then
rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/
fi
done
if [ "$installed_version" != "0.0.0.0" ]; then
run_as 'php /var/www/html/occ upgrade --no-app-disable'
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after
echo "The following apps have beed disabled:"
diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1
rm -f /tmp/list_before /tmp/list_after
fi
fi
exec "$@"

View File

@ -1,62 +0,0 @@
#!/bin/sh
set -eu
# version_greater A B returns whether A > B
version_greater() {
[ "$(printf '%s\n' "$@" | sort -t '.' -n -k1,1 -k2,2 -k3,3 -k4,4 | head -n 1)" != "$1" ]
}
# return true if specified directory is empty
directory_empty() {
[ -z "$(ls -A "$1/")" ]
}
run_as() {
if [ "$(id -u)" = 0 ]; then
su - www-data -s /bin/sh -c "$1"
else
sh -c "$1"
fi
}
installed_version="0.0.0.0"
if [ -f /var/www/html/version.php ]; then
# shellcheck disable=SC2016
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
fi
# shellcheck disable=SC2016
image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')"
if version_greater "$installed_version" "$image_version"; then
echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?"
exit 1
fi
if version_greater "$image_version" "$installed_version"; then
if [ "$installed_version" != "0.0.0.0" ]; then
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before
fi
if [ "$(id -u)" = 0 ]; then
rsync_options="-rlDog --chown www-data:root"
else
rsync_options="-rlD"
fi
rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/
for dir in config data custom_apps themes; do
if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then
rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/
fi
done
if [ "$installed_version" != "0.0.0.0" ]; then
run_as 'php /var/www/html/occ upgrade --no-app-disable'
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after
echo "The following apps have beed disabled:"
diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1
rm -f /tmp/list_before /tmp/list_after
fi
fi
exec "$@"

View File

@ -1,34 +0,0 @@
<?php
$autoconfig_enabled = false;
if (getenv('SQLITE_DATABASE')) {
$AUTOCONFIG["dbtype"] = "sqlite";
$AUTOCONFIG["dbname"] = getenv('SQLITE_DATABASE');
$autoconfig_enabled = true;
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
$AUTOCONFIG["dbtype"] = "mysql";
$AUTOCONFIG["dbname"] = getenv('MYSQL_DATABASE');
$AUTOCONFIG["dbuser"] = getenv('MYSQL_USER');
$AUTOCONFIG["dbpass"] = getenv('MYSQL_PASSWORD');
$AUTOCONFIG["dbhost"] = getenv('MYSQL_HOST');
$autoconfig_enabled = true;
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
$AUTOCONFIG["dbtype"] = "pgsql";
$AUTOCONFIG["dbname"] = getenv('POSTGRES_DB');
$AUTOCONFIG["dbuser"] = getenv('POSTGRES_USER');
$AUTOCONFIG["dbpass"] = getenv('POSTGRES_PASSWORD');
$AUTOCONFIG["dbhost"] = getenv('POSTGRES_HOST');
$autoconfig_enabled = true;
}
if ($autoconfig_enabled) {
$AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: "";
$AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data";
if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) {
$AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER');
$AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD');
}
}

View File

@ -1,62 +0,0 @@
#!/bin/sh
set -eu
# version_greater A B returns whether A > B
version_greater() {
[ "$(printf '%s\n' "$@" | sort -t '.' -n -k1,1 -k2,2 -k3,3 -k4,4 | head -n 1)" != "$1" ]
}
# return true if specified directory is empty
directory_empty() {
[ -z "$(ls -A "$1/")" ]
}
run_as() {
if [ "$(id -u)" = 0 ]; then
su - www-data -s /bin/sh -c "$1"
else
sh -c "$1"
fi
}
installed_version="0.0.0.0"
if [ -f /var/www/html/version.php ]; then
# shellcheck disable=SC2016
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
fi
# shellcheck disable=SC2016
image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')"
if version_greater "$installed_version" "$image_version"; then
echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?"
exit 1
fi
if version_greater "$image_version" "$installed_version"; then
if [ "$installed_version" != "0.0.0.0" ]; then
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before
fi
if [ "$(id -u)" = 0 ]; then
rsync_options="-rlDog --chown www-data:root"
else
rsync_options="-rlD"
fi
rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/
for dir in config data custom_apps themes; do
if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then
rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/
fi
done
if [ "$installed_version" != "0.0.0.0" ]; then
run_as 'php /var/www/html/occ upgrade --no-app-disable'
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after
echo "The following apps have beed disabled:"
diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1
rm -f /tmp/list_before /tmp/list_after
fi
fi
exec "$@"

View File

@ -1,34 +0,0 @@
<?php
$autoconfig_enabled = false;
if (getenv('SQLITE_DATABASE')) {
$AUTOCONFIG["dbtype"] = "sqlite";
$AUTOCONFIG["dbname"] = getenv('SQLITE_DATABASE');
$autoconfig_enabled = true;
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
$AUTOCONFIG["dbtype"] = "mysql";
$AUTOCONFIG["dbname"] = getenv('MYSQL_DATABASE');
$AUTOCONFIG["dbuser"] = getenv('MYSQL_USER');
$AUTOCONFIG["dbpass"] = getenv('MYSQL_PASSWORD');
$AUTOCONFIG["dbhost"] = getenv('MYSQL_HOST');
$autoconfig_enabled = true;
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
$AUTOCONFIG["dbtype"] = "pgsql";
$AUTOCONFIG["dbname"] = getenv('POSTGRES_DB');
$AUTOCONFIG["dbuser"] = getenv('POSTGRES_USER');
$AUTOCONFIG["dbpass"] = getenv('POSTGRES_PASSWORD');
$AUTOCONFIG["dbhost"] = getenv('POSTGRES_HOST');
$autoconfig_enabled = true;
}
if ($autoconfig_enabled) {
$AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: "";
$AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data";
if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) {
$AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER');
$AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD');
}
}

View File

@ -1,62 +0,0 @@
#!/bin/sh
set -eu
# version_greater A B returns whether A > B
version_greater() {
[ "$(printf '%s\n' "$@" | sort -t '.' -n -k1,1 -k2,2 -k3,3 -k4,4 | head -n 1)" != "$1" ]
}
# return true if specified directory is empty
directory_empty() {
[ -z "$(ls -A "$1/")" ]
}
run_as() {
if [ "$(id -u)" = 0 ]; then
su - www-data -s /bin/sh -c "$1"
else
sh -c "$1"
fi
}
installed_version="0.0.0.0"
if [ -f /var/www/html/version.php ]; then
# shellcheck disable=SC2016
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
fi
# shellcheck disable=SC2016
image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')"
if version_greater "$installed_version" "$image_version"; then
echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?"
exit 1
fi
if version_greater "$image_version" "$installed_version"; then
if [ "$installed_version" != "0.0.0.0" ]; then
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before
fi
if [ "$(id -u)" = 0 ]; then
rsync_options="-rlDog --chown www-data:root"
else
rsync_options="-rlD"
fi
rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/
for dir in config data custom_apps themes; do
if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then
rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/
fi
done
if [ "$installed_version" != "0.0.0.0" ]; then
run_as 'php /var/www/html/occ upgrade --no-app-disable'
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after
echo "The following apps have beed disabled:"
diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1
rm -f /tmp/list_before /tmp/list_after
fi
fi
exec "$@"

151
16.0-rc/apache/Dockerfile Normal file
View File

@ -0,0 +1,151 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:7.3-apache-buster
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
rsync \
bzip2 \
busybox-static \
; \
rm -rf /var/lib/apt/lists/*; \
\
mkdir -p /var/spool/cron/crontabs; \
echo '*/15 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
# install the PHP extensions we need
# see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html
RUN set -ex; \
\
savedAptMark="$(apt-mark showmanual)"; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
libcurl4-openssl-dev \
libevent-dev \
libfreetype6-dev \
libicu-dev \
libjpeg-dev \
libldap2-dev \
libmcrypt-dev \
libmemcached-dev \
libpng-dev \
libpq-dev \
libxml2-dev \
libmagickwand-dev \
libzip-dev \
libwebp-dev \
libgmp-dev \
; \
\
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
if [ ! -e /usr/include/gmp.h ]; then ln -s /usr/include/$debMultiarch/gmp.h /usr/include/gmp.h; fi;\
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr --with-webp-dir=/usr; \
docker-php-ext-configure gmp --with-gmp="/usr/include/$debMultiarch"; \
docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
docker-php-ext-install -j "$(nproc)" \
exif \
gd \
intl \
ldap \
opcache \
pcntl \
pdo_mysql \
pdo_pgsql \
zip \
gmp \
; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.18; \
pecl install memcached-3.1.5; \
pecl install redis-4.3.0; \
pecl install imagick-3.4.4; \
\
docker-php-ext-enable \
apcu \
memcached \
redis \
imagick \
; \
\
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/12/admin_manual/configuration_server/server_tuning.html#enable-php-opcache
RUN { \
echo 'opcache.enable=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; \
\
mkdir /var/www/data; \
chown -R www-data:root /var/www; \
chmod -R g=u /var/www
VOLUME /var/www/html
RUN a2enmod rewrite remoteip ;\
{\
echo RemoteIPHeader X-Real-IP ;\
echo RemoteIPTrustedProxy 10.0.0.0/8 ;\
echo RemoteIPTrustedProxy 172.16.0.0/12 ;\
echo RemoteIPTrustedProxy 192.168.0.0/16 ;\
} > /etc/apache2/conf-available/remoteip.conf;\
a2enconf remoteip
ENV NEXTCLOUD_VERSION 16.0.9RC1
RUN set -ex; \
fetchDeps=" \
gnupg \
dirmngr \
"; \
apt-get update; \
apt-get install -y --no-install-recommends $fetchDeps; \
\
curl -fsSL -o nextcloud.tar.bz2 \
"https://download.nextcloud.com/server/prereleases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc \
"https://download.nextcloud.com/server/prereleases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
tar -xjf nextcloud.tar.bz2 -C /usr/src/; \
gpgconf --kill all; \
rm -r "$GNUPGHOME" nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
rm -rf /usr/src/nextcloud/updater; \
mkdir -p /usr/src/nextcloud/data; \
mkdir -p /usr/src/nextcloud/custom_apps; \
chmod +x /usr/src/nextcloud/occ; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \
rm -rf /var/lib/apt/lists/*
COPY *.sh upgrade.exclude /
COPY config/* /usr/src/nextcloud/config/
ENTRYPOINT ["/entrypoint.sh"]
CMD ["apache2-foreground"]

View File

@ -23,12 +23,9 @@ if (getenv('SQLITE_DATABASE')) {
}
if ($autoconfig_enabled) {
$AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: "";
if (getenv('NEXTCLOUD_TABLE_PREFIX')) {
$AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX');
}
$AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data";
if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) {
$AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER');
$AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD');
}
}

View File

@ -0,0 +1,17 @@
<?php
if (getenv('REDIS_HOST')) {
$CONFIG = array (
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => getenv('REDIS_HOST'),
'password' => getenv('REDIS_HOST_PASSWORD'),
),
);
if (getenv('REDIS_HOST_PORT') !== false) {
$CONFIG['redis']['port'] = (int) getenv('REDIS_HOST_PORT');
} elseif (getenv('REDIS_HOST')[0] != '/') {
$CONFIG['redis']['port'] = 6379;
}
}

View File

@ -0,0 +1,15 @@
<?php
if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN')) {
$CONFIG = array (
'mail_smtpmode' => 'smtp',
'mail_smtphost' => getenv('SMTP_HOST'),
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
'mail_smtppassword' => getenv('SMTP_PASSWORD') ?: '',
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
'mail_domain' => getenv('MAIL_DOMAIN'),
);
}

152
16.0-rc/apache/entrypoint.sh Executable file
View File

@ -0,0 +1,152 @@
#!/bin/sh
set -eu
# version_greater A B returns whether A > B
version_greater() {
[ "$(printf '%s\n' "$@" | sort -t '.' -n -k1,1 -k2,2 -k3,3 -k4,4 | head -n 1)" != "$1" ]
}
# return true if specified directory is empty
directory_empty() {
[ -z "$(ls -A "$1/")" ]
}
run_as() {
if [ "$(id -u)" = 0 ]; then
su -p www-data -s /bin/sh -c "$1"
else
sh -c "$1"
fi
}
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
if [ -n "${REDIS_HOST+x}" ]; then
echo "Configuring Redis as session handler"
{
echo 'session.save_handler = redis'
# check if redis host is an unix socket path
if [ "$(echo "$REDIS_HOST" | cut -c1-1)" = "/" ]; then
if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
else
echo "session.save_path = \"unix://${REDIS_HOST}\""
fi
# check if redis password has been set
elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
else
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\""
fi
} > /usr/local/etc/php/conf.d/redis-session.ini
fi
installed_version="0.0.0.0"
if [ -f /var/www/html/version.php ]; then
# shellcheck disable=SC2016
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
fi
# shellcheck disable=SC2016
image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')"
if version_greater "$installed_version" "$image_version"; then
echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?"
exit 1
fi
if version_greater "$image_version" "$installed_version"; then
echo "Initializing nextcloud $image_version ..."
if [ "$installed_version" != "0.0.0.0" ]; then
echo "Upgrading nextcloud from $installed_version ..."
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before
fi
if [ "$(id -u)" = 0 ]; then
rsync_options="-rlDog --chown www-data:root"
else
rsync_options="-rlD"
fi
rsync $rsync_options --delete --exclude-from=/upgrade.exclude /usr/src/nextcloud/ /var/www/html/
for dir in config data custom_apps themes; do
if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then
rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/
fi
done
rsync $rsync_options --include '/version.php' --exclude '/*' /usr/src/nextcloud/ /var/www/html/
echo "Initializing finished"
#install
if [ "$installed_version" = "0.0.0.0" ]; then
echo "New nextcloud instance"
if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then
# shellcheck disable=SC2016
install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"'
if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then
# shellcheck disable=SC2016
install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"'
fi
if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then
# shellcheck disable=SC2016
install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"'
fi
install=false
if [ -n "${SQLITE_DATABASE+x}" ]; then
echo "Installing with SQLite database"
# shellcheck disable=SC2016
install_options=$install_options' --database-name "$SQLITE_DATABASE"'
install=true
elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then
echo "Installing with MySQL database"
# shellcheck disable=SC2016
install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"'
install=true
elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then
echo "Installing with PostgreSQL database"
# shellcheck disable=SC2016
install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"'
install=true
fi
if [ "$install" = true ]; then
echo "starting nextcloud installation"
max_retries=10
try=0
until run_as "php /var/www/html/occ maintenance:install $install_options" || [ "$try" -gt "$max_retries" ]
do
echo "retrying install..."
try=$((try+1))
sleep 10s
done
if [ "$try" -gt "$max_retries" ]; then
echo "installing of nextcloud failed!"
exit 1
fi
if [ -n "${NEXTCLOUD_TRUSTED_DOMAINS+x}" ]; then
echo "setting trusted domains…"
NC_TRUSTED_DOMAIN_IDX=1
for DOMAIN in $NEXTCLOUD_TRUSTED_DOMAINS ; do
DOMAIN=$(echo "$DOMAIN" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=$DOMAIN"
NC_TRUSTED_DOMAIN_IDX=$(($NC_TRUSTED_DOMAIN_IDX+1))
done
fi
else
echo "running web-based installer on first connect!"
fi
fi
#upgrade
else
run_as 'php /var/www/html/occ upgrade'
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after
echo "The following apps have been disabled:"
diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1
rm -f /tmp/list_before /tmp/list_after
fi
fi
fi
exec "$@"

View File

@ -0,0 +1,5 @@
/config/
/data/
/custom_apps/
/themes/
/version.php

View File

@ -0,0 +1,126 @@
# DO NOT EDIT: created by update.sh from Dockerfile-alpine.template
FROM php:7.3-fpm-alpine3.11
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
\
apk add --no-cache \
rsync \
; \
\
rm /var/spool/cron/crontabs/root; \
echo '*/15 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
# install the PHP extensions we need
# see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html
RUN set -ex; \
\
apk add --no-cache --virtual .build-deps \
$PHPIZE_DEPS \
autoconf \
freetype-dev \
icu-dev \
libevent-dev \
libjpeg-turbo-dev \
libmcrypt-dev \
libpng-dev \
libmemcached-dev \
libxml2-dev \
libzip-dev \
openldap-dev \
pcre-dev \
postgresql-dev \
imagemagick-dev \
libwebp-dev \
gmp-dev \
; \
\
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr --with-webp-dir=/usr; \
docker-php-ext-configure ldap; \
docker-php-ext-install -j "$(nproc)" \
exif \
gd \
intl \
ldap \
opcache \
pcntl \
pdo_mysql \
pdo_pgsql \
zip \
gmp \
; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.18; \
pecl install memcached-3.1.5; \
pecl install redis-4.3.0; \
pecl install imagick-3.4.4; \
\
docker-php-ext-enable \
apcu \
memcached \
redis \
imagick \
; \
\
runDeps="$( \
scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
| tr ',' '\n' \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
apk add --virtual .nextcloud-phpext-rundeps $runDeps; \
apk del .build-deps
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/12/admin_manual/configuration_server/server_tuning.html#enable-php-opcache
RUN { \
echo 'opcache.enable=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; \
\
mkdir /var/www/data; \
chown -R www-data:root /var/www; \
chmod -R g=u /var/www
VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 16.0.9RC1
RUN set -ex; \
apk add --no-cache --virtual .fetch-deps \
bzip2 \
gnupg \
; \
\
curl -fsSL -o nextcloud.tar.bz2 \
"https://download.nextcloud.com/server/prereleases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc \
"https://download.nextcloud.com/server/prereleases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
tar -xjf nextcloud.tar.bz2 -C /usr/src/; \
gpgconf --kill all; \
rm -r "$GNUPGHOME" nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
rm -rf /usr/src/nextcloud/updater; \
mkdir -p /usr/src/nextcloud/data; \
mkdir -p /usr/src/nextcloud/custom_apps; \
chmod +x /usr/src/nextcloud/occ; \
apk del .fetch-deps
COPY *.sh upgrade.exclude /
COPY config/* /usr/src/nextcloud/config/
ENTRYPOINT ["/entrypoint.sh"]
CMD ["php-fpm"]

View File

@ -23,12 +23,9 @@ if (getenv('SQLITE_DATABASE')) {
}
if ($autoconfig_enabled) {
$AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: "";
if (getenv('NEXTCLOUD_TABLE_PREFIX')) {
$AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX');
}
$AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data";
if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) {
$AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER');
$AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD');
}
}

View File

@ -0,0 +1,17 @@
<?php
if (getenv('REDIS_HOST')) {
$CONFIG = array (
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => getenv('REDIS_HOST'),
'password' => getenv('REDIS_HOST_PASSWORD'),
),
);
if (getenv('REDIS_HOST_PORT') !== false) {
$CONFIG['redis']['port'] = (int) getenv('REDIS_HOST_PORT');
} elseif (getenv('REDIS_HOST')[0] != '/') {
$CONFIG['redis']['port'] = 6379;
}
}

View File

@ -0,0 +1,15 @@
<?php
if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN')) {
$CONFIG = array (
'mail_smtpmode' => 'smtp',
'mail_smtphost' => getenv('SMTP_HOST'),
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
'mail_smtppassword' => getenv('SMTP_PASSWORD') ?: '',
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
'mail_domain' => getenv('MAIL_DOMAIN'),
);
}

152
16.0-rc/fpm-alpine/entrypoint.sh Executable file
View File

@ -0,0 +1,152 @@
#!/bin/sh
set -eu
# version_greater A B returns whether A > B
version_greater() {
[ "$(printf '%s\n' "$@" | sort -t '.' -n -k1,1 -k2,2 -k3,3 -k4,4 | head -n 1)" != "$1" ]
}
# return true if specified directory is empty
directory_empty() {
[ -z "$(ls -A "$1/")" ]
}
run_as() {
if [ "$(id -u)" = 0 ]; then
su -p www-data -s /bin/sh -c "$1"
else
sh -c "$1"
fi
}
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
if [ -n "${REDIS_HOST+x}" ]; then
echo "Configuring Redis as session handler"
{
echo 'session.save_handler = redis'
# check if redis host is an unix socket path
if [ "$(echo "$REDIS_HOST" | cut -c1-1)" = "/" ]; then
if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
else
echo "session.save_path = \"unix://${REDIS_HOST}\""
fi
# check if redis password has been set
elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
else
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\""
fi
} > /usr/local/etc/php/conf.d/redis-session.ini
fi
installed_version="0.0.0.0"
if [ -f /var/www/html/version.php ]; then
# shellcheck disable=SC2016
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
fi
# shellcheck disable=SC2016
image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')"
if version_greater "$installed_version" "$image_version"; then
echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?"
exit 1
fi
if version_greater "$image_version" "$installed_version"; then
echo "Initializing nextcloud $image_version ..."
if [ "$installed_version" != "0.0.0.0" ]; then
echo "Upgrading nextcloud from $installed_version ..."
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before
fi
if [ "$(id -u)" = 0 ]; then
rsync_options="-rlDog --chown www-data:root"
else
rsync_options="-rlD"
fi
rsync $rsync_options --delete --exclude-from=/upgrade.exclude /usr/src/nextcloud/ /var/www/html/
for dir in config data custom_apps themes; do
if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then
rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/
fi
done
rsync $rsync_options --include '/version.php' --exclude '/*' /usr/src/nextcloud/ /var/www/html/
echo "Initializing finished"
#install
if [ "$installed_version" = "0.0.0.0" ]; then
echo "New nextcloud instance"
if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then
# shellcheck disable=SC2016
install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"'
if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then
# shellcheck disable=SC2016
install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"'
fi
if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then
# shellcheck disable=SC2016
install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"'
fi
install=false
if [ -n "${SQLITE_DATABASE+x}" ]; then
echo "Installing with SQLite database"
# shellcheck disable=SC2016
install_options=$install_options' --database-name "$SQLITE_DATABASE"'
install=true
elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then
echo "Installing with MySQL database"
# shellcheck disable=SC2016
install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"'
install=true
elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then
echo "Installing with PostgreSQL database"
# shellcheck disable=SC2016
install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"'
install=true
fi
if [ "$install" = true ]; then
echo "starting nextcloud installation"
max_retries=10
try=0
until run_as "php /var/www/html/occ maintenance:install $install_options" || [ "$try" -gt "$max_retries" ]
do
echo "retrying install..."
try=$((try+1))
sleep 10s
done
if [ "$try" -gt "$max_retries" ]; then
echo "installing of nextcloud failed!"
exit 1
fi
if [ -n "${NEXTCLOUD_TRUSTED_DOMAINS+x}" ]; then
echo "setting trusted domains…"
NC_TRUSTED_DOMAIN_IDX=1
for DOMAIN in $NEXTCLOUD_TRUSTED_DOMAINS ; do
DOMAIN=$(echo "$DOMAIN" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=$DOMAIN"
NC_TRUSTED_DOMAIN_IDX=$(($NC_TRUSTED_DOMAIN_IDX+1))
done
fi
else
echo "running web-based installer on first connect!"
fi
fi
#upgrade
else
run_as 'php /var/www/html/occ upgrade'
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after
echo "The following apps have been disabled:"
diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1
rm -f /tmp/list_before /tmp/list_after
fi
fi
fi
exec "$@"

View File

@ -0,0 +1,5 @@
/config/
/data/
/custom_apps/
/themes/
/version.php

143
16.0-rc/fpm/Dockerfile Normal file
View File

@ -0,0 +1,143 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:7.3-fpm-buster
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
rsync \
bzip2 \
busybox-static \
; \
rm -rf /var/lib/apt/lists/*; \
\
mkdir -p /var/spool/cron/crontabs; \
echo '*/15 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
# install the PHP extensions we need
# see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html
RUN set -ex; \
\
savedAptMark="$(apt-mark showmanual)"; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
libcurl4-openssl-dev \
libevent-dev \
libfreetype6-dev \
libicu-dev \
libjpeg-dev \
libldap2-dev \
libmcrypt-dev \
libmemcached-dev \
libpng-dev \
libpq-dev \
libxml2-dev \
libmagickwand-dev \
libzip-dev \
libwebp-dev \
libgmp-dev \
; \
\
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
if [ ! -e /usr/include/gmp.h ]; then ln -s /usr/include/$debMultiarch/gmp.h /usr/include/gmp.h; fi;\
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr --with-webp-dir=/usr; \
docker-php-ext-configure gmp --with-gmp="/usr/include/$debMultiarch"; \
docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
docker-php-ext-install -j "$(nproc)" \
exif \
gd \
intl \
ldap \
opcache \
pcntl \
pdo_mysql \
pdo_pgsql \
zip \
gmp \
; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.18; \
pecl install memcached-3.1.5; \
pecl install redis-4.3.0; \
pecl install imagick-3.4.4; \
\
docker-php-ext-enable \
apcu \
memcached \
redis \
imagick \
; \
\
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/12/admin_manual/configuration_server/server_tuning.html#enable-php-opcache
RUN { \
echo 'opcache.enable=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; \
\
mkdir /var/www/data; \
chown -R www-data:root /var/www; \
chmod -R g=u /var/www
VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 16.0.9RC1
RUN set -ex; \
fetchDeps=" \
gnupg \
dirmngr \
"; \
apt-get update; \
apt-get install -y --no-install-recommends $fetchDeps; \
\
curl -fsSL -o nextcloud.tar.bz2 \
"https://download.nextcloud.com/server/prereleases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc \
"https://download.nextcloud.com/server/prereleases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
tar -xjf nextcloud.tar.bz2 -C /usr/src/; \
gpgconf --kill all; \
rm -r "$GNUPGHOME" nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
rm -rf /usr/src/nextcloud/updater; \
mkdir -p /usr/src/nextcloud/data; \
mkdir -p /usr/src/nextcloud/custom_apps; \
chmod +x /usr/src/nextcloud/occ; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \
rm -rf /var/lib/apt/lists/*
COPY *.sh upgrade.exclude /
COPY config/* /usr/src/nextcloud/config/
ENTRYPOINT ["/entrypoint.sh"]
CMD ["php-fpm"]

View File

@ -23,12 +23,9 @@ if (getenv('SQLITE_DATABASE')) {
}
if ($autoconfig_enabled) {
$AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: "";
if (getenv('NEXTCLOUD_TABLE_PREFIX')) {
$AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX');
}
$AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data";
if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) {
$AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER');
$AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD');
}
}

View File

@ -0,0 +1,17 @@
<?php
if (getenv('REDIS_HOST')) {
$CONFIG = array (
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => getenv('REDIS_HOST'),
'password' => getenv('REDIS_HOST_PASSWORD'),
),
);
if (getenv('REDIS_HOST_PORT') !== false) {
$CONFIG['redis']['port'] = (int) getenv('REDIS_HOST_PORT');
} elseif (getenv('REDIS_HOST')[0] != '/') {
$CONFIG['redis']['port'] = 6379;
}
}

View File

@ -0,0 +1,15 @@
<?php
if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN')) {
$CONFIG = array (
'mail_smtpmode' => 'smtp',
'mail_smtphost' => getenv('SMTP_HOST'),
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
'mail_smtppassword' => getenv('SMTP_PASSWORD') ?: '',
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
'mail_domain' => getenv('MAIL_DOMAIN'),
);
}

152
16.0-rc/fpm/entrypoint.sh Executable file
View File

@ -0,0 +1,152 @@
#!/bin/sh
set -eu
# version_greater A B returns whether A > B
version_greater() {
[ "$(printf '%s\n' "$@" | sort -t '.' -n -k1,1 -k2,2 -k3,3 -k4,4 | head -n 1)" != "$1" ]
}
# return true if specified directory is empty
directory_empty() {
[ -z "$(ls -A "$1/")" ]
}
run_as() {
if [ "$(id -u)" = 0 ]; then
su -p www-data -s /bin/sh -c "$1"
else
sh -c "$1"
fi
}
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
if [ -n "${REDIS_HOST+x}" ]; then
echo "Configuring Redis as session handler"
{
echo 'session.save_handler = redis'
# check if redis host is an unix socket path
if [ "$(echo "$REDIS_HOST" | cut -c1-1)" = "/" ]; then
if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
else
echo "session.save_path = \"unix://${REDIS_HOST}\""
fi
# check if redis password has been set
elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
else
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\""
fi
} > /usr/local/etc/php/conf.d/redis-session.ini
fi
installed_version="0.0.0.0"
if [ -f /var/www/html/version.php ]; then
# shellcheck disable=SC2016
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
fi
# shellcheck disable=SC2016
image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')"
if version_greater "$installed_version" "$image_version"; then
echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?"
exit 1
fi
if version_greater "$image_version" "$installed_version"; then
echo "Initializing nextcloud $image_version ..."
if [ "$installed_version" != "0.0.0.0" ]; then
echo "Upgrading nextcloud from $installed_version ..."
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before
fi
if [ "$(id -u)" = 0 ]; then
rsync_options="-rlDog --chown www-data:root"
else
rsync_options="-rlD"
fi
rsync $rsync_options --delete --exclude-from=/upgrade.exclude /usr/src/nextcloud/ /var/www/html/
for dir in config data custom_apps themes; do
if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then
rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/
fi
done
rsync $rsync_options --include '/version.php' --exclude '/*' /usr/src/nextcloud/ /var/www/html/
echo "Initializing finished"
#install
if [ "$installed_version" = "0.0.0.0" ]; then
echo "New nextcloud instance"
if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then
# shellcheck disable=SC2016
install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"'
if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then
# shellcheck disable=SC2016
install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"'
fi
if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then
# shellcheck disable=SC2016
install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"'
fi
install=false
if [ -n "${SQLITE_DATABASE+x}" ]; then
echo "Installing with SQLite database"
# shellcheck disable=SC2016
install_options=$install_options' --database-name "$SQLITE_DATABASE"'
install=true
elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then
echo "Installing with MySQL database"
# shellcheck disable=SC2016
install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"'
install=true
elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then
echo "Installing with PostgreSQL database"
# shellcheck disable=SC2016
install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"'
install=true
fi
if [ "$install" = true ]; then
echo "starting nextcloud installation"
max_retries=10
try=0
until run_as "php /var/www/html/occ maintenance:install $install_options" || [ "$try" -gt "$max_retries" ]
do
echo "retrying install..."
try=$((try+1))
sleep 10s
done
if [ "$try" -gt "$max_retries" ]; then
echo "installing of nextcloud failed!"
exit 1
fi
if [ -n "${NEXTCLOUD_TRUSTED_DOMAINS+x}" ]; then
echo "setting trusted domains…"
NC_TRUSTED_DOMAIN_IDX=1
for DOMAIN in $NEXTCLOUD_TRUSTED_DOMAINS ; do
DOMAIN=$(echo "$DOMAIN" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=$DOMAIN"
NC_TRUSTED_DOMAIN_IDX=$(($NC_TRUSTED_DOMAIN_IDX+1))
done
fi
else
echo "running web-based installer on first connect!"
fi
fi
#upgrade
else
run_as 'php /var/www/html/occ upgrade'
run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after
echo "The following apps have been disabled:"
diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1
rm -f /tmp/list_before /tmp/list_after
fi
fi
fi
exec "$@"

View File

@ -0,0 +1,5 @@
/config/
/data/
/custom_apps/
/themes/
/version.php

Some files were not shown because too many files have changed in this diff Show More