2444e197c2
By default, nginx sends php requests to an upstream "app" server. While keeping this default behavior, this commit allows the user to override this server name at runtime, by setting an APP_SERVERNAME env var to the nginx container |
2 years ago | |
---|---|---|
app | 2 years ago | |
config.d | 4 years ago | |
web-nginx | 2 years ago | |
.env-dist | 2 years ago | |
.gitignore | 4 years ago | |
README.md | 3 years ago | |
docker-compose.yml | 4 years ago |
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 and plugins update from git master repository on container restart
- tt-rss source code is stored on a persistent volume so plugins, etc. could be easily added
- database schema is updated automatically
- nginx has its http port exposed to the outside
- 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
git clone https://git.tt-rss.org/fox/ttrss-docker-compose.git ttrss-docker && cd ttrss-docker
Edit configuration files
Configuration is done primarily through the environment. Copy .env-dist
to .env
and edit any relevant variables you need changed.
You will likely have to change TTRSS_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.
Legacy configuration file (config.php
) is not created automatically, if you need it, copy it from config.php-dist
manually.
By default, frontend 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.
Build and start the container
docker-compose up --build -d
See docker-compose documentation for more information and available options.
Login credentials
You can set both internal 'admin' user password or, alternatively, create a separate user with necessary permissions
on first launch through the environment, see .env-dist
for more information.
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. Normally this happens automatically on container startup.
Updating container scripts
Latest tt-rss source code expects latest container scripts and vice versa. Updating both is a good idea.
- Stop the containers:
docker-compose down && docker-compose rm
- Update scripts from git:
git pull origin master
and apply any necessary modifications to.env
, etc. - Rebuild and start the containers:
docker-compose up --build