3d04ec6412
Reviewed-on: https://dev.tt-rss.org/tt-rss/ttrss-docker-compose/pulls/6 |
2 years ago | |
---|---|---|
app | 2 years ago | |
config.d | 4 years ago | |
web-nginx | 3 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