Commit Graph

49 Commits

Author SHA1 Message Date
Alexandre Alapetite
e165cf6b43 Docker LegacyKeyValueFormat (#6819)
* Docker LegacyKeyValueFormat
https://docs.docker.com/reference/build-checks/legacy-key-value-format/

* Also for devcontainer
2024-09-21 09:54:01 +02:00
Alexandre Alapetite
a3ebfe76ea Docker Debian disable unused PHP modules (#5994)
https://github.com/FreshRSS/FreshRSS/issues/5993
2023-12-30 23:42:57 +01:00
Benjamin Reich
8f07199777 add multi arch docker build (#5808)
* Add multi arch container build

Co-authored-by: EdJoPaTo <rfc-conform-git-commit-email@funny-long-domain-label-everyone-hates-as-it-is-too-long.edjopato.de>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>

* using label from github action

* dont remove static labels and split docker readme in seperate action

* pin 3rd party action to a commit

* enable pushing to dockerhub

* Update .github/workflows/build-images.yml

Co-authored-by: EdJoPaTo <github@edjopato.de>

* remove not needed checkout

* set github token permissions

* Update .github/workflows/push-dockerhub-readme.yml

* update docker readme to match new tags

* Apply suggestions from code review

* fix suffix for alpine image

* fix suffix for alpine image

* push images only at upstream repo

* push images only at upstream repo

* push images only at upstream repo

* tag latest-alpine as alpine

* tag latest-alpine as alpine

* remove no needed falvor

* keep falvor for build

* Clean more things

* Rename action
To use same default name than https://github.com/actions/starter-workflows/blob/main/ci/docker-publish.yml

* Rename readme action
To use same default name than https://github.com/peter-evans/dockerhub-description/blob/main/.github/workflows/dockerhub-description.yml

* Use default name for dockerhub-description
https://github.com/peter-evans/dockerhub-description/blob/main/.github/workflows/dockerhub-description.yml
Plus minor wording

* Experiment with build-args

* Debug

* Add checkout back

* Revert back to metadata-action

* Remove quotes in version

* Try to fix variables

* Experiment with automatic label values again

* Delete last Docker Hub hooks

* Use only git SHA for org.opencontainers.image.revision
https://specs.opencontainers.org/image-spec/annotations/#pre-defined-annotation-keys

* Comment out semver for now
Might be enabled later if desired

* Enable major semver

---------

Co-authored-by: EdJoPaTo <rfc-conform-git-commit-email@funny-long-domain-label-everyone-hates-as-it-is-too-long.edjopato.de>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Co-authored-by: EdJoPaTo <github@edjopato.de>
2023-11-05 22:46:01 +01:00
Alexandre Alapetite
e7689459f2 Rework trusted proxies (#5549)
* Rework trusted proxies
Fix https://github.com/FreshRSS/FreshRSS/issues/5502
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/3226

New environment variable `TRUSTED_PROXY`: set to 0 to disable, or to a list of trusted IP ranges compatible with https://httpd.apache.org/docs/current/mod/mod_remoteip.html#remoteiptrustedproxy

New internal environment variable `CONN_REMOTE_ADDR` to remember the true IP address of the connection (e.g. last proxy), even when using mod_remoteip.

Current working setups should not observe any significant change.

* Minor whitespace

* Safer trusted sources during install
Rework of https://github.com/FreshRSS/FreshRSS/pull/5358
https://github.com/FreshRSS/FreshRSS/issues/5357

* Minor readme
2023-07-30 12:59:18 +02:00
Alexandre Alapetite
644427b9b1 Docker quiet Apache a2enmod (#5464)
Quiet output for a2enmod, a2dismod, a2disconf, a2dissite, a2ensite to avoid many messages the following, which are not even relevant because Apache is not yet started at this stage:

```
To activate the new configuration, you need to run:
  systemctl restart apache2
```

Related to https://github.com/FreshRSS/FreshRSS/pull/5463
2023-06-14 15:18:26 +02:00
Alexandre Alapetite
dd5a021061 Docker: Debian 12 (#5461)
https://www.debian.org/releases/bookworm/
With PHP 8.2.5 and Apache 2.4.57
2023-06-14 15:18:03 +02:00
Alexandre Alapetite
ae8dfc1b1b Fix OpenID Connect crash on ARM (#5463)
Only enable the Apache auth_openidc module when actually used
Fix https://github.com/FreshRSS/FreshRSS/issues/5460
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/5351
2023-06-13 16:28:51 +02:00
Aaron Schif
58b254f9cb Add OpenID Connect (#5351)
* Add OIDC

* Update documentation.

* Update apache conf adding IfModule

* Use IfDefine for OIDC in apache conf

* Fix non-oidc support

* Fix typing

* Use IfDefine to enable OIDC

* Add OIDC support to all dockerfiles

* Re add apache Require option

* Fixes and documentation

* A few more fixes

* A bit more doc

* Change type of environment variable

* Update readme

* Correct apache config for OIDC support.

* Fix README formatting

* Update oidc control path

* Fix oidc endpoint being cached

* A bit more review

* Simplify ExpiresActive

* Add session refresh and improve caching

* Allow more different setups

* A bit more documentation

* A bit more readme

---------

Co-authored-by: Aaron Schif <aschif@netdevgroup.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Co-authored-by: maTh <math-home@web.de>
2023-06-12 10:22:46 +02:00
Alexandre Alapetite
0292b2f1f3 Improve Dev Container (#5423)
* Improve Dev Container
PHPStan was failing in Dev Container

* Update Docker to Alpine Linux 3.18
* New DATA_PATH environment variable

* README
2023-05-28 18:03:34 +02:00
Alexandre Alapetite
543fa4e76c Docker uniform timezone behaviour (#4905)
* Docker Alpine timezone for :newest and :oldest
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/4903
Forgot the development images Newest and Oldest

* Uniform timezone behaviour

* shellcheck

* A bit more documentation
2022-11-30 20:45:40 +01:00
Alexandre Alapetite
81b00bd8aa Docker: Move logic to disable FreshRSS updates (#3973)
Should be done during build and not during entrypoint, to avoid modifying a potential volume (e.g. mounting the source code as a volume is used during development).
2021-11-14 23:25:27 +01:00
Alexandre Alapetite
d924fc5fbb Fix cron regression (#3933)
#fix https://github.com/FreshRSS/FreshRSS/pull/3927/files#r735146297
The path `/var/www/FreshRSS/` might be a Docker volume, breaking files created there during Docker build
2021-10-24 19:39:35 +02:00
Chris Francy
07e00c7681 Docker: don't add crontab unless needed. (#3927)
Adding the crontab as part of the image build makes it more complicated
to add custom entries to the crontab. Adjusting the image and entrypoint
to make it so that the crontab is only added when CRON_MIN is set
simplifies having a custom crontab.
2021-10-24 17:25:03 +02:00
Alexandre Alapetite
6004de845f Docker with Debian 11 (#3782)
PHP 7.4.21, Apache/2.4.48
2021-08-19 16:38:55 +02:00
Alexandre Alapetite
69060cda33 Docker: Environment variable to change Apache port (#3343)
#fix https://github.com/FreshRSS/FreshRSS/issues/3341

New environment variable `LISTEN='0.0.0.0:8080'`

```
docker run -d --network host --uts host -e LISTEN='0.0.0.0:8080' -e
TZ=Europe/Paris --name freshrss   freshrss/freshrss
```
2021-01-07 23:32:39 +01:00
Alexandre Alapetite
9ab05c7f67 Docker: Use Apache remoteip (#3226)
#fix https://github.com/FreshRSS/FreshRSS/issues/3224
Log the client remote IP instead of the local proxy IP
https://httpd.apache.org/docs/2.4/mod/mod_remoteip.html
2020-10-16 09:25:43 +02:00
Jucgshu
5eef40162c Remove Docker heathchecks (#3161)
* Update Dockerfile

Remove heathcheck

* Update Dockerfile-Alpine

Remove heathcheck

* Update Dockerfile-QEMU-ARM

Remove heathcheck
2020-08-30 10:10:49 +02:00
Alexandre Alapetite
b6b6a6de1d Docker use Debian instead of Ubuntu (#3159)
#fix https://github.com/FreshRSS/FreshRSS/issues/3026
Ubuntu 19.10 has expired.
I still cannot get Ubuntu 20.04 to work on ARM (Raspberry Pi) https://github.com/FreshRSS/FreshRSS/pull/2943
Move to Debian 10 Buster instead of our current Ubuntu 19.10 (which was based on Debian 10 Buster).
2020-08-29 15:54:58 +02:00
Alexandre Alapetite
af575e061d Revert to Ubuntu 19.10 (#2943)
* Revert to Ubuntu 19.10

#Fix https://github.com/FreshRSS/FreshRSS/issues/2939
Revert https://github.com/FreshRSS/FreshRSS/pull/2925

Will upgrade back to 20.04 when Ubuntu bugs are fixed, e.g.
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1867675

* Revert changelog
2020-05-02 18:24:13 +02:00
Alexandre Alapetite
0f7970b4c0 Docker: Ubuntu 20.04 (#2925)
https://ubuntu.com/blog/ubuntu-20-04-lts-arrives
PHP 7.4.3, Apache 2.4.41
https://php.net/migration74
We have already addressed PHP 7.4 issues in FreshRSS 1.16
2020-04-25 12:27:25 +02:00
Alexandre Alapetite
3c49986ec8 New environment variable COPY_LOG_TO_SYSLOG (#2591)
* New environment variable COPY_LOG_TO_SYSLOG

False by default.
Makes it easy to monitor all logs from Syslog or STDERR (e.g. docker
logs).

* Suggestion of native constants
2019-10-26 11:19:42 +02:00
Alexandre Alapetite
bc820a151a Docker update to Ubuntu 19.10 (#2577)
Released today with PHP 7.3.8, Apache 2.4.41
http://releases.ubuntu.com/eoan/
2019-10-19 02:39:18 +02:00
Alexandre Alapetite
6cedeeeae5 Minz: New environment variable to control development mode (#2508)
* New environment variable to control development mode

Suggestion of new enviromnent variable, as discussed
https://github.com/FreshRSS/FreshRSS/pull/2492#issuecomment-523613920

* Update Docker/README.md

Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>

* Update Docker/README.md

Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>

* Update Docker/README.md

Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>

* Declare ENV in Dockerfile

Tested
2019-08-22 20:04:26 +02:00
Sandro Jäckel
4e0acf5296 Ignore JSON notation 2019-07-23 08:49:41 +02:00
Sandro Jäckel
71270e4d5c Replace curl healthcheck with pure php, apply haodlint suggestions (#2455)
Closes #2453
2019-07-22 15:26:55 +02:00
Alexandre Alapetite
0a297addc0 Add php-gmp for API in Ubuntu 32-bit (#2450)
And adjust slightly the HEALTHCHECK parameters for faster start in
Træfik
2019-07-21 12:49:29 +02:00
Alexandre Alapetite
8c2cf1b4dd Docker healthcheck+ labels (#2438)
* Add Docker labels

And try to fix the platform metadata for ARM, and add health check

* Execution rights

* Remove experimental features not supported by Docker Hub

"--squash" is only supported on a Docker daemon with experimental
features enabled. build hook failed! (1)

* Fix paths
2019-07-07 20:07:01 +02:00
Sandro Jäckel
bc79359748 Don't delete lists directory, small nitpick (#2435) 2019-07-04 20:46:25 +02:00
Alexandre Alapetite
e2cf756d2f Update Docker to Ubuntu 19.04 2019-06-21 18:44:20 +02:00
Alexandre Alapetite
4599d171df Docker fix cron logs (#2329)
Fix environment variable bug
2019-04-02 21:47:57 +02:00
Alexandre Alapetite
32dd2e3c33 Docker better use of crontab (#2326)
Misc. from https://github.com/FreshRSS/FreshRSS/pull/2325
https://github.com/FreshRSS/FreshRSS/issues/2319
2019-04-02 14:21:34 +02:00
Alexandre Alapetite
c48e28baf6 Fix Docker cron mistake (#2325)
https://github.com/FreshRSS/FreshRSS/issues/2319
2019-04-02 13:27:41 +02:00
Alexandre Alapetite
d67465a438 Fix Docker Ubuntu cron (#2321)
https://github.com/FreshRSS/FreshRSS/issues/2319
2019-04-01 23:52:41 +02:00
Alexandre Alapetite
707388c093 Docker ca-certificates missing (#2285) 2019-03-19 21:51:16 +01:00
Alexandre Alapetite
60b7f5e6d9 Docker Ubuntu notes (#2259)
https://github.com/FreshRSS/FreshRSS/pull/2205
(And removed proxy_fcgi forgotten from php-fpm)
2019-03-02 22:53:04 +01:00
Alexandre Alapetite
fc8fb0a7ee Docker image alternative using Ubuntu (#2205)
* Docker image alternative using Ubuntu

Ubuntu seems to be faster, cf. e.g. PHPBench.
It is quite usual for Docker images to offer both a Debian/Ubuntu and an
Alpine version, so we could also do the same if there is any need.
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/2202

* Only explicit use of Apache confs

Fix double-logging issue

* Explicit ServerTokens OS

Default Apache configuration in Ubuntu, which was removed when disabling all confs.
It is also the default Apache configuration in Alpine.

* Take advantage of syslog for actualization

Same than for Alpine
43ab629e27

* COPY_SYSLOG_TO_STDERR

Same as https://github.com/FreshRSS/FreshRSS/pull/2213

* Update to libapache2-mod-php instead of php-fpm

* Default to Ubuntu

Ubuntu mod-php wins, being ~14% faster than Ubuntu php-fpm (which was ~300% faster than Alpine mod-php)
2019-03-02 21:49:20 +01:00
Alexandre Alapetite
5bd3d92b9f Alpine 3.9
PHP 7.2.14, Apache 2.4.38
https://alpinelinux.org/posts/Alpine-3.9.0-released.html
2019-02-03 12:30:34 +01:00
Alexandre Alapetite
4355849ec3 Docker Alpine PHP timezone (#2218)
https://github.com/FreshRSS/FreshRSS/issues/2153
2019-01-16 22:19:40 +01:00
Alexandre Alapetite
b73d4c807f COPY_SYSLOG_TO_STDERR (#2213)
Update of https://github.com/FreshRSS/FreshRSS/pull/2208
Fixes https://github.com/FreshRSS/FreshRSS/issues/2212
2019-01-08 00:06:01 +01:00
Alexandre Alapetite
15d74d9347 Changelog + Revert mistakes from 2202 and 2204 (#2210)
* GMP is needed because Alpine on e.g. ARM runs 32-bit
https://github.com/FreshRSS/FreshRSS/pull/2202
* Remove documentation for Træfik HTTP authentication as it is not
compatible with API
https://github.com/FreshRSS/FreshRSS/pull/2204

https://github.com/FreshRSS/FreshRSS/pull/2208
https://github.com/FreshRSS/FreshRSS/pull/2207
2019-01-06 12:07:51 +01:00
Alexandre Alapetite
802c264574 Copy syslog to STDERR (#2208)
* Use openlog before syslog
In order to have a copy on stderr when syslog is not available.

* Take advantage of syslog for actualization
Pipe cron job STDERR and syslog to Docker log
Cf. 00bd467655
2019-01-06 00:46:48 +01:00
Alexandre Alapetite
a6623b7b2f Apache performance (#2202)
* Apache performance
API: Use SetEnvIf if available and fallback to RewriteRule
Docker: Disable unused modules.
Docker: Hard-include .htaccess to avoid having to scan for changes in
that file.
Docker: Disable security check of symlinks, which we do not use ayway.

* Apache readme

* Docker/Apache tuning
Run cron job with correct www-data user instead of root
Remove PHP GMP module uneeded for 64-bit Docker image
Add option to mount custom .htaccess for HTTP authentication
Re-add Apache module for HTTP authentication
Move Alpine-specific instructions to Docker file (instead of Apache
conf) to make it easier to have other base images than Alpine
2019-01-02 21:36:33 +01:00
Alexandre Alapetite
e0bc6a2855 Docker from Alpine 3.8 (#1956)
PHP 7.2 http://php.net/manual/migration72.incompatible.php
TODO: create_function() is deprecated (used by lib_phpQuery.php)
2018-07-07 13:45:38 +02:00
Alexandre Alapetite
90998c2437 Apache overrides were not enough (#1873)
It looks like overrides of CustomLog, ErrorLog, Listen did not do the
job fully.
Updated to comment out those lines in httpd.conf.
Fixes the fact that logs were kept in /var/log/apache2/ (instead of
being only given via STDOUT to Docker logs) and the "internal dummy
connection" bug over IPv6 (Docker is typically only IPv4).
2018-04-26 13:52:44 +02:00
Alexandre Alapetite
4381117a19 cron in Docker image (#1871)
* cron in Docker image

https://github.com/FreshRSS/FreshRSS/issues/1869

* Fix cron CMD

* Minor readme

* Docker run d instead of dit

There should not be a need for STDIN or TTY

* Minor sed param
2018-04-26 12:00:14 +02:00
Alexandre Alapetite
5647442053 Docker missing PHP extensions
php7-iconv php7-xmlreader php7-zlib
https://github.com/FreshRSS/FreshRSS/issues/1821
2018-03-05 20:33:13 +01:00
Alexandre Alapetite
80b85ffb8e Docker add simplexml
Needed for OPML import
2018-03-04 17:07:32 +01:00
Alexandre Alapetite
29dc711b7b Docker follow-up (#1817)
* Docker follow-up

https://github.com/FreshRSS/FreshRSS/pull/1813

* Readme links

cloud.docker.com does not seem to have a public version of the pages
re-add https://hub.docker.com/r/freshrss/freshrss/

* Link to original GitHub readme

* Docker readme MySQL PostgreSQL

https://github.com/FreshRSS/FreshRSS/pull/1817#issuecomment-370195319

* docker exec username
2018-03-04 12:27:14 +01:00
Alexandre Alapetite
71918dbc5a New Docker (#1813)
* Draft of new Docker

Based on Alpine Linux. Size ~78MB.
https://github.com/FreshRSS/docker-freshrss/issues/4
https://github.com/FreshRSS/FreshRSS/issues/520
https://github.com/FreshRSS/docker-freshrss
https://github.com/FreshRSS/docker-freshrss-production

* Docker readme

* +x execution rights prepare

* Docker readme links to hub.docker.com

https://hub.docker.com/r/freshrss/freshrss/
2018-03-04 01:02:02 +01:00