deploy tool for egg projects
Clone or download
Latest commit 08f8ea9 Aug 10, 2018


deploy tool for egg project.

Note: Windows is partially supported, see #22


$ npm i egg-scripts --save


Add eggctl to package.json scripts:

  "scripts": {
    "start": "eggctl start --daemon",
    "stop": "eggctl stop"

Then run as:

  • npm start
  • npm stop

Note: egg-scripts is not recommended to install global, you should install and use it as npm scripts.



Start egg at prod mode.

$ eggctl start [options] [baseDir]
# Usage
# eggctl start --port=7001
# eggctl start ./server
  • Arguments
    • baseDir - directory of application, default to process.cwd().
  • Options
    • port - listening port, default to process.env.PORT, if unset, egg will use 7001 as default.
    • title - process title description, use for kill grep, default to egg-server-${APP_NAME}.
    • workers - numbers of app workers, default to process.env.EGG_WORKERS, if unset, egg will use os.cpus().length as default.
    • daemon - whether run at background daemon mode, don't use it if in docker mode.
    • framework - specify framework that can be absolute path or npm package, default to auto detect.
    • env - server env, default to process.env.EGG_SERVER_ENV, recommended to keep empty then use framwork default env.
    • stdout - customize stdout file, default to $HOME/logs/master-stdout.log.
    • stderr - customize stderr file, default to $HOME/logs/master-stderr.log.
    • timeout - the maximum timeout when app starts, default to 300s.
    • ignore-stderr - whether ignore stderr when app starts.
    • sourcemap / typescript / ts - provides source map support for stack traces.


Stop egg gracefull.

Note: if exec without --title, it will kill all egg process.

# stop egg
$ eggctl stop [--title=example]
  • Options
    • title - process title description, use for kill grep.