# freshrss Custom image for FreshRSS feed aggregator [![Build Status](https://img.shields.io/drone/build/docker/freshrss?logo=drone&server=https%3A%2F%2Fdrone.rknet.org)](https://drone.rknet.org/docker/freshrss) [![Docker Hub](https://img.shields.io/badge/dockerhub-latest-blue.svg?logo=docker&logoColor=white)](https://hub.docker.com/r/thegeeklab/freshrss) [![Quay.io](https://img.shields.io/badge/quay-latest-blue.svg?logo=docker&logoColor=white)](https://quay.io/repository/thegeeklab/freshrss) [![Source: Gitea](https://img.shields.io/badge/source-gitea-blue.svg?logo=gitea&logoColor=white)](https://gitea.rknet.org/docker/freshrss) [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://gitea.rknet.org/docker/freshrss/src/branch/main/LICENSE) Custom rootless Docker image for FreshRSS, a self-hosted RSS feed aggregator. It is lightweight, easy to work with, powerful, and customizable. ## Usage Here are some example snippets to help you get started creating a container. This repository is just a wrapper to build a community docker image from [freshrss](https://github.com/freshrss/freshrss) releases. > **WARNING**: For production usage you should secure your setup and NOT use the default secrets e.g. for database, default user and salt! ### Docker ```Shell docker create \ --name=freshrss \ -p 80:8080 \ thegeeklab/freshrss ``` ### Docker Compose Please take a look at the [example](https://gitea.rknet.org/docker/freshrss/src/branch/main/docker-compose.yml) compose file from the git repo. ## Environment variables ### FreshRSS > **WARNING**: Don't change any system settings through the web UI! These changes will be overwritten at EVERY container startup. Use the provided environment variables instead. ```Shell FRESHRSS_ENVIRONMENT="production" FRESHRSS_DEFAULT_USER="admin" FRESHRSS_DEFAULT_PASSWORD="freshrss" # Salt is used to make crypto more unique. # Can be generated with e.g. cat /proc/sys/kernel/random/uuid | sha1sum | awk '{print $1}' FRESHRSS_SALT= # Specify address of the FreshRSS instance, # used when building absolute URLs, e.g. for WebSub. FRESHRSS_BASE_URL="http://localhost/" FRESHRSS_LANGUAGE="en" FRESHRSS_TITLE="FreshRSS" FRESHRSS_META_DESCRIPTION= FRESHRSS_ALLOW_ANONYMOUS="false" FRESHRSS_ALLOW_ANONYMOUS_REFRESH="false" FRESHRSS_AUTH_TYPE="form" FRESHRSS_API_ENABLED="false" FRESHRSS_UNSAFE_AUTOLOGIN_ENABLED="false" FRESHRSS_SIMPLEPIE_SYSLOG_ENABLED="true" FRESHRSS_PUBSUBHUBBUB_ENABLED="false" FRESHRSS_ALLOW_ROBOTS="false" FRESHRSS_ALLOW_REFERRER="false" FRESHRSS_LIMITS_COOKIE_DURATION="2592000" FRESHRSS_LIMITS_CACHE_DURATION="800" FRESHRSS_LIMITS_TIMEOUT="15" FRESHRSS_LIMITS_MAX_FEEDS="16384" FRESHRSS_LIMITS_MAX_CATEGORIES="16384" FRESHRSS_LIMITS_MAX_REGISTRATIONS="1" FRESHRSS_CURLOPT_SSL_VERIFYHOST= FRESHRSS_CURLOPT_SSL_VERIFYPEER= FRESHRSS_CURLOPT_PROXYTYPE= FRESHRSS_CURLOPT_PROXY= FRESHRSS_CURLOPT_PROXYPORT= FRESHRSS_CURLOPT_PROXYAUTH= FRESHRSS_CURLOPT_PROXYUSERPWD= FRESHRSS_DB_TYPE="sqlite" FRESHRSS_DB_HOST="localhost" FRESHRSS_DB_PORT= FRESHRSS_DB_USER= FRESHRSS_DB_PASSWORD= FRESHRSS_DB_BASE= FRESHRSS_DB_PREFIX="freshrss_" ## comma-seperated string, extensions must be installed! FRESHRSS_EXTENSIONS_ENABLED="Tumblr-GDPR" ## comma-seperated string FRESHRSS_TRUSTED_SOURCES=127.0.0.0/8,::1/128 ``` ### PHP ```Shell PHP_EXPOSE_PHP=Off PHP_MAX_EXECUTION_TIME=30 PHP_MAX_INPUT_TIME=60 PHP_MEMORY_LIMIT=50M PHP_ERROR_REPORTING=E_ALL & ~E_DEPRECATED & ~E_STRICT PHP_DISPLAY_ERRORS=Off PHP_DISPLAY_STARTUP_ERRORS=Off PHP_LOG_ERRORS=On PHP_LOG_ERRORS_MAX_LEN=1024 PHP_IGNORE_REPEATED_ERRORS=Off PHP_IGNORE_REPEATED_SOURCE=Off PHP_REPORT_MEMLEAKS=On PHP_HTML_ERRORSOn PHP_ERROR_LOG=/proc/self/fd/2 PHP_POST_MAX_SIZE=8M PHP_FILE_UPLOADS=On PHP_UPLOAD_MAX_FILESIZE=2M PHP_MAX_FILE_UPLOADS=2 PHP_ALLOW_URL_FOPEN=On PHP_ALLOW_URL_INCLUDE=Off PHP_DATE_TIMEZONE=Europe/Berlin PHP_SQL_SAFE_MODE=On ``` ## License This project is licensed under the MIT License - see the [LICENSE](https://gitea.rknet.org/docker/freshrss/src/branch/main/LICENSE) file for details.