alpine:3.13 require php5-openssl for some https features.
Otherwise, fail on e.g. the extension page:
```
file_get_contents(): php Unable to find the wrapper "https" - did you
forget to enable it when you configured PHP? in
/var/www/FreshRSS/app/Controllers/extensionController.php on line 45
PHP Warning:
file_get_contents(https://raw.githubusercontent.com/FreshRSS/Extensions/master/extensions.json):
failed to open stream: No such file or directory in
/var/www/FreshRSS/app/Controllers/extensionController.php on line 45
[error] --- Could not fetch available extension from GitHub
```
Does not seem required for newer Alpine versions using PHP7 / PHP8
* Fix nginx config
* Remove `proxy_cookie_path`
* Add `proxy_set_header X-Forwarded-Prefix` for the subdirectory config
* Add nginx config when hosted as domain root
* Add `/` at the end of `proxy_pass`
* Possiblity to autoinstall in Docker Compose
#fix https://github.com/FreshRSS/FreshRSS/issues/3349
It is simply calling our existing CLI: do-install.php and
create-user.php
https://github.com/FreshRSS/FreshRSS/tree/master/cli
FreshRSS will typically be ready a few seconds before the database, so
introduce a tolerance when the database is not available / up (yet) by
trying a few times to connect. Also useful to avoid service interruption
when DB service is restarted.
Example:
```yml
freshrss-app:
image: freshrss/freshrss
container_name:
freshrss-app
hostname: freshrss-app
restart: unless-stopped
ports:
- "8080:80"
depends_on:
- freshrss-db
volumes:
- data:/var/www/FreshRSS/data
-
extensions:/var/www/FreshRSS/extensions
environment:
CRON_MIN:
'*/20'
FRESHRSS_ENV: development
FRESHRSS_INSTALL: |-
--api_enabled
--base_url https://rss.example.net
--db-base freshrss
--db-host freshrss-db
--db-password
freshrss
--db-type pgsql
--db-user freshrss
--default_user admin
--language en
FRESHRSS_USER: |-
--api_password freshrss
--email user@example.net
--language en
--password freshrss
--user admin
TZ:
Europe/Paris
```
* Minor type f in find
* shellcheck
This proposed change includes tweaks to the names of the services and volumes, and adds an explicit label to the postgres and freshrss containers.
Using a more generic "freshrss-db" instead of "freshrss_postgresql" seems more standard among other docker projects and makes it a bit easier to switch databases later.
Removing the "freshrss_" prefix from the volume names solves a problem where the docker-compose automatically prepends a "project name" to volume names upon running "up". So if your docker-compose.yml file is stored in a folder named "freshrss", you would end up with a redundant volume name of "freshrss_freshrss_data".
This also adds a restart policy to the db container.
cron job was not passed the environment variable FRESHRSS_ENV as it
should
This resulted in messages during cron to not be logged according to
FRESHRSS_ENV level
* #2671 Apache reverse proxy
Adding sample configuration for using apache as a reverse proxy
* Update Docker/README.md
Better wording
Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>
* Update Docker/README.md
Better wording
Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>
* Included suggestions and cleaned up code
I have cleaned the code with the <location> Tags so that it is more concise
* Included corrections
* Update Docker/README.md
Minor port number
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* New core-extensions to allow Docker volumes for third-party extensions
#Fix https://github.com/FreshRSS/FreshRSS/issues/2650
Split our extensions directory into two:
1) Core extensions shipped with FreshRSS in ./lib/core-extensions/
2) Third-party extensions modified by end-users in ./extensions/ which
can easily be mounted as a Docker volume
* Example of Docker Compose with extensions
* Back-compatibility + fix array merge bug
* tec: Add a test target to Makefile
Minor edit put php7-phar on third line
I try to keep on the third line the Alpine-specific PHP extensions (i.e.
that are not by default in Ubuntu), and in alphabetic order
Co-Authored-By: Alexandre Alapetite <alexandre@alapetite.fr>
* Allow to run make test without Docker
* 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
* Increase import size
This is merely a temporary workaround to allow at least some medium size
imports
https://framateam.org/freshrss/pl/7wbt4tcyetrfmris9xdcbq7uuw
The import module should be rewritten to process files one by one and as
data streams instead of loading multiple copies of the whole dataset in
memory as is the case now :-(
https://github.com/FreshRSS/FreshRSS/issues/1890
Note that the new SQLite export/import is distinct from this case.
* Use parameter
* Don't manually pull the base image
* Remove sudo before each docker
cause the user is usually added to the docker group
If not you can read it up here:
https://docs.docker.com/install/linux/linux-postinstall/
* Simplify cd
* [CI] Run shellcheck and shfmt
Cf. https://github.com/FreshRSS/FreshRSS/pull/2436#discussion_r305640019
* rename
* no need for disable anymore
* also remove leftover indentation flags even if it makes no difference to syntax checking
* define colors and reset before exit for local use
Workaround strange bug: When building on Docker Hub with QEMU, the
symlinks for the CA certificates are not created properly, although it
is the case when building for ARM locally.
Manually calling `update-ca-certificates -f` fixes the problem.
Note for later: Maybe we should call this update in our entrypoint.sh.