Coder Social home page Coder Social logo

szapp / filen-photo-organizer-template Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 10 KB

Easy to use template for setting up automatic photo organization on Filen drive

Home Page: https://github.com/szapp/filen-photo-organizer

License: MIT License

filen-io filen-sdk github-actions github-template organizer photos filen

filen-photo-organizer-template's Introduction

Filen Photo Organizer

Automatically organize photo and camera uploads on your Filen.io drive.

Source template: szapp/filen-photo-organizer-template
Based on Github Action: szapp/filen-photo-organizer

Create your own

Use me

Click the link above to set up the photo organizer for your own filen.io drive with minimal effort.

Setup

1. Create a repository from this template by using the link above

2. Setup the login credentials as repository secrets

Head to the repository settings and navigate to the secrets and variables configuration, found in the section Security in Secrets and variables -> Actions

Create three repository secrets in the Secrets tab.

  • FILEN_EMAIL: Enter your filen.io account login email
  • FILEN_PASSWORD: Enter your filen.io account login password
  • FILEN_TFA: Enter your filen.io account two-factor authentication secret, not the generated OTP. This is secret is only needed if you have TFA set up

ℹī¸ Note Before submitting, make sure you are creating a secret (obscured) and not variable (plain text)!

3. Setup the configuration as repository variables

Switch to the Variables tab and create three repository variables.

  • ROOT_PATH: Enter the desired path to the photo directory in your filen.io drive
  • DIR_PATTERN: Enter a date-time pattern for the directory names to sort the photos into. If empty, no directories will be created and FILE_PATTERN must not be empty. Format, e.g. yyyy-MM places photos taken in the March 2024 into the sub-directory 2024-03
  • FILE_PATTERN: Enter a date-time pattern for renaming the files based on date-taken. If empty, files will not be renamed and DIR_PATTERN must not be empty. E.g. yyyy-MM-dd_HH.mm.ss renames a JPG photo taken on March 4th, 2024 at 21:15:12 to 2024-03-4_21.15.12.jpg
  • FALLBACK_TIME_ZONE: Enter your local time zone as TZ/IANA identifier, e.g. Europe/Berlin. This time zone will be used when no GPS metadata is found, to determine the local time a photo was taken. If omitted, defaults to Europe/Berlin.

4. Enjoy

Once the variables and secrets are properly configured, the photo directory will be organized periodically.

The Github workflow runs in intervals of every second hour between 5:00 and 22:00 UTC daily. This time range coincides well with day time in Central and Western European countries. If you live outside of Europe, you might want to update these values. You can adjust the schedule in the file .github/workflows/organize.yml.

The most frequent a scheduled GitHub workflow can run is every 5 minutes. However, with the monthly 2.000 computing minutes quota for free GitHub accounts and an estimated average run time of this workflow of 5 minutes at generous photographing, the proposed schedule here of every second hour during day time or less is highly recommended.

You can inspect the organization operations in the Actions tab in your repository in the section Workflows -> Organize photos.

Note for changing from V1 to V2

With the introduction of time-zone-aware time stamps, there are breaking changes in V2. Please update the time formats in DIR_PATTERN and FILE_PATTERN (if used) based on different date formatting. Additionally, a new GitHub variable was added to specify the user default time zone, see above.

Note for changing from V2 to V3

When updating from V2 to V3, update twoFactorCode into twoFactorSecret in the workflow file.

GitHub Action

For more information, visit the repository of the GitHub Action szapp/filen-photo-organizer.

filen-photo-organizer-template's People

Contributors

szapp avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤ī¸ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.