Skip to content

Latest commit

 

History

History
79 lines (55 loc) · 2.9 KB

README.md

File metadata and controls

79 lines (55 loc) · 2.9 KB

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