Skip to content

A utility to help detect file changes in docker containers where filesystem is mounted by NFS. It's much more powerful and faster than other similar solutions.

License

Notifications You must be signed in to change notification settings

cmuench/inotify-proxy

Repository files navigation

inotify-proxy

Maintenance Badge Go Report Card Go Github Action Workflow

This tools helps to detect changed files in Docker Containers or in Virtual Machines (e.g. Vagrant). If a file is changed from host system a file watcher inside the container detects the change and triggers an inotify event.

The tool is designed to run over a longer period of time. It comes with a garbage collector to cleanup old watched files in memory.

Installation is simple -> It's one binary which can be downloaded and executed.

Purpose

Enables file watcher in a Docker Container/Virtual Machine with a NFS mounted filesystem.

Installation

See Wiki page for more informations. https://github.com/cmuench/inotify-proxy/wiki/Installation

Usage

Usage of ./inotify-proxy:
  -no-config
        Do not load config.
  -profile string
        Defines a special profile with extensions to look for. This speeds up the process. Available profiles are 'magento2-theme' (default "default")
  -sleep int
        Cycle time in seconds. Defines time to sleep after each filesystem walk. Default 2s (default 2)

Examples

# Magento 2 Profile
./inotify-proxy -profile magento2 path/to/your/project

# Change frequence of file checks to 5s (default 2s)
./inotify-proxy -sleep 5 path/to/your/project

# Multiple pathes to watch ...
./inotify-proxy project/path1 project/path2 

Config

If the file inotify-proxy.yaml exist in the current working directory, it will be applied.

Example config:

---
watch:
- directory: /tmp/watch1
  profile: magento2

- directory: /tmp/watch2
  profile: sass

- directory: /tmp/watch3
  extensions: [.css, .html]

The profile setting is optional. The config loading can be skipped by adding the option -no-config.

Supported Profiles

Profile Allowed file extensions
default All extensions are allowed
javascript .js .ts
less .less
magento2 .css .html .less .sass .js .php .phtml .ts .xml
magento2-theme .css .hs .less .sass .ts
sass .sass .scss
vue-storefront .css .js .sass .ts

About

A utility to help detect file changes in docker containers where filesystem is mounted by NFS. It's much more powerful and faster than other similar solutions.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •