40e76d8da1 | 4 years ago | |
---|---|---|
src | 4 years ago | |
.env-dist | 5 years ago | |
.gitignore | 5 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: caddy, 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
- Caddy has its http port exposed to the outside
- optional SSL support via Caddy w/ automatic letsencrypt certificates
- 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.
Note: SELF_URL_PATH
is updated in generated tt-rss config.php
automatically on container
restart. You don't need to modify config.php
manually for this.
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.
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