aboutsummaryrefslogtreecommitdiff
path: root/Docker
AgeCommit message (Collapse)Author
2026-01-03Add remote user in Apache logs, also for API (#8392)Gravatar Alexandre Alapetite
* API: add remote user in Apache logs fix https://github.com/FreshRSS/FreshRSS/discussions/8385 Example: ``` 2026-01-01T18:38:28.645486326Z 0.0.0.0 - alex [01/Jan/2026:19:38:28 +0100] "GET /api/greader.php/reader/api/0/subscription/list?output=json HTTP/1.1" 200 9798 "-" "curl/8.14.1" ``` * Fallback mod_rewrite * Log remote user with same priority as FreshRSS_http_Util::httpAuthUser()
2025-12-12Improve Docker + compatibility Arch (#8299)Gravatar Alexandre Alapetite
* Better comments in our Docker images * Make `cli/access-permissions.sh` compatible with other Apache groups such as `http` for Linux Arch * Better `/Docker/entrypoint.sh` supporting various Apache configuration paths (and slightly faster). * Add test image for Linux Arch (not sure we will keep it) See * https://github.com/FreshRSS/FreshRSS/pull/8279#issuecomment-3620674818
2025-12-05Docker: Alpine 3.23 (#8285)Gravatar Alexandre Alapetite
https://alpinelinux.org/posts/Alpine-3.23.0-released.html PHP 8.4.15, Apache/2.4.65 Dev Container updated from PHP 8.3.x to PHP 8.4.x.
2025-11-17Fix Docker for PostgreSQL (#8224)Gravatar Alexandre Alapetite
Better fix instead of https://github.com/FreshRSS/FreshRSS/pull/8216 Based on error message: Error: in 18+, these Docker images are configured to store database data in a format which is compatible with "pg_ctlcluster" (specifically, using major-version-specific directory names). This better reflects how PostgreSQL itself works, and how upgrades are to be performed. See also https://github.com/docker-library/postgres/pull/1259 Counter to that, there appears to be PostgreSQL data in: /var/lib/postgresql/data (unused mount/volume) This is usually the result of upgrading the Docker image without upgrading the underlying database using "pg_upgrade" (which requires both versions). The suggested container configuration for 18+ is to place a single mount at /var/lib/postgresql which will then place PostgreSQL data in a subdirectory, allowing usage of "pg_upgrade --link" without mount point boundary issues. See https://github.com/docker-library/postgres/issues/37 for a (long) discussion around this process, and suggestions for how to do so.
2025-11-15Change PostgreSQL data volume path in Docker Compose (#8216)Gravatar FollowTheWizard
adjusted to v18 change in DATA path db container will not start and freshrss will complain fix https://github.com/FreshRSS/FreshRSS/issues/8215
2025-10-16Docker Compose PostgreSQL 18 (#8111)Gravatar Alexandre Alapetite
Update to version 18. https://www.postgresql.org/about/news/postgresql-18-released-3142/ Tested to work: Debian, Alpine, PHP 8.2, PHP 8.4.
2025-10-02Debian 13 with OIDC fix (#8032)Gravatar Alexandre Alapetite
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/7772 fix https://github.com/FreshRSS/FreshRSS/issues/7860 fix https://github.com/FreshRSS/FreshRSS/issues/7798 Follow-up of https://github.com/FreshRSS/FreshRSS/pull/7805 PHP 8.4.11, Apache 2.4.65 * https://wiki.debian.org/DebianTrixie * https://www.debian.org/releases/testing/release-notes/whats-new.en.html * https://downloads.apache.org/httpd/CHANGES_2.4 And thanks to @CrazyWolf13 for [the debugging](https://github.com/OpenIDC/mod_auth_openidc/discussions/1349#discussioncomment-14542930)! Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-09-11Docker healthcheck (#7945)Gravatar Alexandre Alapetite
* Docker healthcheck fix https://github.com/FreshRSS/FreshRSS/issues/7377 * Use echo for non-CLI error * curl_close is deprecated * Connection: close * Update cli/health.php Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> --------- Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
2025-08-27Fix Docker Traefik .yml and SERVER_DNS (#7858)Gravatar John Marlo Evangelista
* Rename tls.yml to tls.yaml Rename tls.yaml so it will be align to the entry in docker-compose-proxy.yml: volumes: - ./tls.yaml:/etc/traefik/tls.yaml To prevent error: error="error reading configuration file: /etc/traefik/tls.yaml - read /etc/traefik/tls.yaml: is a directory" * Update example.env Added option for SERVER_URL To prevent warning: WARN[0000] The "SERVER_DNS" variable is not set. Defaulting to a blank string. * Update example.env Change SERVER_URL to SERVER_DNS * Use .yml consistently --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-08-27Docker CMD compatibility (#7861)Gravatar Alexandre Alapetite
Some caller systems do not seem escape the CMD quotes correctly. fix https://github.com/FreshRSS/FreshRSS/issues/7859#issuecomment-3225691432 fix https://github.com/FreshRSS/FreshRSS/discussions/5611 fix https://github.com/FreshRSS/FreshRSS/discussions/7267
2025-08-09Docker Alpine PHP 8.4 (#7803)Gravatar Alexandre Alapetite
Force our Alpine-based Docker image to PHP 8.4 (default is still PHP 8.3). Related to the fact that we may have to [revert our Debian image to Debian 12 with PHP 8.2 instead of Debian 13 with PHP 8.4](https://github.com/FreshRSS/FreshRSS/pull/7805), so for the next FreshRSS release, we can offer at least one image with PHP 8.4.
2025-08-09Docker revert to Debian 12 Bookworm (#7805)Gravatar Alexandre Alapetite
Fix https://github.com/FreshRSS/FreshRSS/issues/7798 Revert https://github.com/FreshRSS/FreshRSS/pull/7772 Revert https://github.com/FreshRSS/FreshRSS/commit/af6f7f013ae5b908520aa0d9fb0e0b56247ff026
2025-08-08Optimize how much data needs to be `chown`/`chmod`ed on container startup ↵Gravatar Carey Metcalfe
(#7793) * Optimize how much data needs to be `chown`/`chmod`ed on container startup This works around an issue where `chmod`/`chown` operations inside a container can be extremely slow when using the `overlay2` storage driver, resulting in 10min+ container startup times. It modifies the owner of the webapp when building the container so that only the `data` and `extensions` directories (which are commonly mapped as volumes into the container) have to be modified by the `access-permissions.sh` script at container startup. When not running via docker the behaviour of the `access-permissions.sh` script is unchanged. * Take DATA_PATH environment variable into account when fixing permissions * Revert change to using bash for arrays (the alpine image doesn't include `bash`) * A few more improvements * Slightly tweak reapply permissions variable - lowercase to indicate it's not an env variable - use 0/1 to address potentially-irrational paranoia about unset variables * Remove conditional logic to skip reapplying permissions Also documents why in a comment so it's not missed in the future. --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-08-01Docker dev image :newest updated to PHP 8.5 (#7773)Gravatar Alexandre Alapetite
Now that PHP 8.4 is covered by our main Debian image https://github.com/FreshRSS/FreshRSS/pull/7772, let's bump the :newest dev image to PHP 8.5. Note: OPCache is now included in the core https://wiki.php.net/rfc/make_opcache_required No other apparent breaking change.
2025-08-01Docker: Debian 13 RC with PHP 8.4 (#7772)Gravatar Alexandre Alapetite
Help final testing of Debian 13 Trixie before the release (9 August) https://lists.debian.org/debian-devel-announce/2025/07/msg00003.html PHP 8.4.10, Apache 2.4.64 I will make another PR after the release to update to `debian:13-slim` when it gets available.
2025-07-09Docker: interpolate FRESHRSS_INSTALL and FRESHRSS_USER variables (#7725)Gravatar Tarow
Closes https://github.com/FreshRSS/FreshRSS/issues/7300 Interpolate `FRESHRSS_INSTALL` and `FRESHRSS_USER` at runtime to allow secrets being passed as environment variables
2025-06-03Docker: Alpine 3.22 (#7627)Gravatar Alexandre Alapetite
https://alpinelinux.org/posts/Alpine-3.22.0-released.html PHP 8.3.21, Apache 2.4.63
2025-03-13Add check for Apache mod_filter to ensure "AddOutputFilterByType" works. (#7419)Gravatar Dezponia
* Update .htaccess Add check for Apache mod_filter to ensure "AddOutputFilterByType" works. * Explicit enabling mod_filter in our Docker images --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-02-19Docker Compose remove deprecated version (#7309)Gravatar Alexandre Alapetite
Minor doc
2025-01-25Ligth update Docker Compose (#7249)Gravatar Alexandre Alapetite
I just saw some users getting confused about the build section despite of the comment, so commented out by default https://github.com/FreshRSS/FreshRSS/discussions/7246#discussioncomment-11908948
2025-01-25Doc changed default_user to default-user (#7238)Gravatar Max Bretschneider
2025-01-13Docker Compose Traefik 3 (#7219)Gravatar Alexandre Alapetite
Use :3 instead of `3.0` to avoid having to update the documentation too often. Follow-up of https://github.com/FreshRSS/FreshRSS/pull/6401
2024-12-27Adds BASE_URL to example .env file (#7151)Gravatar Christopher Moss
* Adds BASE_URL to example .env file I found without specifying a BASE_URL then the installation command gets confused ❌ FreshRSS error during installation! FreshRSS error: invalid input: default-user cannot be empty The provided example base url may not be desired, but the readme should be updated with 'something' to make first use more user friendly. * Update Docker/README.md --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-12-07Docker: Alpine 3.21 (#7070)Gravatar Alexandre Alapetite
PHP 8.3.14, Apache/2.4.62 https://alpinelinux.org/posts/Alpine-3.21.0-released.html
2024-10-11Apache protect more non-public folders and files (#6881)Gravatar Alexandre Alapetite
* Apache protect more non-public folders * Also protect root * Do the same for /p/ * Simplify Require all denied In case of Apache 2.2, it will just make an error 500 instead of 403 * .htaccess.dist * Simplify * Better comment
2024-09-28PostgreSQL 17 (#6835)Gravatar Alexandre Alapetite
https://www.postgresql.org/about/news/postgresql-17-released-2936/
2024-09-23Docker entrypoint optimize find sed (#6827)Gravatar Alexandre Alapetite
Single `find` and single `sed` command instead of 3
2024-09-21Docker LegacyKeyValueFormat (#6819)Gravatar Alexandre Alapetite
* Docker LegacyKeyValueFormat https://docs.docker.com/reference/build-checks/legacy-key-value-format/ * Also for devcontainer
2024-09-06Upgrade to PHP 8.1 (#6711)Gravatar Alexandre Alapetite
* Upgrade to PHP 8.1 As discussed in https://github.com/FreshRSS/FreshRSS/discussions/5474 https://www.php.net/releases/8.0/en.php https://www.php.net/releases/8.1/en.php Upgrade to available native type declarations https://php.net/language.types.declarations Upgrade to https://phpunit.de/announcements/phpunit-10.html which requires PHP 8.1+ (good timing, as version 9 was not maintained anymore) Upgrade `:oldest` Docker dev image to oldest Alpine version supporting PHP 8.1: Alpine 3.16, which includes PHP 8.1.22. * Include 6736 https://github.com/FreshRSS/FreshRSS/pull/6736
2024-08-26OIDC changelog + minor whitespaceGravatar Alexandre Alapetite
+fix minor whitespace from https://github.com/FreshRSS/FreshRSS/pull/6730
2024-08-25Fix OIDC session params definition (#6730)Gravatar pando85
* Fix OIDC session params definition - standardize environment variable names - group all in the same configuration file - use mod_auth_openidc default values - fix `OIDCSessionMaxDuration` because it was not set with the previous code - add documentation * Add double quoting to prevent globbing and word splitting * Revert line deleted by mistake
2024-08-14Update about running tests (#6709)Gravatar Alexandre Alapetite
2024-08-14add OIDCSessionMaxDuration and OIDCSessionInactivityTimeout (#6642)Gravatar нездалисько
* add OIDCSessionMaxDuration and OIDCSessionInactivityTimeout * entrypoint.sh OIDCSessionMaxDuration and Session fix * fix: entrypoint.sh OIDCSessionMaxDuration and OIDCSessionInactivityTimeout and Alpine support * Use Apache config file instead * Spelling * fixed after restarting the double OIDC lines * Refactor --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-07-18Re-enable OPCache for PHP 8.4-alpha2 (#6637)Gravatar Alexandre Alapetite
Support https://www.php.net/index.php#2024-07-18-1 Follow-up of https://github.com/FreshRSS/FreshRSS/pull/6615 Bug https://github.com/php/php-src/issues/14873 was fixed https://github.com/nielsdos/php-src/commit/3d0885f9e54ba46bbb082df4c9c32f0be98ee423
2024-07-09Initial support for PHP 8.4 (#6615)Gravatar Alexandre Alapetite
* Initial support for PHP 8.4 Sole fix needed so far seems to be related to https://wiki.php.net/rfc/deprecate-implicitly-nullable-types See also upstream PR https://github.com/PhpGt/CssXPath/pull/227 We are also hitting was seems to be a PHP bug https://github.com/php/php-src/issues/14873 * Fix return type * Disable OPCache while waiting for PHP fix
2024-06-05Docker Alpine 3.20 (#6477)Gravatar Alexandre Alapetite
https://alpinelinux.org/posts/Alpine-3.20.0-released.html Moving from PHP 8.2.19 to PHP 8.3.7, still with Apache/2.4.59
2024-05-01Docker: Traefik 3.0 (#6401)Gravatar Alexandre Alapetite
https://github.com/traefik/traefik/releases/tag/v3.0.0 https://doc.traefik.io/traefik/v3.0/migration/v2-to-v3/
2024-04-30CLI database backup and restore (#6387)Gravatar Alexandre Alapetite
* CLI database backup and restore Can also be used to migrate from one database to another (e.g. MySQL to PostgreSQL) or to ease upgrade to a major PostgreSQL version (e.g. 15 to 16). * +x * Fix some cases * Update to docker-compose-v2 * More documentation
2024-03-19Fix CLI install regressions (#6214)Gravatar Alexandre Alapetite
* Fix CLI install with prefix It was not possible to pass a blank prefix * Fix regression EXIT_CODE_ALREADY_EXISTS The dedicated exit code was not sent anymore when a user already exists
2024-02-17Traefik 2.11 in docker-compose example (#6098)Gravatar Alexandre Alapetite
https://github.com/traefik/traefik/releases/tag/v2.11.0
2023-12-30Docker Debian disable unused PHP modules (#5994)Gravatar Alexandre Alapetite
https://github.com/FreshRSS/FreshRSS/issues/5993
2023-12-10Alpine 3.19 (#5933)Gravatar Alexandre Alapetite
https://alpinelinux.org/posts/Alpine-3.19.0-released.html Apache/2.4.58, PHP 8.2.13
2023-11-21Improve filtering of Cron env variables (#5898)Gravatar Alexandre Alapetite
Avoid keeping environment variables used for init. Improvement of https://github.com/FreshRSS/FreshRSS/pull/5795 Spotted when checking https://github.com/FreshRSS/FreshRSS/issues/5894
2023-11-18Fix PHP 7 compatibility strict_types (#5893)Gravatar Alexandre Alapetite
* Fix PHP 7 compatibility https://github.com/FreshRSS/FreshRSS/discussions/5892 * Multiple PHP 7 fixes * PHPStan
2023-11-10Document Traefik PathPrefix (#5845)Gravatar Alexandre Alapetite
2023-11-08Update WebSub documentation a bit (#5829)Gravatar Alexandre Alapetite
* Update WebSub documentation a bit * Marien prefers not to promote his hub too much :-)
2023-11-05Fix FreshRSS logo link on Docker HubGravatar Alexandre Alapetite
The link resolution does not seem to be supported automatically Follow-up of https://github.com/FreshRSS/FreshRSS/pull/5819
2023-11-05Try automatic update of Docker descriptionGravatar Alexandre Alapetite
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/5819
2023-11-05add multi arch docker build (#5808)Gravatar Benjamin Reich
* 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-10-31Fix Docker CRON_MIN for env with special characters (#5795)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/5792 regression from https://github.com/FreshRSS/FreshRSS/pull/5772