9da8d37115 | 4 years ago | |
---|---|---|
config.d | 4 years ago | |
src | 4 years ago | |
.env-dist | 4 years ago | |
.gitignore | 4 years ago | |
README.md | 4 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.
This setup uses official prebuilt images from Docker Hub. Note that images are only available for Linux/amd64.
General outline of the configuration is as follows:
- separate containers (frontend: nginx, database: pgsql, app and updater: php/fpm)
- tt-rss latest git master source baked into container on build
- images are pulled from Docker Hub (automatically built and published on tt-rss master source update)
- working copy is stored on (and rsynced over on restart) 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
Get docker-compose.yml and .env-dist
git clone https://git.tt-rss.org/fox/ttrss-docker-compose.git ttrss-docker
cd ttrss-docker
git checkout static-dockerhub
You're interested in docker-compose.yml
stored in root directory, as opposed to src
.
Latter directory is used to build images for publishing on Docker Hub. Use it if you want to build your own containers.
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).
Pull and start the container
docker-compose pull && docker-compose up -d
See docker-compose
documentation for more information and available options.
Updating
You will need to pull a fresh image from Docker Hub to update tt-rss source code. Working copy will be synchronized on startup.
If database needs to be updated, tt-rss will prompt you to do so on next page refresh.
Updating container scripts
- Stop the containers:
docker-compose down && docker-compose rm
- Update scripts from git:
git pull origin static-dockerhub
and apply any necessary modifications to.env
, etc. - Pull fresh images and start the containers:
docker-compose pull && docker-compose up