Skip to content
Switch branches/tags
This branch is 6 commits ahead of TheFox:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


A command-line interface to Flickr. Upload and download photos, photo sets, directories via shell.


  1. Clone from Github:

     git clone
  2. Install dependencies:

     composer install
  3. Go to to create a new API key. The first time you run ./bin/flickr-cli auth you'll be prompted to enter your new consumer key and secret.


First, get the access token:

./bin/flickr-cli auth


./bin/flickr-cli upload [-d DESCRIPTION] [-t TAG,...] [-s SET,...] DIRECTORY...


./bin/flickr-cli download -d DIRECTORY [SET...]

To download all photosets to directory photosets:

./bin/flickr-cli download -d photosets

Or to download only the photoset Holiday 2013:

./bin/flickr-cli download -d photosets 'Holiday 2013'

To download all photos into directories named by photo ID (and so which will not change when you rename albums or photos; perfect for a complete Flickr backup) you can use the --id-dirs option:

./bin/flickr-cli download -d flickr_backup --id-dirs

This creates a stable directory structure of the form destination_dir/hash/hash/photo-ID/ and saves the full original photo file along with a metadata.yml file containing all photo metadata. The hashes, which are the first two sets of two characters of the MD5 hash of the ID, are required in order to prevent a single directory from containing too many subdirectories (to avoid problems with some filesystems).

Usage of the Docker Image


To use this software within Docker follow this steps.

  1. Create a volume. This is used to store the configuration file for the auth step.

     docker volume create flickrcli
  2. Get the access token (it will create config.yml file in the volume).

     docker run --rm -it -u $(id -u):$(id -g) -v "$PWD":/mnt -v flickrcli:/data thefox21/flickr-cli auth

    or you can store the config.yml in your $HOME/.flickr-cli directory and use:

     mkdir $HOME/.flickr-cli
     docker run --rm -it -u $(id -u):$(id -g) -v "$PWD":/mnt -v "$HOME/.flickr-cli":/data thefox21/flickr-cli auth


Upload directory 2017.06.01-Spindleruv_mlyn full of JPEGs to Flickr:

docker run --rm -it -u $(id -u):$(id -g) -v "$PWD":/mnt -v flickrcli:/data thefox21/flickr-cli upload --config=/data/config.yml --tags "2017.06.01 Spindleruv_mlyn" --sets "2017.06.01-Spindleruv_mlyn" 2017.06.01-Spindleruv_mlyn

For Docker image troubleshooting you can use:

docker run --rm -it -u $(id -u):$(id -g) -v "$PWD":/mnt -v flickrcli:/data --entrypoint=/bin/bash thefox21/flickr-cli


  • /app - Main Application directory.
  • /data - Volume for variable data.
  • /mnt - Host system's $PWD.



Copyright (C) 2016 Christian Mayer

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see


A command-line interface to Flickr. Upload and download photos, photo sets, directories via shell.



No packages published