summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsupahgreg <supahgreg@users.noreply.github.com>2025-10-14 11:17:46 +0000
committersupahgreg <supahgreg@users.noreply.github.com>2025-10-14 11:17:46 +0000
commitf18a8503f648e46d91c4d842f59c55734372d32b (patch)
tree8323c1862323716c6749088ad176a31ae59a09b2
parent8e0d925bed563f0413fbaec3b1c0f837e33c91c3 (diff)
Updates related to app image only having 'postgresql17-client', incompatible w/ PostgreSQL 18 DBs.
-rw-r--r--Installation-Guide.md39
1 files changed, 25 insertions, 14 deletions
diff --git a/Installation-Guide.md b/Installation-Guide.md
index da3e3d0..4d4da6e 100644
--- a/Installation-Guide.md
+++ b/Installation-Guide.md
@@ -72,17 +72,20 @@ HTTP_PORT=127.0.0.1:8280
>[!WARNING]
> See [this FAQ entry](#i-got-the-updated-compose-file-above-and-now-my-database-keeps-restarting)
-> if you're upgrading between PostgreSQL major versions (e.g. 15 to 18).
+> if you're upgrading between PostgreSQL major versions (e.g. 15 to 17).
> [!WARNING]
-> The PostgreSQL 18 Docker image changed the volume from `/var/lib/postgresql/data` to `/var/lib/postgresql`,
-> which is reflected in the example below.
-> See https://hub.docker.com/_/postgres and https://github.com/docker-library/postgres/pull/1259 for more info.
+> Regarding PostgreSQL 18:
+> * The `backups` container image currently includes `postgresql17-client`, meaning it won't be able to back up your DB if you use PostgreSQL 18.
+ Consider using an alternative backup solution if you're using PostgreSQL 18.
+> * The PostgreSQL 18 Docker image changed the volume from `/var/lib/postgresql/data` to `/var/lib/postgresql`.
+> The example below includes a commented-out volume mapping that demonstrates this.
+> * See https://hub.docker.com/_/postgres and https://github.com/docker-library/postgres/pull/1259 for more info.
```yaml
services:
db:
- image: postgres:18-alpine
+ image: postgres:17-alpine
restart: unless-stopped
env_file:
- .env
@@ -91,7 +94,9 @@ services:
- POSTGRES_PASSWORD=${TTRSS_DB_PASS}
- POSTGRES_DB=${TTRSS_DB_NAME}
volumes:
- - db:/var/lib/postgresql
+ - db:/var/lib/postgresql/data
+ # or, if 18+
+ # - db:/var/lib/postgresql
app:
image: supahgreg/tt-rss:latest
@@ -250,7 +255,7 @@ You can use [docker-compose.override.yml](https://docs.docker.com/compose/extend
# docker-compose.override.yml
services:
db:
- image: postgres:18-alpine
+ image: postgres:17-alpine
```
### I'm trying to run CLI tt-rss scripts inside the container and they complain about root
@@ -435,16 +440,13 @@ If you have `backups` container enabled, stock configuration makes automatic bac
Note that this container is included as a safety net for people who wouldn't bother with backups otherwise.
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.
-#### Restoring backups
+#### Manually taking a backup
-The process to restore the database from a `backups` container backup might look like this:
+To run [`.docker/app/backup.sh`](https://github.com/tt-rss/tt-rss/blob/main/.docker/app/backup.sh) (the backup script that executes weekly):
-1. Enter `backups` container shell: `docker compose exec backups /bin/sh`
-2. Inside the container, locate and choose the backup file: `ls -t /backups/*.sql.gz`
-3. Clear database (**THIS WOULD DELETE EVERYTHING IN THE DB**): `psql -h db -U $TTRSS_DB_USER $TTRSS_DB_NAME -e -c "drop schema public cascade; create schema public"`
-3. Restore the backup: `zcat /backups/ttrss-backup-yyyymmdd.sql.gz | psql -h db -U $TTRSS_DB_USER $TTRSS_DB_NAME`
+`docker compose exec backups /etc/periodic/weekly/backup`
-Alternatively, if you want to initiate backups from the host, you can use something like this:
+Alternatively, if you want to initiate backups from the host you can do something like this:
```sh
source .env
@@ -454,6 +456,15 @@ docker compose exec db /bin/bash \
| gzip -9 > backup.sql.gz
```
+#### Restoring backups
+
+The process to restore the database from a `backups` container backup might look like this:
+
+1. Enter `backups` container shell: `docker compose exec backups /bin/sh`
+2. Inside the container, locate and choose the backup file: `ls -t /backups/*.sql.gz`
+3. Clear database (**THIS WOULD DELETE EVERYTHING IN THE DB**): `psql -h db -U $TTRSS_DB_USER $TTRSS_DB_NAME -e -c "drop schema public cascade; create schema public"`
+3. Restore the backup: `zcat /backups/ttrss-backup-yyyymmdd.sql.gz | psql -h db -U $TTRSS_DB_USER $TTRSS_DB_NAME`
+
### How do I use custom certificates?
You need to mount custom certificates into the *app* and *updater* containers like this: