diff options
| author | supahgreg <supahgreg@users.noreply.github.com> | 2025-10-14 11:17:46 +0000 |
|---|---|---|
| committer | supahgreg <supahgreg@users.noreply.github.com> | 2025-10-14 11:17:46 +0000 |
| commit | f18a8503f648e46d91c4d842f59c55734372d32b (patch) | |
| tree | 8323c1862323716c6749088ad176a31ae59a09b2 /Installation-Guide.md | |
| parent | 8e0d925bed563f0413fbaec3b1c0f837e33c91c3 (diff) | |
Updates related to app image only having 'postgresql17-client', incompatible w/ PostgreSQL 18 DBs.
Diffstat (limited to 'Installation-Guide.md')
| -rw-r--r-- | Installation-Guide.md | 39 |
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: |