You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
and [ghcr.io/tt-rss/tt-rss-web-nginx](https://github.com/orgs/tt-rss/packages/container/package/tt-rss-web-nginx)).
21
+
and [ghcr.io/tt-rss/tt-rss-web-nginx](https://github.com/orgs/tt-rss/packages/container/package/tt-rss-web-nginx))
22
22
23
23
{: .warning }
24
24
> Podman is not Docker. Please don't report issues related to running tt-rss when using Podman or Podman Compose.
@@ -28,23 +28,25 @@ Consider using an external [Patroni cluster](https://patroni.readthedocs.io/en/l
28
28
29
29
## TL;DR
30
30
31
-
Place both `.env` and `docker-compose.yml` together in a directory, edit `.env` as you see fit, run `docker compose up -d`.
32
-
33
-
## In more details
34
-
35
-
1. Create a directory for your tt-rss installation. Do the rest in there.
36
-
1.[Get the `.env` file](docs/Installation-Guide.md#.env) and edit it to suit your needs.
37
-
1. Make sure you change all the password using something like `pwgen` to generate long and
38
-
complex ones.
39
-
1.[Get the `docker-compose.yml` file](docs/Installation-Guide.md#docker-compose) and edit
40
-
it to suit your needs.
41
-
1. Run `docker-compose up -d` to run within the current shell. Note that the `-d` will detach the docker containers so when you close your shell, docker will still run.
42
-
1.[Optional] Run `lazydocker` so you can always see what is happening.
43
-
1.[Lazydocker](https://github.com/jesseduffield/lazydocker) is a nice little terminal
44
-
UI for both `docker` and `docker-compose`, written in Go with the `gocui` library.
45
-
This means that you can run it in an SSH session to see what your Docker Compose
46
-
installation is doing — or not.
47
-
1.[Optional] Run lots of Docker commands so you see what is happening. [Check the docker documentation](https://docs.docker.com/manuals/).
31
+
Place [`.env`](#env) and [`docker-compose.yml`](#docker-composeyml) (contents below) together in a directory, edit `.env` as you see fit, and run `docker compose up -d`.
32
+
33
+
## In more detail
34
+
35
+
1. Create a directory for your tt-rss installation. Do the remaining steps in there.
36
+
2. Create a `.env` file using [`.env`](#env) as a starting point; edit it to suit your needs (e.g. adjusting `HTTP_PORT`).
37
+
* Consider changing password/secret environment variables to something you're comfortable with (e.g. `pwgen`-generated values).
38
+
4. Create a `docker-compose.yml` file using [`docker-compose.yml`](#docker-composeyml) as a starting point; edit it to suit your needs
39
+
(e.g. enabling the `backups` container, using the `ghcr.io` images, using a newer `postgres` image, etc.).
40
+
5. Run [`docker compose up -d`](https://docs.docker.com/reference/cli/docker/compose/up/) to bring up the environment.
41
+
* Note that the `-d` will result in the containers running in the background, which is generally what you want.
42
+
6. Review containers logs and states. Some typical ways this may be done include:
43
+
* Running commands like [`docker compose ps`](https://docs.docker.com/reference/cli/docker/compose/ps/) and [`docker compose logs`](https://docs.docker.com/reference/cli/docker/compose/logs/)
44
+
* Using a third-party tool like [`lazydocker`](https://github.com/jesseduffield/lazydocker) (a terminal UI for Docker and Docker Compose).
45
+
7. Access tt-rss in your browser.
46
+
* The URL to use depends upon how you set things up, but assuming you kept `HTTP_PORT=127.0.0.1:8280` in your `.env` file and are on the same system
47
+
as tt-rss, you'd use <http://127.0.0.1:8280/tt-rss>.
48
+
8. Log in as `admin` or (if you enabled the related environment variables) the auto-created user.
49
+
* See comments in [`.env`](#env) regarding the password(s).
48
50
49
51
### .env
50
52
@@ -192,6 +194,14 @@ volumes:
192
194
193
195
## FAQ
194
196
197
+
### How do I update tt-rss?
198
+
199
+
When you see that tt-rss needs an update, just pull the latest image/code. How this is done depends upon your environment, but typical ways to accomplish this are:
200
+
* Docker (generally in the directory where you placed `docker-compose.yml`): `docker compose pull && docker compose up -d`
201
+
* Git (from your tt-rss directory): `git pull`
202
+
203
+
If a tt-rss database upgrade is required you'll be redirected to a special screen in the UI.
204
+
195
205
### Your Docker images won't run on X
196
206
197
207
If you're using an OS or architecture that isn't currently supported (i.e. something other than `linux/amd64` and `linux/arm64`),
@@ -240,11 +250,12 @@ Using the aforementioned example, you could do one of the following:
240
250
241
251
### I'm using docker-compose.override.yml and now I'm getting schema update (and other) strange issues
242
252
243
-
Alternatively, you've changed something related to `/var/www/html/tt-rss` in `docker-compose.yml`.
253
+
You've might've changed something related to `/var/www/html/tt-rss` in `docker-compose.yml`.
244
254
245
-
Your Docker setup is messed up for some reason, so tt-rss can't update itself to the persistent storage location on startup (this is just an example of one issue, there could be many others).
255
+
Your Docker setup is messed up for some reason, so tt-rss can't update itself to the persistent storage location on startup
256
+
(this is just an example of one issue, there could be many others).
246
257
247
-
Consider undoing any recent changes, looking up error messages, etc.
258
+
Consider undoing any recent changes, searching for error messages, etc.
248
259
249
260
### How do I make it run without /tt-rss/ in the URL, i.e. at website root?
250
261
@@ -259,14 +270,14 @@ Don't forget to remove `/tt-rss/` from `TTRSS_SELF_URL_PATH` (if you have it set
259
270
260
271
### How do I apply configuration options?
261
272
262
-
There are two sets of options you can change through the environment: those specific to tt-rss (those are prefixed with `TTRSS_`) and those affecting container behavior.
273
+
There are two sets of options you can change through the environment: those specific to tt-rss (which are prefixed with `TTRSS_`) and those affecting container behavior.
263
274
264
275
#### Options specific to tt-rss
265
276
266
277
For example, to set tt-rss global option `SELF_URL_PATH`, add the following to `.env`:
267
278
268
279
```ini
269
-
TTRSS_SELF_URL_PATH=http://example.com/tt-rss
280
+
TTRSS_SELF_URL_PATH=https://example.com/tt-rss
270
281
```
271
282
272
283
Don't use quotes around values. Note the prefix (`TTRSS_`) before the value.
@@ -449,7 +460,7 @@ Note that `proxy_pass` in this example points to container website root.
449
460
450
461
### I have internal web services tt-rss is complaining about (URL is invalid, loopback address, disallowed ports)
451
462
452
-
Put your local services on the same Docker network with tt-rss, then access them by service (=host) names, i.e. `http://rss-bridge/`.
463
+
Put your local services on the same Docker network with tt-rss, then access them by service (i.e. host) names, i.e. `http://rss-bridge/`.
453
464
454
465
```yml
455
466
services:
@@ -461,18 +472,18 @@ networks:
461
472
name: ttrss-docker_default
462
473
```
463
474
464
-
If your service uses a non-standard (i.e. not 80 or 443) port, make an internal reverse proxy sidecar container for it.
475
+
If your service uses a non-standard (i.e. not `80` or `443`) port, make an internal reverse proxy sidecar container for it.
465
476
466
477
### Backup and restore
467
478
468
-
Backups are important as you will eventually lose your data due many a thing. It is better to have them rather than be sorry. Yes, even for a simple service like tt-rss.
479
+
It's highly recommended that you back up your data. If your tt-rss is particularly important to you, also consider validating the backup artifacts by
480
+
using them to restore to a parallel environment.
469
481
470
-
Restoring from backups from time to time (is quarterly too much?) is another thing you should get used to. There is no point in having backups if you cannot restore from them.
482
+
If you have the `backups` container enabled, the default configuration takes automatic backups (database, local plugins, etc.) once a week to a separate storage volume.
471
483
472
-
If you have `backups` container enabled, stock configuration makes automatic backups (database, local plugins, etc.) once a week to a separate storage volume.
473
-
474
-
Note that this container is included as a safety net for people who wouldn't bother with backups otherwise.
475
-
If you value your data, you should invest your time into setting up something like [WAL-G](https://github.com/wal-g/wal-g) instead.
484
+
{: .note }
485
+
> The `backups` container is included as a safety net for people who wouldn't otherwise bother with backups.
486
+
> For a more robust database backup/restore solution, consider setting up something like [WAL-G](https://github.com/wal-g/wal-g).
476
487
477
488
#### Manually taking a backup
478
489
@@ -504,13 +515,12 @@ The process to restore the database from a `backups` container backup might look
504
515
505
516
#### OPML
506
517
507
-
Optionally, you could download your data in `OPML` regularity. It is not a full backup, can be useful nonetheless.
508
-
509
-
### Update tt-rss
518
+
As an additional, **but incomplete**, form of backup, you might also wish to periodically export a subset of your tt-rss user data as OPML.
519
+
This may be done in `Preferences --> Feeds --> OPML` or via the CLI with a command like `update.php --opml-export:USERNAME:FILENAME`.
510
520
511
-
When you see that `tt-rss` needs an update, you can run the following docker command: `docker restart ttrss_app_1`.
512
-
513
-
You can check that the container app is called `ttrss_app_1` by using `docker ps`.
521
+
{: .warning }
522
+
> OPML exports are not a complete backup.
523
+
> They only include information about one user's categories, feeds (configuration only), and (optionally) tt-rss settings (e.g. preferences, labels, filters).
0 commit comments