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
docker-compose工程部署时的辅助脚本

okta-cmd Introduction docker-compose 辅助脚本

完美风暴666 4 Dec 09, 2021
Utilitaire de contrôle de Kubernetes

Utilitaire de contrôle de Kubernetes ** What is this ??? ** Every time we use a word in English our manager tells us to use the French translation of

Théophane Vié 9 Dec 03, 2022
Chartreuse: Automated Alembic migrations within kubernetes

Chartreuse: Automated Alembic SQL schema migrations within kubernetes "How to automate management of Alembic database schema migration at scale using

Wiremind 8 Oct 25, 2022
Nagios status monitor for your desktop.

Nagstamon Nagstamon is a status monitor for the desktop. It connects to multiple Nagios, Icinga, Opsview, Centreon, Op5 Monitor/Ninja, Checkmk Multisi

Henri Wahl 361 Jan 05, 2023
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
A charmed operator for running PGbouncer on kubernetes.

operator-template Description TODO: Describe your charm in a few paragraphs of Markdown Usage TODO: Provide high-level usage, such as required config

Canonical 1 Dec 01, 2022
This repository contains useful docker-swarm-tools.

docker-swarm-tools This repository contains useful docker-swarm-tools. swarm-guardian This Docker image is intended to be used in a multihost docker e

NeuroForge GmbH & Co. KG 4 Jan 12, 2022
Cross-platform lib for process and system monitoring in Python

Home Install Documentation Download Forum Blog Funding What's new Summary psutil (process and system utilities) is a cross-platform library for retrie

Giampaolo Rodola 9k Jan 02, 2023
Inferoxy is a service for quick deploying and using dockerized Computer Vision models.

Inferoxy is a service for quick deploying and using dockerized Computer Vision models. It's a core of EORA's Computer Vision platform Vision Hub that runs on top of AWS EKS.

94 Oct 10, 2022
Oncall is a calendar tool designed for scheduling and managing on-call shifts. It can be used as source of dynamic ownership info for paging systems like http://iris.claims.

Oncall See admin docs for information on how to run and manage Oncall. Development setup Prerequisites Debian/Ubuntu - sudo apt-get install libsasl2-d

LinkedIn 928 Dec 22, 2022
A little script and trick to make your heroku app run forever without being concerned about dyno hours.

A little script and trick to make your heroku app run forever without being concerned about dyno hours.

Tiararose Biezetta 152 Dec 25, 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
Coding For Entrepreneurs 100 Jan 01, 2023
Blazingly-fast :rocket:, rock-solid, local application development :arrow_right: with Kubernetes.

Gefyra Gefyra gives Kubernetes-("cloud-native")-developers a completely new way of writing and testing their applications. Over are the times of custo

Michael Schilonka 352 Dec 26, 2022
Flexible and scalable monitoring framework

Presentation of the Shinken project Welcome to the Shinken project. Shinken is a modern, Nagios compatible monitoring framework, written in Python. It

Gabès Jean 1.1k Dec 18, 2022
Caboto, the Kubernetes semantic analysis tool

Caboto Caboto, the Kubernetes semantic analysis toolkit. It contains a lightweight Python library for semantic analysis of plain Kubernetes manifests

Michael Schilonka 8 Nov 26, 2022
Ajenti Core and stock plugins

Ajenti is a Linux & BSD modular server admin panel. Ajenti 2 provides a new interface and a better architecture, developed with Python3 and AngularJS.

Ajenti Project 7k Jan 03, 2023
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
Visual disk-usage analyser for docker images

whaler What? A command-line tool for visually investigating the disk usage of docker images Why? Large images are slow to move and expensive to store.

Treebeard Technologies 194 Sep 01, 2022