Skip to main content

compose-watcher

Cli that restarts you docker compose services when a file inside one of its volumes changes Useful for faster developement with containers that expose behaviour based on mounted files To use with compiled languages place the compilation step in the command field.

Example usage

  • graphql api restart when schema file changes
  • graphql api mocks based on schema file ([https://github.com/remorses/graphql-easy-mocks](like this one))
  • Every container that generates code and exposes a server based on a config file
  • Nodejs container restarts when the src folder changes, recompiling with tsc
  • Mongoke restarts when config schema changes

Install

pip3 install compose-watcher

Usage

Use the directories you want to track as service volumes Also consider using init: true in the compose service definition for faster killing of processes. To not stop the docker-compose logs command, there should be always a running container

version: '3'

services:
  api:
    build: node_api
    command: sh -c 'tsc --incremental && node index.js'
    volumes:
      - ./node_api/src:/src

Then execute compose-watcher to watch changes

compose-watcher -f docker-compose.yml --timeout 5

TODO add extension filter TODO dont block the event receiving thread when restarting

How it works

After running the compose-watcher command all the volumes mounted on every service are tracked for change, when a change happens the service where the volume is mounted is restarted toghether with the services in the depends_on filed. Then the other services that have the restarted service as a dependency in depends_on are restarted too

Metadata

Release files for compose-watcher 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for compose-watcher 1.2.1
File Size Uploaded
compose-watcher-1.2.1.tar.gz 5.1 kB Details

Release files / compose-watcher-1.2.1.tar.gz

Download URL compose-watcher-1.2.1.tar.gz
Size 5.1 kB
Tags Source
SHA-256 checksum
How to use checksums
be99a6b9704b9c8fab05e3bbf2b949e6749f32e6abb6df8b6167e8940b76d967
BLAKE2b-256 checksum
How to use checksums
5ed992415dced40e311b9eb8170055e8207f0e296d530eaa9a07fdd9214f7404
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

Release history Release notifications | RSS feed

1.2.5

1 release file

1.2.4

1 release file

1.2.3

1 release file

1.2.2

1 release file

This release

1.2.1 This release

1 release file

1.1.5

1 release file

1.1.4

1 release file

1.1.3

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.0.2

1 release file

1.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page