Docker-compose + tt-rss

Hmm, I don’t think I’ve ever done that…and I don’t think I re-used a db from another container (I may have tried and failed). So just did an import as I mentioned.

normal procedure, i think, is a separate DB instance linked to your application container.

yeah I have that, you can see in my compose the postgres container and the tt-rss container…but I didn’t have to run anything special on first run to create the db.

ah, alright, that’s good.

docker-compose, that used 3 Dockerfile.

Dockerfiles contains FROM + RUN steps + HEALTHCHECK + ENTRYPOINT for inner stuff
docker-compose contains shared infrastructure.

for example, see https://github.com/mazzy-ax/lsfusion-samples

this linuxserver container is something else

  • can’t even install the schema (or can it? it didn’t do anything with the linked postgres server)
  • gets an ancient 19.8 tag from Gogs so they either don’t understand my release process or simply don’t give a fuck
  • no provision for updates at all without recreating the container, need to specify version manually
  • literally whines for donations on startup

1/5 will not recommend

here’s a really quick example yml i was using

version: '3'

services:
  db:
    image: postgres:12-alpine
    restart: always
    volumes:
      - db:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_USER=${POSTGRES_USER}

  ttrss:
    image: linuxserver/tt-rss
    container_name: tt-rss
    environment:
      - DB_TYPE=pgsql
      - DB_HOST=db
      - DB_NAME=${POSTGRES_USER}
      - DB_USER=${POSTGRES_USER}
      - DB_PASS=${POSTGRES_PASSWORD}
      - SELF_URL_PATH=http://localhost:8380/
      - PUID=1000
      - PGID=1000
      - TZ=UTC
    volumes:
      - ttrss-data:/config
    ports:
      - 8380:80
    restart: unless-stopped
    depends_on:
      - db

volumes:
  db:
  ttrss-data:

for once i was hoping someone did a good job. but no, everything must always be shit.

alright so there’s this now, if someone is feeling brave enough to test it and provide feedback, i’ll appreciate it:

https://git.tt-rss.org/fox/ttrss-docker-compose

if nothing else this should show the general idea of how i’m seeing this configuration.

i’m also not sure what’s the best way to handle SELF_URL_PATH situation.

by the way, thanks for making me aware this exists.

It’s kick ass. Much easier than nginx as far as I can tell.

I have everything running through it. Have to run it swarm mode so it load balances.

Hi all, first of all, I love this utility. TT-rss is hosted in my home “server” and I am all day connected to eat for personal and business purposes. I am technology fun, so I would like to migrate to ttss dockerized, however, as per my understanding, this utility works only with docker-compose? I have a google apps kubernets and I am wondering if I can deploy it there as a cluster.

i have never used kubernetes but you should be able to adapt the YML, i think:

i’m sure there’s other links out there. if you manage to make it work, posting instructions here would be helpful to others.

I am waiting a new server from my university, I will try to install first docker as per your instructions, in order to understand exactly how it works, and after that I will try in google cloud with kubernets. I let you know asap.

I use the linuxserver image and traefik:

version: "3"

services:
  traefik:
    image: traefik:v2.0.5
    command:
      - --entrypoints.websecure.address=:443
      - --providers.docker
      - --ping
      <...>
    container_name: traefik
    restart: always
    ports:
      - 443:443
    healthcheck:
      test: traefik healthcheck --ping
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

  tt-rss:
    image: linuxserver/tt-rss:19.8-ls35
    container_name: tt-rss
    restart: always
    healthcheck:
      test: curl --fail -s http://localhost/ || exit 1
    depends_on:
      - postgres
    volumes:
      - tt-rss:/config
    environment:
      - SELF_URL_PATH=https://tt-rss.example.com/
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Moscow
    labels:
      - "traefik.http.routers.tt-rss.rule=Host(`tt-rss.example.com`)"
      - "traefik.http.routers.tt-rss.tls=true"
      <...>

  postgres:
    image: postgres:12.1-alpine
    container_name: postgres
    restart: always
    volumes:
      - pgdata:/var/lib/postgresql/data

I have problem with the refresh of the rss. IS there any process that collects the new rss data?

root 25928 25903 0 21:26 ? 00:00:01 php-fpm: master process (/etc/php7/php-fpm.conf)
nobody 26131 25928 0 21:26 ? 00:00:14 php-fpm: pool www
nobody 26132 25928 0 21:26 ? 00:00:13 php-fpm: pool www
nobody 26393 25928 0 21:37 ? 00:00:09 php-fpm: pool www

“Mountpoint”: “/var/lib/docker/volumes/ttrssdocker_app/_data”
The file update_daemon2.php exist in this folder, how i should call php through docker to run the update process?

if you’re talking about git.tt-rss.org container - yes, it runs basic update cronjob every 15 minutes.

there’s a variety of ways to do that, to do it properly you’d have to modify app container startup script and run it from there, preferably using a supervisor.

e: a separate container could run the daemon but it’s probably Too Much Docker :face_with_raised_eyebrow:

[quote=“fox, post:22, topic:2894”]
there’s a variety of ways to do that, to do it properly you’d have to modify app container startup script and run it from there, preferably using a supervisor.
[/quote]Ok i will try this. Ttrss with docker is SUPER!!! i installed it with cloudfare as proxy and works perfectly!!!

So I was a user of the linuxserver tt-rss image, however it seems I’m going to have to switch over to this one as theirs was deprecated. Looking over the repo, it seems like the image is only compatible with postgresdb? I have an existing db on a mariadb host outside of my docker environment. What work would be required to use mariadb with your image? I’m not an expert but if someone wants to point me in the right direction I’m willing to try and test things out

linuxserver/ttrss image is a mess now, so today morning i moved to Awesome-TTRSS image by HenryQW, and in afternoon i saw @fox have his own “ttrss-docker-compose” and i quickly jumped on it because its has latest build.
to answer your question, follow /fox/ttrss-docker-compose its straight forward and it has postgres included, if you need mariadb just change pgsql to mariadb/user/pws/host in docker compose
love it, no more depending on third party images.
thank you @fox