Dockerized iCloud drive

Overview

iCloud-drive-docker Build Status codecov Docker Join the chat at https://gitter.im/mandarons/iCloud-drive-docker Buy Me A Coffee

iCloud-drive-docker is a simple iCloud drive client in Docker environment. It uses pyiCloud python library to interact with iCloud drive server.

Primary use case of iCloud-drive-docker is to periodically sync wanted or all of your iCloud drive contents, using your iCloud username and password.

Installation

Installation using Docker Hub

docker run --name icloud-drive -v ${PWD}/drive:/app/drive mandarons/icloud-drive 

Installation using docker-compose

version: "3.4"
services:
  icloud-drive:
    image: mandarons/icloud-drive
    container_name: icloud-drive
    restart: unless-stopped
    volumes:
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
      - ${PWD}/icloud-drive/config.yaml:/app/config.yaml
      - ${PWD}/icloud-drive/drive:/app/drive

Authentication (required after container creation)

docker exec -it icloud-drive /bin/sh -c "icloud --username="

Follow the steps to authenticate.

Sample Configuration File

credentials:
  # iCloud drive username: required
  username: [email protected]
  # iCloud drive password: optional
  password:
settings:
  # Auto-sync interval in seconds: optional, default: 1800
  sync_interval: 1800
  # Destination to sync: required
  destination: './drive'
  # Flag if remove files/folders that are present locally but not on iCloud server: optional, default: false
  remove_obsolete: false
  # Verbosity of messages: optional, default: false
  verbose: false
filters:
  # Paths to be 'included' in syncing iCloud drive content
  folders:
    - Documents
  file_extensions:
    # File extensions to be included in syncing iCloud drive content
    - pdf
    - png
    - jpg
    - jpeg

Note: On every sync, this client iterates all the files and folders. Depending on number of files in your iCloud drive, syncing can take longer.

Comments
  • Some already downloaded files are downloading again on every pass...

    Some already downloaded files are downloading again on every pass...

    First things first... Thanks so much @mandarons, this project is what I've looking for since years... I appreciate so much your efforts on this...

    Describe the bug Some files are downloaded on every pass, even if the file already exists and no changes have occurred on it... Usually this issue is related to MacOS packages, which are downloaded as a file, instead of as a directory, but I have also noticed that it applies to many photos...

    To Reproduce In my case, this behavior seems to be always the same, although I'm not sure you know which files it occurs with and which it doesn't.

    Expected behavior I expect not to download any file if it is already downloaded and it has not changed...

    Screenshots You can see some examples on "icloud.log" where unmodified files are downloaded several times (PHOTOS sync_interval is lower than DRIVE one):

    /app # more icloud.log |grep LOGO-Contacto
    2022-02-26 17:02:56,650 :: INFO :: root :: sync_drive.py :: 90 :: Downloading /app/icloud/drive/Pixelmator/LOGO-Contacto.pxm ...
    2022-02-27 10:33:47,321 :: INFO :: root :: sync_drive.py :: 90 :: Downloading /app/icloud/drive/Pixelmator/LOGO-Contacto.pxm ...
    2022-02-28 04:38:14,972 :: INFO :: root :: sync_drive.py :: 90 :: Downloading /app/icloud/drive/Pixelmator/LOGO-Contacto.pxm ...
    /app # ls -la /app/icloud/drive/Pixelmator/LOGO-Contacto.pxm 
    ----------    1 root     root        899758 Sep 21  2018 /app/icloud/drive/Pixelmator/LOGO-Contacto.pxm
    
    /app # more icloud.log |grep "Imagen 175.JPG"
    2022-02-26 23:20:18,431 :: INFO :: root :: sync_photos.py :: 37 :: Downloading /app/icloud/photos/all/Imagen 175.JPG ...
    2022-02-26 23:47:35,904 :: INFO :: root :: sync_photos.py :: 37 :: Downloading /app/icloud/photos/all/Imagen 175.JPG ...
    2022-02-27 00:59:13,071 :: INFO :: root :: sync_photos.py :: 37 :: Downloading /app/icloud/photos/all/Imagen 175.JPG ...
    2022-02-27 17:27:57,205 :: INFO :: root :: sync_photos.py :: 37 :: Downloading /app/icloud/photos/all/Imagen 175.JPG ...
    2022-02-27 17:50:31,021 :: INFO :: root :: sync_photos.py :: 37 :: Downloading /app/icloud/photos/all/Imagen 175.JPG ...
    2022-02-27 18:41:28,510 :: INFO :: root :: sync_photos.py :: 37 :: Downloading /app/icloud/photos/all/Imagen 175.JPG ...
    2022-02-28 10:42:34,244 :: INFO :: root :: sync_photos.py :: 37 :: Downloading /app/icloud/photos/all/Imagen 175.JPG ...
    2022-02-28 11:05:29,406 :: INFO :: root :: sync_photos.py :: 37 :: Downloading /app/icloud/photos/all/Imagen 175.JPG ...
    2022-02-28 11:56:30,420 :: INFO :: root :: sync_photos.py :: 37 :: Downloading /app/icloud/photos/all/Imagen 175.JPG ...
    /app # ls -la "/app/icloud/photos/all/Imagen 175.JPG"
    ----------    1 root     root        735560 Mar 13  2011 /app/icloud/photos/all/Imagen 175.JPG
    

    Configuration My config YAML is:

    app:
      logger:
        level: "info"
        filename: "icloud.log"
      credentials:
        username: "MY-ID"
        retry_login_interval: 600
      root: "icloud"
      smtp:
    drive:
      destination: "drive"
      remove_obsolete: true
      sync_interval: 3000
      filters:
        folders:
        file_extensions:
    photos:
      destination: "photos"
      remove_obsolete: true
      sync_interval: 300
      filters:
        albums:
        file_sizes:
          - "original"
    
    bug 
    opened by andressoler 35
  • [BUG] mounting error

    [BUG] mounting error

    Describe the bug

    -v '/mnt/user/appdata/icloud-drive-sync/config.yaml':'/app/config.yaml':'rw' -v '/mnt/user/icloud-drive-sync/':'/app/icloud/':'rw' --restart always 'mandarons/icloud-drive'
    63a2034e9070c6f14422ee29112f6ca48ea8d28146184a4c26d01d94866301da
    docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:75: mounting "/mnt/user/appdata/icloud-drive-sync/config.yaml" to rootfs at "/app/config.yaml" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.
    

    To Reproduce It appears on Unraid

    Screenshots Capture d’écran 2022-08-16 à 23 05 27

    bug 
    opened by isaaccs 20
  • [BUG] Crash with KeyError: 'data_token'

    [BUG] Crash with KeyError: 'data_token'

    I tried to use newest version published and successfully authenticated and started downloading all files in Documents folder, then suddenly icloud crashed on sync:

    icloud-drive    | No changes detected. Skipping the file /app/drive/Documents/for_blog_post/Figure_1.png
    icloud-drive    | No changes detected. Skipping the file /app/drive/Documents/Foundation Ontologies for Distributed Multi-Agent systems/Screenshot 2020-02-11 at 09.55.18.png
    icloud-drive    | No changes detected. Skipping the file /app/drive/Documents/Foundation Ontologies for Distributed Multi-Agent systems/Screenshot 2020-02-11 at 10.00.59.png
    icloud-drive    | No changes detected. Skipping the file /app/drive/Documents/Foundation Ontologies for Distributed Multi-Agent systems/Screenshot 2020-02-11 at 10.05.13.png
    icloud-drive    | No changes detected. Skipping the file /app/drive/Documents/Foundation Ontologies for Distributed Multi-Agent systems/Screenshot 2020-02-11 at 10.10.45.png
    icloud-drive    | No changes detected. Skipping the file /app/drive/Documents/Foundation Ontologies for Distributed Multi-Agent systems/Screenshot 2020-02-11 at 10.22.21.png
    icloud-drive    | No changes detected. Skipping the file /app/drive/Documents/Foundation Ontologies for Distributed Multi-Agent systems/Screenshot 2020-02-11 at 10.26.28.png
    icloud-drive    | No changes detected. Skipping the file /app/drive/Documents/Foundation Ontologies for Distributed Multi-Agent systems/Screenshot 2020-02-11 at 10.34.40.png
    icloud-drive    | Downloading /app/drive/Documents/Foundation Ontologies for Distributed Multi-Agent systems.md ...
    icloud-drive    | Downloading /app/drive/Documents/Foundation Ontologies for Distributed Multi-Agent systems.textbundle ...
    icloud-drive    | Traceback (most recent call last):
    icloud-drive    |   File "/app/./src/main.py", line 6, in <module>
    icloud-drive    |     sync.sync_drive()
    icloud-drive    |   File "/app/src/sync.py", line 159, in sync_drive
    icloud-drive    |     sync_directory(drive=api.drive, destination_path=destination_path, root=destination_path,
    icloud-drive    |   File "/app/src/sync.py", line 136, in sync_directory
    icloud-drive    |     files.update(sync_directory(drive=item, destination_path=new_folder, items=item.dir(), root=root,
    icloud-drive    |   File "/app/src/sync.py", line 141, in sync_directory
    icloud-drive    |     process_file(item=item, destination_path=destination_path,
    icloud-drive    |   File "/app/src/sync.py", line 102, in process_file
    icloud-drive    |     download_file(item=item, local_file=local_file, verbose=verbose)
    icloud-drive    |   File "/app/src/sync.py", line 82, in download_file
    icloud-drive    |     with item.open(stream=True) as response:
    icloud-drive    |   File "/usr/local/lib/python3.9/site-packages/pyicloud/services/drive.py", line 270, in open
    icloud-drive    |     return self.connection.get_file(self.data["docwsid"], **kwargs)
    icloud-drive    |   File "/usr/local/lib/python3.9/site-packages/pyicloud/services/drive.py", line 58, in get_file
    icloud-drive    |     url = response.json()["data_token"]["url"]
    icloud-drive    | KeyError: 'data_token'
    
    bug 
    opened by AlexMikhalev 16
  • [BUG] Error during 2FA authentification

    [BUG] Error during 2FA authentification

    Describe the bug After execting the login command given in README.md

    docker exec -it icloud /bin/sh -c "icloud --username=xxxx --session-directory=/app/session_data"
    

    The following error shows:

    [email protected]:/volume1/docker/icloud-drive$ sudo docker exec -it icloud /bin/sh -c "icloud [email protected] --session-directory=/app/session_data"
    Enter iCloud password for [email protected]:
    Traceback (most recent call last):
      File "/app/venv/bin//icloud", line 8, in <module>
        sys.exit(main())
      File "/app/venv/lib/python3.9/site-packages/icloudpy/cmdline.py", line 207, in main
        api = ICloudPyService(
      File "/app/venv/lib/python3.9/site-packages/icloudpy/base.py", line 273, in __init__
        self.authenticate()
      File "/app/venv/lib/python3.9/site-packages/icloudpy/base.py", line 344, in authenticate
        self._webservices = self.data["webservices"]
    KeyError: 'webservices'
    

    To Reproduce Steps to reproduce the behavior:

    1. Execute the command above.
    2. See error

    Configuration If applicable, please share the configuration details

    docker-compose.yaml:

    version: "3.4"
    services:
      icloud:
        image: mandarons/icloud-drive
        environment:
          - PUID=1026
          - GUID=100
        env_file:
          - /volume1/docker/icloud-drive/.env.icloud
        container_name: icloud
        restart: unless-stopped
        volumes:
          - /volume1/docker/icloud-drive/config.yaml:/app/config.yaml
          - /volume2/Onedrive/icloud:/app/icloud/drive
          - /volume1/docker/icloud-drive/session_data:/app/session_data
    

    config.yaml:

    app:
      logger:
        # level - debug, info (default), warning or error
        level: "info"
        # log filename icloud.log (default)
        filename: "icloud.log"
      credentials:
        # iCloud drive username
        username: "[email protected]"
        # Retry login interval - default is 10 minutes
        retry_login_interval: 600
      # Drive destination
      root: "icloud"
      smtp:
        ...
    drive:
      destination: "drive"
      remove_obsolete: false
      sync_interval: 300
    
    bug Stale 
    opened by xiaotianxt 15
  • Hang during drive downloads

    Hang during drive downloads

    Describe the bug The sync process consistently hangs during downloading large Drive objects. The log outputs "Downloading [file name]..." but never returns or prints other output, even after waiting hours. The Docker task continues to run, however. Small files preceding the large file download fine.

    Configuration Latest commit from the Git repo. Docker version 20.10.12, build e91ed57.

    I also tried cloning the repo and adding additional lines of verbose output to identify exactly where the download hangs. The code enters the copyfileobj call on line 100 but does not return from it.

    bug help wanted Stale 
    opened by edsw 11
  • iCloud Application Folders Do Not Sync

    iCloud Application Folders Do Not Sync

    Describe the bug Application folders do not sync, root folders are created but no sub folders or files are downloaded.

    To Reproduce Steps to reproduce the behavior:

    1. For instance, a note taking app like Obsidian creates an application folder on iCloud Drive to have all your notes synced across all devices.
    2. In the configuration, comment out any and all include folder or include files so it syncs everything.
    3. Folders get created but there are no contents, empty root folder Obsidian.

    Expected behavior Should recursively download and sync all files, including application specific folders.

    Screenshots Screenshot of an iCloud Application folder, for example Obsidian: 2D107BC4-0B74-4056-A022-A8DAE1F7E7F5

    Screenshot of Docker iCloud data output folder: 4B372B31-350A-4F71-AF00-5010EC921AE6

    bug good first issue blocked-upstream 
    opened by RusticPotatoes 10
  • Fix same names of photos, save all albums, fix package with remove_obsolete

    Fix same names of photos, save all albums, fix package with remove_obsolete

    See issue 98, 99 and 100.

    It could be improved by adding hash to filename only when there's conflict.

    I skip "All albums" folder because in my case all photos belongs to (at least) one folder.

    opened by tymmej 6
  • Error when syncing

    Error when syncing

    This looks like a promising project that I would really like to get working. I installed per the readme. Getting the following error when attempting to sync:

    Traceback (most recent call last): File "/app/./src/main.py", line 6, in sync.sync() File "/app/src/sync.py", line 28, in sync config=config, photos=api.photos, verbose=verbose File "/app/venv/lib/python3.9/site-packages/icloudpy/base.py", line 578, in photos self._photos = PhotosService(service_root, self.session, self.params) File "/app/venv/lib/python3.9/site-packages/icloudpy/services/photos.py", line 147, in init request = self.session.post( File "/app/venv/lib/python3.9/site-packages/requests/sessions.py", line 577, in post return self.request('POST', url, data=data, json=json, **kwargs) File "/app/venv/lib/python3.9/site-packages/icloudpy/base.py", line 158, in request self._raise_error(code, reason) File "/app/venv/lib/python3.9/site-packages/icloudpy/base.py", line 176, in _raise_error raise api_error icloudpy.exceptions.ICloudPyServiceNotActivatedException: Please log into https://icloud.com/ to manually finish setting up your iCloud service (ZONE_NOT_FOUND)

    Any help would be greatly appreciated!

    awaiting-info Stale 
    opened by BrodyBuster 4
  • [BUG] KeyError: 'medium' in photo_exists

    [BUG] KeyError: 'medium' in photo_exists

    Describe the bug An error occurs during the process_photo routine. Other files seem to download fine.

    2022-01-24T23:39:33.858349778Z Traceback (most recent call last):
    2022-01-24T23:39:33.858359179Z   File "/app/./src/main.py", line 6, in <module>
    2022-01-24T23:39:33.858424680Z     sync.sync()
    2022-01-24T23:39:33.858433902Z   File "/app/src/sync.py", line 25, in sync
    2022-01-24T23:39:33.858492048Z     sync_photos.sync_photos(
    2022-01-24T23:39:33.858503176Z   File "/app/src/sync_photos.py", line 83, in sync_photos
    2022-01-24T23:39:33.858555230Z     sync_album(
    2022-01-24T23:39:33.858562917Z   File "/app/src/sync_photos.py", line 68, in sync_album
    2022-01-24T23:39:33.858621337Z     process_photo(photo, file_size, destination_path, verbose)
    2022-01-24T23:39:33.858634493Z   File "/app/src/sync_photos.py", line 56, in process_photo
    2022-01-24T23:39:33.858673947Z     if photo_exists(photo, file_size, photo_path, verbose=verbose):
    2022-01-24T23:39:33.858684174Z   File "/app/src/sync_photos.py", line 27, in photo_exists
    2022-01-24T23:39:33.858743616Z     remote_size = int(photo.versions[file_size]["size"])
    2022-01-24T23:39:33.858753439Z KeyError: 'medium'
    

    Configuration Standard config, with file_sizes set to original & medium.

    bug 
    opened by jeff47 4
  • [FEATURE] Ignore Files

    [FEATURE] Ignore Files

    Use case I have some projects in my iCloud documents with .git and node_module folders that i don't really need to sync.

    Describe the solution you'd like Add an ignore to the yml. Allow direct paths or asterisks eg,

    ignore:
      - */node_modules # ignore node modules
      - /projects/examples/.git # ignore specific git folder
    
    new feature good first issue Stale 
    opened by reedhaffner 3
  • [FEATURE] Optionally pass password from environment variable

    [FEATURE] Optionally pass password from environment variable

    Use case As a user, I want to pass password through environment variable ICLOUD_PASSWORD so that I don't have to enter it manually.

    Describe the solution you'd like Ability to pass password through environment variable in container

    Describe alternatives you've considered Passing through config.yaml. Generally environment variables are considered as more secure than plain-text files.

    Additional context None

    new feature 
    opened by mandarons 2
  • [BUG] Removed files from package when remove_obsolete: true

    [BUG] Removed files from package when remove_obsolete: true

    Describe the bug Files from unpacked package are deleted at end of sync.

    To Reproduce Do normal sync_drive with remove_obsolete: true

    Expected behavior Files from package are not removed

    Screenshots Screenshot_20221116_101819

    Configuration remove_obsolete: true

    Sync all folders

    bug 
    opened by tymmej 1
  • [FEATURE] Downloads photos while maintaining photo albums

    [FEATURE] Downloads photos while maintaining photo albums

    Use case I want to backup all photos but also preserve albums structure.

    Describe the solution you'd like When not providing filter and providing extra flag docker should backup photos not to all folder but according to album structure. It would be nice if docker would support nested albums as nested folders. Otherwise it can create flat folder structure replacing / with -, eg. Folder-Subfolder/[photos inside] instead of Folder/Subfolder/[photos inside].

    Describe alternatives you've considered I do not see any :(

    Additional context Photo albums are available as filters so it should be doable. Maybe if providing filter as * it should copy all?

    eg.

    if filters["albums"]:
        if filters["albums"] == ["*"]:
            for album in photos.albums:
                sync_album(
                    album=photos.albums[album],
                    destination_path=os.path.join(destination_path, album),
                    file_sizes=filters["file_sizes"],
                )
        else:
           old code path
    
    opened by tymmej 0
  • [BUG] Inifinite overwrite when photos has same names

    [BUG] Inifinite overwrite when photos has same names

    Describe the bug Photo Library can contain multiple photos with same @property filename. Eg. default names IMG_xyza.HEIC when using multiple phones.

    To Reproduce Add photos with same names to library and run docker image. You will see three things:

    1. number of downloaded files is different than in iCloud
    2. docker constantly downloads same files
    3. number of downloaded files is constant

    Expected behavior Docker downloads different files even if filenames are same. It should use @property id to differentiate photos.

    Screenshots Screenshot_20221114_111059 Configuration Backup all photos

    Additional context None

    bug good first issue 
    opened by tymmej 0
  • [FEATURE] support for parallel downloads

    [FEATURE] support for parallel downloads

    Use case As a user, I want to download the entire content of my iCloud account to have a local backup. This means, as I own a 2TB account, I have to potentially download a lot of files and pictures. Unfortunately, this tool executes the file download sequentially which causes the sync job to last weeks.

    Describe the solution you'd like I would like to enable parallel downloads of files. This would shorten the script run time and allow a more frequent sync.

    Describe alternatives you've considered I could think of having different folders with different synchronisation times, to allow frequent updates for folders with frequent changes and sporadic updates for folders I use less.

    But this solution is very cumbersome and forces me to decide beforehand which folders I want to keep synchronised more and less often.

    new feature good first issue 
    opened by Mrc527 1
  • photos extention filter

    photos extention filter

    I've tried the file extention filter on the photos part, but it doesn't seem to work. Could it be extended to that also as my wife takes a billion screenshot of "stuff" and I don't want to waste storage on these? Basically I want to filter out the png files.

    Thanks so much for this project, it is awesome.

    Cheers.

    new feature good first issue 
    opened by 4ordy 0
Releases(v1.9.1)
  • v1.9.1(Jul 24, 2022)

    What's Changed

    1. Packages are now extracted by default and unexpected re-downloading has been fixed (Fixes #76)
    2. Added support for iCloud China server iCloud.com.cn users (Fixes #78) 2.1 Added new configuration option region: <global or china> in config.yaml file 2.2 Updated documentation
    3. Added debug log messages for more information when file and photo is downloaded (#77)
    4. Corrected email body to have right docker exec command (#77)

    Full Changelog: https://github.com/mandarons/icloud-drive-docker/compare/v1.9.0...v1.9.1

    Source code(tar.gz)
    Source code(zip)
  • v1.9.0(Feb 21, 2022)

    What's Changed

    • Password as environment variable - ENV_ICLOUD_PASSWORD by @mandarons in https://github.com/mandarons/icloud-drive-docker/pull/70
    • persist session outside container by @mandarons in https://github.com/mandarons/icloud-drive-docker/pull/71
    • Default log level is now info, upgraded icloudpy==0.3.0 by @mandarons in https://github.com/mandarons/icloud-drive-docker/pull/73
    • added optional to email in smtp config by @mandarons in https://github.com/mandarons/icloud-drive-docker/pull/74
    • documentation for 1.9.0 by @mandarons in https://github.com/mandarons/icloud-drive-docker/pull/75

    Full Changelog: https://github.com/mandarons/icloud-drive-docker/compare/v1.8.1...v1.9.0

    Source code(tar.gz)
    Source code(zip)
  • v1.8.1(Feb 15, 2022)

    What's Changed

    • Introduces wait before retrying login again by @mandarons in https://github.com/mandarons/icloud-drive-docker/pull/68
    • added retry_login_interval delay when retrying missing password by @mandarons in https://github.com/mandarons/icloud-drive-docker/pull/69

    Full Changelog: https://github.com/mandarons/icloud-drive-docker/compare/v1.8.0...v1.8.1

    Source code(tar.gz)
    Source code(zip)
  • v1.8.0(Feb 14, 2022)

    What's Changed

    Features

    • Logging to file and console by @mandarons in https://github.com/mandarons/icloud-drive-docker/pull/61
    • Fixes #54 Enabled separate sync_interval for photos and drive by @mandarons in https://github.com/mandarons/icloud-drive-docker/pull/64

    Bug Fixes

    • Fixes #63 - number in folder name is not interpreted as string by @mandarons in https://github.com/mandarons/icloud-drive-docker/pull/65

    Other

    • workflow updates for requirements.txt changes by @mandarons in https://github.com/mandarons/icloud-drive-docker/pull/56
    • Tests refactored and verbose option removed by @mandarons in https://github.com/mandarons/icloud-drive-docker/pull/62

    Full Changelog: https://github.com/mandarons/icloud-drive-docker/compare/v1.7.1...v1.8.0

    Source code(tar.gz)
    Source code(zip)
  • v1.7.1(Jan 28, 2022)

    What's Changed

    • #50 Fixes bug of application failure if photo file_size is missing; by @mandarons in https://github.com/mandarons/icloud-drive-docker/pull/51
    • #52 don't download photos and drive unless explicitly specified in config.yaml by @mandarons in https://github.com/mandarons/icloud-drive-docker/pull/53
    • #11 Upgraded icloudpy to 0.2.1 by @mandarons in https://github.com/mandarons/icloud-drive-docker/pull/55

    Full Changelog: https://github.com/mandarons/icloud-drive-docker/compare/v1.7.0...v1.7.1

    Source code(tar.gz)
    Source code(zip)
  • v1.7.0(Jan 23, 2022)

  • v1.6.0(Jan 15, 2022)

  • v1.5.0(Aug 12, 2021)

    • Support for ARM architecture (linux/arm64 and linux/arm/7)
    • Heavily optimized docker images for size - going from 411.1 MB to 23.93 MB!
    • Moved CI/CD fully to GitHub Actions (internal)
    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(Jul 26, 2021)

  • v1.3.0(May 25, 2021)

  • v1.2.0(Apr 17, 2021)

  • v1.1.1(Apr 9, 2021)

  • v1.1.0(Apr 3, 2021)

    Features

    • file_extensions in config file is now optional - allows syncing of all the content recursively #8
    • Fixed verbose mode not displaying all the information
    Source code(tar.gz)
    Source code(zip)
Owner
Mandar Patil
Being lazy...
Mandar Patil
Lima is an alternative to using Docker Desktop on your Mac.

lima-xbar-plugin Table of Contents Description Installation Dependencies Lima is an alternative to using Docker Desktop on your Mac. Description This

Joe Block 68 Dec 22, 2022
Play Wordle from any Kubernetes cluster.

wordle-operator 🟩 ⬛ 🟩 🟨 ⬛ Play Wordle from any Kubernetes cluster. Using the power of CustomResourceDefinitions and Kubernetes Operators, now you c

Lucas Melin 1 Jan 15, 2022
Let's Git - Version Control & Open Source Homework

Let's Git - Version Control & Open Source Homework Welcome to this homework for our MOOC: Let's Git! We hope you will learn a lot and have fun working

1 Dec 05, 2021
RMRK spy bot for RMRK hackathon

rmrk_spy_bot RMRK spy bot https://t.me/RMRKspyBot for rmrk hacktoberfest https://rmrk.devpost.com/ Birds and items price and rarity estimation Reports

Victor Ryabinin 2 Sep 06, 2022
Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:

Latest Salt Documentation Open an issue (bug report, feature request, etc.) Salt is the world’s fastest, most intelligent and scalable automation engi

SaltStack 12.9k Jan 04, 2023
Autoscaling volumes for Kubernetes (with the help of Prometheus)

Kubernetes Volume Autoscaler (with Prometheus) This repository contains a service that automatically increases the size of a Persistent Volume Claim i

DevOps Nirvana 142 Dec 28, 2022
Micro Data Lake based on Docker Compose

Micro Data Lake based on Docker Compose This is the implementation of a Minimum Data Lake

Abel Coronado 15 Jan 07, 2023
This projects provides the documentation and the automation(code) for the Oracle EMEA WLA COA Demo UseCase.

COA DevOps Training UseCase This projects provides the documentation and the automation(code) for the Oracle EMEA WLA COA Demo UseCase. Demo environme

Cosmin Tudor 1 Jan 28, 2022
pyinfra automates infrastructure super fast at massive scale. It can be used for ad-hoc command execution, service deployment, configuration management and more.

pyinfra automates/provisions/manages/deploys infrastructure super fast at massive scale. It can be used for ad-hoc command execution, service deployme

Nick Barrett 2.1k Dec 29, 2022
Emissary - open source Kubernetes-native API gateway for microservices built on the Envoy Proxy

Emissary-ingress Emissary-Ingress is an open-source Kubernetes-native API Gateway + Layer 7 load balancer + Kubernetes Ingress built on Envoy Proxy. E

Emissary Ingress 4k Dec 31, 2022
Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems.

Glances - An eye on your system Summary Glances is a cross-platform monitoring tool which aims to present a large amount of monitoring information thr

Nicolas Hennion 22k Jan 08, 2023
Tools and Docker images to make a fast Ruby on Rails development environment

Tools and Docker images to make a fast Ruby on Rails development environment. With the production templates, moving from development to production will be seamless.

1 Nov 13, 2022
Cobbler is a versatile Linux deployment server

Cobbler Cobbler is a Linux installation server that allows for rapid setup of network installation environments. It glues together and automates many

Cobbler 2.4k Dec 24, 2022
Deploying a production-ready Django project using Nginx and Gunicorn

django-nginx-gunicorn This project is for deploying a production-ready Django project using Nginx and Gunicorn. Running a local server of Django is no

Arash Sayareh 8 Jul 03, 2022
docker-compose工程部署时的辅助脚本

okta-cmd Introduction docker-compose 辅助脚本

完美风暴666 4 Dec 09, 2021
DataOps framework for Machine Learning projects.

Noronha DataOps Noronha is a Python framework designed to help you orchestrate and manage ML projects life-cycle. It hosts Machine Learning models ins

52 Oct 30, 2022
Dockerized service to backup all running database containers

Docker Database Backup Dockerized service to automatically backup all of your database containers. Docker Image Tags: docker.io/jandi/database-backup

Jan Dittrich 16 Dec 31, 2022
A colony of interacting processes

NColony Infrastructure for running "colonies" of processes. Hacking $ tox Should DTRT -- if it passes, it means unit tests are passing, and 100% cover

23 Apr 04, 2022
A tool to convert AWS EC2 instances back and forth between On-Demand and Spot billing models.

ec2-spot-converter This tool converts existing AWS EC2 instances back and forth between On-Demand and 'persistent' Spot billing models while preservin

jcjorel 152 Dec 29, 2022
Repository tracking all OpenStack repositories as submodules. Mirror of code maintained at opendev.org.

OpenStack OpenStack is a collection of interoperable components that can be deployed to provide computing, networking and storage resources. Those inf

Mirrors of opendev.org/openstack 4.6k Dec 28, 2022