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
253 changed files with 8306 additions and 1170 deletions

View File

@ -23,12 +23,9 @@ if (getenv('SQLITE_DATABASE')) {
} }
if ($autoconfig_enabled) { 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"; $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 # Examples section
In this subfolders are some examples how to use the docker image. There are two sections: 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) * [`dockerfiles`](https://github.com/nextcloud/docker/tree/master/.examples/dockerfiles)
* [`docker-compose`](https://github.com/nextcloud/docker/tree/master/.examples/docker-compose) * [`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 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 [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 [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). [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 ### 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). 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 #### PHP Module bz2
`docker-php-ext-install bz2` </br> `docker-php-ext-install bz2`
#### PHP Module imagick
`apt install libmagickwand-dev` </br>
`pecl install imagick` </br>
`docker-php-ext-enable imagick` </br>
#### PHP Module imap #### PHP Module imap
`apt install libc-client-dev libkrb5-dev` </br> `apt install libc-client-dev libkrb5-dev`
`docker-php-ext-configure imap --with-kerberos --with-imap-ssl` </br> `docker-php-ext-configure imap --with-kerberos --with-imap-ssl`
`docker-php-ext-install imap` </br> `docker-php-ext-install imap`
#### PHP Module gmp #### PHP Module gmp
`apt install libgmp3-dev` </br> `apt install libgmp3-dev`
`docker-php-ext-install gmp` </br> `docker-php-ext-install gmp`
#### PHP Module smbclient #### PHP Module smbclient
`apt install smbclient libsmbclient-dev` </br> `apt install smbclient libsmbclient-dev`
`pecl install smbclient` </br> `pecl install smbclient`
`docker-php-ext-enable smbclient` </br> `docker-php-ext-enable smbclient`
#### ffmpeg #### ffmpeg
`echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list` </br> `apt install ffmpeg`
`apt install ffmpeg` </br>
#### imagemagick SVG support
`apt install libmagickcore-6.q16-6-extra`
#### LibreOffice #### LibreOffice
`apt install LibreOffice` </br> `apt install libreoffice`
#### CRON via supervisor #### CRON via supervisor
`apt install supervisor` </br> `apt install supervisor`
`mkdir /var/log/supervisord /var/run/supervisord` </br> `mkdir /var/log/supervisord /var/run/supervisord`
The following Dockerfile commands are also necessary for a sucessfull cron installation: </br> The following Dockerfile commands are also necessary for a sucessfull cron installation:
`COPY supervisord.conf /etc/supervisor/supervisord.conf` </br> `COPY supervisord.conf /etc/supervisor/supervisord.conf`
`CMD ["/usr/bin/supervisord"]` </br> `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 ### 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 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. 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 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: To use this example complete the following steps:
1. open `docker-compose.yml` 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 - db.env
redis: redis:
image: redis image: redis:alpine
restart: always restart: always
app: app:
build: ./app image: nextcloud:apache
restart: always restart: always
ports: ports:
- 8080:80 - 8080:80
@ -25,6 +25,7 @@ services:
- nextcloud:/var/www/html - nextcloud:/var/www/html
environment: environment:
- MYSQL_HOST=db - MYSQL_HOST=db
- REDIS_HOST=redis
env_file: env_file:
- db.env - db.env
depends_on: depends_on:
@ -32,7 +33,7 @@ services:
- redis - redis
cron: cron:
build: ./app image: nextcloud:apache
restart: always restart: always
volumes: volumes:
- nextcloud:/var/www/html - 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 - db.env
redis: redis:
image: redis image: redis:alpine
restart: always restart: always
app: app:
build: ./app image: nextcloud:fpm-alpine
restart: always restart: always
volumes: volumes:
- nextcloud:/var/www/html - nextcloud:/var/www/html
environment: environment:
- MYSQL_HOST=db - MYSQL_HOST=db
- REDIS_HOST=redis
env_file: env_file:
- db.env - db.env
depends_on: depends_on:
@ -40,7 +41,7 @@ services:
- app - app
cron: cron:
build: ./app image: nextcloud:fpm-alpine
restart: always restart: always
volumes: volumes:
- nextcloud:/var/www/html - nextcloud:/var/www/html

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1 +1,2 @@
client_max_body_size 10G; 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 - db.env
redis: redis:
image: redis image: redis:alpine
restart: always restart: always
app: app:
build: ./app image: nextcloud:fpm-alpine
restart: always restart: always
volumes: volumes:
- nextcloud:/var/www/html - nextcloud:/var/www/html
environment: environment:
- MYSQL_HOST=db - MYSQL_HOST=db
- REDIS_HOST=redis
env_file: env_file:
- db.env - db.env
depends_on: depends_on:
@ -45,7 +46,7 @@ services:
- default - default
cron: cron:
build: ./app image: nextcloud:fpm-alpine
restart: always restart: always
volumes: volumes:
- nextcloud:/var/www/html - nextcloud:/var/www/html

View File

@ -1 +1,2 @@
client_max_body_size 10G; 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 COPY nginx.conf /etc/nginx/nginx.conf

View File

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

View File

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

View File

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

View File

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

View File

@ -1 +1,2 @@
client_max_body_size 10G; 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 COPY nginx.conf /etc/nginx/nginx.conf

View File

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

View File

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

View File

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

View File

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

View File

@ -1 +1,2 @@
client_max_body_size 10G; 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 COPY nginx.conf /etc/nginx/nginx.conf

View File

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

View File

@ -5,6 +5,8 @@ RUN apt-get update && apt-get install -y \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
&& mkdir /var/log/supervisord /var/run/supervisord && 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/* \ && rm -rf /var/lib/apt/lists/* \
&& mkdir /var/log/supervisord /var/run/supervisord && 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 FROM nextcloud:apache
RUN echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list \ RUN set -ex; \
&& apt-get update && apt-get install -y \ \
supervisor \ apt-get update; \
apt-get install -y --no-install-recommends \
ffmpeg \ ffmpeg \
libmagickwand-dev \ libmagickcore-6.q16-6-extra \
libgmp3-dev \ 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 \ libc-client-dev \
libkrb5-dev \ libkrb5-dev \
smbclient \
libsmbclient-dev \ libsmbclient-dev \
# LibreOffice \ ; \
&& rm -rf /var/lib/apt/lists/* \ \
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ 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 \
&& docker-php-ext-install bz2 gmp imap \ bz2 \
&& pecl install imagick smbclient \ imap \
&& docker-php-ext-enable imagick smbclient \ ; \
&& mkdir /var/log/supervisord /var/run/supervisord 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 FROM nextcloud:fpm
RUN echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list \ RUN set -ex; \
&& apt-get update && apt-get install -y \ \
supervisor \ apt-get update; \
apt-get install -y --no-install-recommends \
ffmpeg \ ffmpeg \
libmagickwand-dev \ libmagickcore-6.q16-6-extra \
libgmp3-dev \ 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 \ libc-client-dev \
libkrb5-dev \ libkrb5-dev \
smbclient \
libsmbclient-dev \ libsmbclient-dev \
# LibreOffice \ ; \
&& rm -rf /var/lib/apt/lists/* \ \
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ 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 \
&& docker-php-ext-install bz2 gmp imap \ bz2 \
&& pecl install imagick smbclient \ imap \
&& docker-php-ext-enable imagick smbclient \ ; \
&& mkdir /var/log/supervisord /var/run/supervisord 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 FROM nextcloud:apache
RUN apt-get update \ RUN set -ex; \
&& apt-get install -y libc-client-dev libkrb5-dev \ \
&& rm -rf /var/lib/apt/lists/* \ savedAptMark="$(apt-mark showmanual)"; \
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ \
&& docker-php-ext-install imap 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 FROM nextcloud:fpm
RUN apt-get update \ RUN set -ex; \
&& apt-get install -y libc-client-dev libkrb5-dev \ \
&& rm -rf /var/lib/apt/lists/* \ savedAptMark="$(apt-mark showmanual)"; \
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ \
&& docker-php-ext-install imap 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 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 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 language: bash
services: docker
branches: branches:
only: only:
- master - master
# preload images to avoid timeouts in tests
before_install:
- docker pull mariadb:10
- docker pull postgres:11-alpine
install: install:
- git clone https://github.com/docker-library/official-images.git ~/official-images - git clone https://github.com/docker-library/official-images.git ~/official-images
before_script: before_script:
- env | sort - env | sort
- wget -qO- 'https://github.com/tianon/pgp-happy-eyeballs/raw/master/hack-my-builds.sh' | bash
- image="nextcloud:${VERSION}${VARIANT:+-$VARIANT}" - image="nextcloud:${VERSION}${VARIANT:+-$VARIANT}"
- if [[ "$ARCH" == 'i386' ]]; then sed -i -e 's/FROM php/FROM i386\/php/g' "${VERSION}/${VARIANT}/Dockerfile"; fi - if [[ "$ARCH" == 'i386' ]]; then sed -i -e 's/FROM php/FROM i386\/php/g' "${VERSION}/${VARIANT}/Dockerfile"; fi
script: 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: after_script:
- docker images - docker images
jobs: 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: include:
- &test-scripts - &test-scripts
stage: test scripts stage: test scripts
env: SCRIPT=update.sh env: SCRIPT=update.sh
sudo: false
services: [] services: []
install: skip install: skip
before_script: skip before_script: skip
script: script:
- hash_before=$(git write-tree) - hash_before=$(git write-tree)
- ./update.sh - travis_retry ./update.sh
- bash -c "[[ $hash_before = $(git add -A && git write-tree) ]]" - bash -c "[[ $hash_before = $(git add -A && git write-tree) ]]"
after_script: skip 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 - wget -O "$HOME/bin/bashbrew" https://doi-janky.infosiftr.net/job/bashbrew/lastSuccessfulBuild/artifact/bin/bashbrew-amd64
- chmod +x "$HOME/bin/bashbrew" - chmod +x "$HOME/bin/bashbrew"
script: script:
- ./generate-stackbrew-library.sh - travis_retry ./generate-stackbrew-library.sh
- stage: test images - stage: test images
env: VERSION=12.0 VARIANT=fpm-alpine ARCH=amd64 env: VERSION=16.0-rc VARIANT=fpm-alpine ARCH=amd64
- env: VERSION=12.0 VARIANT=fpm-alpine ARCH=i386 - env: VERSION=16.0-rc VARIANT=fpm-alpine ARCH=i386
- env: VERSION=12.0 VARIANT=fpm ARCH=amd64 - env: VERSION=16.0-rc VARIANT=fpm ARCH=amd64
- env: VERSION=12.0 VARIANT=fpm ARCH=i386 - env: VERSION=16.0-rc VARIANT=fpm ARCH=i386
- env: VERSION=12.0 VARIANT=apache ARCH=amd64 - env: VERSION=16.0-rc VARIANT=apache ARCH=amd64
- env: VERSION=12.0 VARIANT=apache ARCH=i386 - env: VERSION=16.0-rc VARIANT=apache ARCH=i386
- env: VERSION=13.0 VARIANT=fpm-alpine ARCH=amd64 - env: VERSION=17.0-rc VARIANT=fpm-alpine ARCH=amd64
- env: VERSION=13.0 VARIANT=fpm-alpine ARCH=i386 - env: VERSION=17.0-rc VARIANT=fpm-alpine ARCH=i386
- env: VERSION=13.0 VARIANT=fpm ARCH=amd64 - env: VERSION=17.0-rc VARIANT=fpm ARCH=amd64
- env: VERSION=13.0 VARIANT=fpm ARCH=i386 - env: VERSION=17.0-rc VARIANT=fpm ARCH=i386
- env: VERSION=13.0 VARIANT=apache ARCH=amd64 - env: VERSION=17.0-rc VARIANT=apache ARCH=amd64
- env: VERSION=13.0 VARIANT=apache ARCH=i386 - 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 for dir in "${dirs[@]}"; do
if [ -d "$dir/$VARIANT" ]; then if [ -d "$dir/$VARIANT" ]; then
( (
cd "$dir/$VARIANT" cd "$dir/$VARIANT"
sed -ri -e 's/^FROM .*/FROM '"$image"'/g' 'Dockerfile' sed -ri -e 's/^FROM .*/FROM '"$image"'/g' 'Dockerfile'
docker build -t "$image-$dir" . docker build -t "$image-$dir" .
~/official-images/test/run.sh "$image-$dir"
) )
fi fi
done 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,8 +0,0 @@
<?php
$CONFIG = array (
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'redis',
'port' => 6379,
),
);

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,66 +0,0 @@
<?php
$autoconfig_enabled = false;
if (getenv('SQLITE_DATABASE')) {
$AUTOCONFIG["dbtype"] = "sqlite";
$AUTOCONFIG["dbname"] = getenv('SQLITE_DATABASE');
$autoconfig_enabled = true;
}elseif (getenv('MYSQL_ROOT_PASSWORD') && getenv('MYSQL_ROOT_USER') && getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
$root_user = getenv('MYSQL_ROOT_USER');
$root_password = getenv('MYSQL_ROOT_PASSWORD');
$user = getenv('MYSQL_USER');
$password = getenv('MYSQL_PASSWORD');
$database = getenv('MYSQL_DATABASE');
$host = getenv('MYSQL_HOST');
// Erase root environment variables
putenv('MYSQL_ROOT_USER');
putenv('MYSQL_ROOT_PASSWORD');
// Create connection
$connection = new mysqli($host, $root_user, $root_password);
// Check connection
if ($connection->connect_error) {
die("Connection failed: " . $connection->connect_error);
}
// Create database
$create_database = "CREATE DATABASE " .$database;
$create_user = "GRANT ALL PRIVILEGES ON " .$database. ".* TO '" .$user."'@'%' IDENTIFIED BY '" .$password. "';";
if ($connection->query($create_database) && $connection->query($create_user)) {
$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;
} else {
echo "Error creating database: " . $connection->error;
}
$connection->close();
} 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,8 +0,0 @@
<?php
$CONFIG = array (
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'redis',
'port' => 6379,
),
);

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) { 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"; $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) { 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"; $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) { 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"; $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'),
);
}

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