ttrss-container/README.md

81 lines
2.6 KiB
Markdown
Raw Normal View History

2019-11-15 12:51:55 +00:00
# A primitive set of scripts to deploy tt-rss via docker-compose
2019-11-15 19:05:01 +00:00
**EXPERIMENTAL STUFF, DON'T USE IN PRODUCTION YET UNLESS YOU KNOW WHAT YOU'RE DOING**
2019-11-15 14:08:40 +00:00
2019-11-15 12:51:55 +00:00
The idea is to provide tt-rss working (and updating) out of the box
with minimal fuss.
The general outline of the configuration is as follows:
2019-11-16 06:31:55 +00:00
- three linked containers (frontend: caddy, database: pgsql, application: php/fpm)
- caddy has its http port exposed to the outside
2019-11-15 14:56:14 +00:00
- feed updating is done via embedded cron job, every 15 minutes
- tt-rss source updates from git master repository on container restart
- schema is installed automatically if it is missing
- config.php is generated if it is missing
2019-11-15 18:34:23 +00:00
- SSL termination not included, use a sidecar container for that (TODO)
- tt-rss code is stored on a persistent volume so plugins, etc. could be easily added
2019-11-15 12:51:55 +00:00
2019-11-15 18:30:50 +00:00
### Installation
2019-11-15 18:50:21 +00:00
#### Check out scripts from Git:
2019-11-15 18:30:50 +00:00
```
2019-11-15 18:49:44 +00:00
git clone https://git.tt-rss.org/fox/ttrss-docker-compose.git ttrss-docker && cd ttrss-docker
2019-11-15 18:30:50 +00:00
```
2019-11-15 18:50:21 +00:00
#### Edit ``.env`` and/or ``docker-compose.yml`` if necessary
2019-11-15 18:30:50 +00:00
You will probably have to edit ``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.
2019-11-15 18:50:21 +00:00
#### Build and start the container
``docker-compose up``
2019-11-15 18:30:50 +00:00
See docker-compose documentation for more information and available options.
### Updating
2019-11-15 18:35:29 +00:00
Restarting the container will update the source from origin repository. If database needs to be updated,
tt-rss will prompt you to do so on next page refresh.
2019-11-15 18:30:50 +00:00
2019-11-16 06:43:05 +00:00
### Using SSL with Letsencrypt (untested!)
2019-11-16 06:43:32 +00:00
- ``HTTP_HOST`` in ``.env`` should be set to a valid hostname (i.e. no localhost or IP address)
2019-11-16 06:45:06 +00:00
- comment out ``web`` container, uncomment ``web-ssl`` in ``docker-compose.yml``
2019-11-16 06:43:05 +00:00
- ports 80 and 443 should be externally accessible i.e. not blocked by firewall and/or conflicting with host services
2019-11-15 18:30:50 +00:00
### How do I add plugins and themes?
By default, tt-rss code is stored on a persistent docker volume (``app``). You can find
2019-11-15 18:31:48 +00:00
its location like this:
``docker volume inspect ttrss-docker_app | grep Mountpoint``
2019-11-15 18:30:50 +00:00
Alternatively, you can mount any host directory as ``/var/www/html`` by updating ``docker-compose.yml``, i.e.:
```
volumes:
- app:/var/www/html
```
Replace with:
```
volumes:
- /opt/tt-rss:/var/www/html
```
Copy and/or git clone any third party plugins into ``plugins.local`` as usual.
2019-11-15 12:59:47 +00:00
2019-11-15 14:08:40 +00:00
### TODO
2019-11-15 14:56:14 +00:00
- support for sending mail somehow (smtp mailer?)
- properly deal with ``SELF_URL_PATH``
2019-11-15 14:55:22 +00:00
2019-11-15 19:03:11 +00:00
### Suggestions / bug reports
2019-11-15 18:33:02 +00:00
2019-11-16 06:31:55 +00:00
- [Forum thread](https://community.tt-rss.org/t/docker-compose-tt-rss/2894)