Home
Softono

Feedbin Docker

Open source MIT Dockerfile
277
Stars
39
Forks
22
Issues
10
Watchers
3 years
Last Commit

 About Feedbin Docker

Self-host your own Feedbin RSS reader in Docker

Platforms

Web Self-hosted Docker

Languages

Dockerfile

Links

Need Help Installing Feedbin Docker?

We provide expert installation service for this software. Our team will install, configure, and secure Feedbin Docker on your server. plans start at just $30.

Feedbin Docker

View on GitHub

Feedbin in Docker

Self-host Feedbin with Docker. Feedbin is a web based RSS reader. It's an open-source Ruby on Rails software.

Feedbin's main goal is not to be easily self-hostable, and it was quite hard getting all of the services to work. During the process of creating feedbin-docker, I made a few contributions to the upstream project to make it self-hostable ready. Other have taken other approaches by forking it, but all the projects I found on GitHub were abandonned and weren't working anymore.

I chose to run it in Docker because of all the services required to run Feedbin.

Here is a breakdown of all the containers:

  • web: the puma rails app
  • workers: some of the sidekiq workers for background processing
  • refresher: sidekiq worker for refreshing feeds
  • image: sidekiq worker to find thumbnails
  • extract: nodejs service to extract article content from full web pages
  • camo: a node reverse proxy to prevent mixed content
  • minio: object storage for images, favicons, imports
  • redis: cache, store sidekiq queues and stats
  • memcached: cache
  • postgresql: database
  • elasticsearch: full text search
  • caddy: https-enabled reverse proxy

As you can see it's a lot. Technically, you can give up on a few of them without breaking Feedbin:

  • image: you won't have thumbnails, which is not that important depending on your appearance settings.
  • camo: your browser will make the requests directly to the websites. Less privacy and risk or mixed content.
  • elasticsearch: you won't have full text search

You can also replace caddy with another reverse proxy, but caddy is really handy.

Setup

I recommend a server with more than 2 GB of RAM. Otherwise you will likely have OOM kills.

Clone the repo:

git clone https://github.com/angristan/feedbin-docker.git
  • Copy .env.example to .env and fill ALL the variables
  • Copy docker-compose-example.yml to docker-compose.yml. If you want to disable a service this is the place.
  • Copy caddy/example.Caddyfile to caddy/Caddyfile and update the configuration if you need.

Run the database migrations:

docker-compose run --rm feedbin-web rake db:setup

Launch everything:

docker-compose up -d

You can check if everything is going well with docker-compose logs -f or docker-compose ps.

Now go to feedbin.domain.tld and create a new account. You're set!

You can make yourself an admin to manage users and to view the Sidekiq web interface.

To do so, run:

docker-compose exec feedbin-web rake feedbin:make_admin[[email protected]]

Once you're done, you can prevent new users from registering by modifying Caddy config and uncommenting the respond directive for /signup and /users routes.