nVentiveUX / docker-ttrss

A multiarch docker image for Tiny Tiny RSS feed reader
https://hub.docker.com/r/nventiveux/ttrss/
19 stars 6 forks source link
arm docker raspberrypi rss rss-aggregator tiny-tiny-rss tt-rss

Tiny Tiny RSS docker image

Release

Host Tiny Tiny RSS instance in a docker container supporting amd64, arm64 and arm architectures (RaspberryPi).

Available images and tags

The following multi-architecture image is available:

Hint: tags are following calver versionning with pattern vYYYY.MM.DD.

Features

Some additionnals features are added to the base installation of TT-RSS:

Configuration

We are now using configuration through environment variables from upstream project. Refer to this documentation.

Usage

Create a network:

docker network create ttrss_net

Prepare the database

You have 2 choices: postgresql or mysql database.

Create a postgresql database:

docker run \
  -d \
  --name ttrss_database \
  -v ttrss_db_vol:/var/lib/postgresql/data \
  -e POSTGRES_USER=ttrss \
  -e POSTGRES_PASSWORD=ttrss \
  --network ttrss_net \
  postgres:12.6-alpine

Create a mysql database:

docker run \
  -d \
  --name ttrss_database \
  -v ttrss_db_vol:/var/lib/mysql \
  -e MYSQL_DATABASE=ttrss \
  -e MYSQL_USER=ttrss \
  -e MYSQL_PASSWORD=ttrss \
  -e MYSQL_ROOT_PASSWORD=ttrssroot \
  --network ttrss_net \
  mysql:8.0.23

Run TTRSS instance

Run ttrss instance (adapt TTRSS_DB_TYPE to mysql if database is MySQL / MariaDB):

docker run \
  -d \
  --name ttrss \
  -e TTRSS_DB_HOST="ttrss_database" \
  -e TTRSS_DB_TYPE="pgsql" \
  -p 8000:80 \
  --network ttrss_net \
  nventiveux/ttrss:latest

Open browser to http://localhost:8000/. Login as admin with password password.

Tests and development

Adapt the Dockerfile to your needs.

Then test the image locally:

# PostgresSQL
cd tests/ttrss-pgsql && docker-compose up --build

# MySQL
cd tests/ttrss-mysql && docker-compose up --build

Open browser to http://localhost:8000/. Login as admin with password password.

Maintenance

Restoring a PostgreSQL database

# Using docker
docker exec -i <database_container_id> \
  pg_restore \
    --no-acl \
    --no-owner \
    -U ttrss \
    -d ttrss < <pgdump_filename>

# Using docker-compose
docker-compose exec -T database \
  pg_restore \
    --no-acl \
    --no-owner \
    -U ttrss \
    -d ttrss < /home/vbesancon/tmp/db_ttrss_1615503601.pgdump