Go to file
Andrew Dolgov 0cded4bb78 auto update new-style config.php on container boot 2021-02-01 21:43:23 +03:00
app auto update new-style config.php on container boot 2021-02-01 21:43:23 +03:00
config.d initial for env-based setup 2021-01-31 15:05:50 +03:00
web set /tt-rss/backups as internal 2020-09-29 12:26:01 +03:00
web-nginx web-nginx: listen on ipv6 too 2020-10-01 12:50:25 +03:00
web-ssl set /tt-rss/backups as internal 2020-09-29 12:26:01 +03:00
.env-dist more examples in .env-dist 2021-02-01 10:11:59 +03:00
.gitignore update .gitignore 2021-01-06 12:39:25 +03:00
README.md update README.md 2021-01-31 16:04:18 +03:00
docker-compose.yml prefix config.php-related environment variables with TTRSS_ 2021-02-01 08:42:05 +03:00

README.md

Dockerized tt-rss using docker-compose

The idea is to provide tt-rss working (and updating) out of the box with minimal fuss.

General outline of the configuration is as follows:

  • separate containers (frontend: nginx, database: pgsql, app and updater: php/fpm)
  • tt-rss updates from git master repository on container restart
  • tt-rss source code is stored on a persistent volume so plugins, etc. could be easily added
  • config.php is generated if it is missing
  • database schema is installed automatically if it is missing
  • nginx has its http port exposed to the outside
  • optional SSL support via Caddy w/ automatic letsencrypt certificates (deprecated)
  • feed updates are handled via update daemon started in a separate container (updater)
  • optional backups container which performs tt-rss database backup once a week

Installation

Check out scripts from Git:

git clone https://git.tt-rss.org/fox/ttrss-docker-compose.git ttrss-docker && cd ttrss-docker

Edit configuration files:

Copy .env-dist to .env and edit any relevant variables you need changed.

You will likely have to change SELF_URL_PATH which should equal fully qualified tt-rss URL as seen when opening it in your web browser. If this field is set incorrectly, you will likely see the correct value in the tt-rss fatal error message.

By default, web container binds to localhost port 8280. If you want the container to be accessible on the net, without using a reverse proxy sharing same host, you will need to remove 127.0.0.1: from HTTP_PORT variable in .env.

Please don't rename the services inside docker-compose.yml unless you know what you're doing. Web container expects application container to be named app, if you rename it and it's not accessible via Docker DNS as http://app you will run into 502 errors on startup.

You can customize other config.php defines using environment variables (see app/Dockerfile for complete list).

Build and start the container

docker-compose up --build -d

See docker-compose documentation for more information and available options.

Updating

Restarting the container will update tt-rss from the origin repository. If database needs to be updated, tt-rss will prompt you to do so on next page refresh.

Updating container scripts

  1. Stop the containers: docker-compose down && docker-compose rm
  2. Update scripts from git: git pull origin master and apply any necessary modifications to .env, etc.
  3. Rebuild and start the containers: docker-compose up --build

Suggestions / bug reports