Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Comic Feeds

This application creates feeds from comic feeds that include the images. It does this by crawling the linked pages for images.

Please see my blog post for more information on background and usage.


Dilbert has been removed due to current events relating to its author.

Example feeds

Easily Test with Docker

  1. Install Docker.
  2. Run docker run -e SELF_SERVE=1 --rm -it -p --name comicfeeds clbenard/comicfeeds:latest
  3. Open your web browser to to test.
  4. Press Ctrl+C to exit.
  5. To upgrade to the newest version:
    1. Press Ctrl+C to exit.
    2. Run docker pull clbenard/comicfeeds:latest
    3. Run the commands in this section again to restart the application.

Permanent Installation with Docker

  1. Install Docker.

  2. To control the start/stop with systemd, follow this article on how to create a systemd unit to start/manage your container.

  3. Replace instances of redis with comicfeeds in the first example.

  4. The last ExecStart= line should be:

    ExecStart=/usr/bin/docker run --rm -it -p --name %n clbenard/comicfeeds:latest

  5. After the Restart=always line, add the following line:


    This is necessary because if you have a fast failure, systemd will stop trying to restart your service.

  6. Configure your nginx or other web browser to proxy_pass all requests to the FPM running on your localhost's port 9001 you configured in step 4 (change this port if necessary).

  7. Open your web browser to your configured HTTPD's host/path with /view/dilbert/default to test.

  8. To upgrade to the newest version:

    1. Run systemctl restart [your systemd unit name here]

Custom Install Without Docker

  1. Download and install composer (dependency manager for PHP).

  2. Run composer install in the application directory to download dependencies into the vendor/ directory.

  3. Run composer dumpautoload -o in the application directory to generate autoload code for application classes.

  4. Run vendor/phpunit/phpunit/phpunit to execute all tests.

  5. Set up your PHP-FPM, Apache, etc to use the application's web directory as the root with index.php as the directory index.

  6. Create a cron entry to run scripts/fetch.php every 2 hours (or your desired schedule):

    * */2 * * * /path/to/app/scripts/fetch.php 2>&1


Pull requests are welcome, especially to include more comic providers. Please see the Penny-Arcade Service (single feed) for an example.


This software is licensed under the GPL. See for more information.


No description, website, or topics provided.







No releases published


No packages published