Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



50 Commits

Repository files navigation

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