Skip to main content

wos-deploy

wos-deploy — create and operate WOS server instances with Docker Compose on published wos-prod-s* images: a private ring, a global ring, or a tick-quote add-on (RFQ) instance with an optional realtime CTP feeder.

Requirements

  • Python 3.9+ (the tool is stdlib-only)
  • Docker Engine with the compose plugin (docker compose)
  • Linux or macOS host, x86_64 or arm64

Install

pip install wos-deploy
wos-deploy --version

wos is installed as a short alias of wos-deploy; every command below works with either name.

Quick start — a tick-quote add-on (RFQ) instance

wos-deploy setup-folder ./my-rfq --env prod --port-offset 37
cd my-rfq
wos-deploy setup-rfq -r --image-tag <tag-with-the-rfq-role>   # add --registry HOST:PORT for a private registry
wos-deploy deploy
wos-deploy config        # prints the storage-master and upload-web endpoints

--image-tag is required on every setup-* kind: there is no default tag, and only the tag you name is pulled (WOS_PRIMARY_IMAGE=<repository>:<tag> names the whole reference instead).

Ports are published on 127.0.0.1 by default (this host only). --publish-lan (all interfaces) or --bind ADDRESS opens them to other machines — including the database and the container's SSH; the tool warns and names them. An instance set up with 2.1 or earlier keeps publishing on all interfaces after the upgrade (recorded as WOS_BIND=0.0.0.0 in its .env with a one-line notice); set WOS_BIND=127.0.0.1 there and wos-deploy restart to move it to loopback.

With --enable_ctp (and --enable_secondary on an arm64 host) the realtime CTP feeder runs on an x64 service with your own CTP account; the inputs are stored only in ./rfq-ctp.env (mode 0600). See wos-deploy setup-rfq --help.

Quick start — a private ring

wos-deploy setup-folder ./my-ring --env prod --port-offset 3
cd my-ring
wos-deploy setup-private --wosgw <global-gateway-host>:<port> --image-tag <tag> -r
wos-deploy deploy

Commands

Command Description
wos-deploy setup-folder <name> Create a deployment folder
wos-deploy setup-private --wosgw H:P --image-tag T Configure a private ring (host arch auto-detected; --host-arch overrides)
wos-deploy setup-global --image-tag T Configure a global ring
wos-deploy setup-rfq Configure a tick-quote add-on instance
wos-deploy deploy [--skip-pull] Pull images and start services
wos-deploy re-setup Regenerate an instance's generated layer
wos-deploy restart [SERVICE] Restart services without reinitialising
wos-deploy shutdown [SERVICE] Stop services
wos-deploy status [-j] Container status
wos-deploy logs [-f] [SERVICE] Service logs
wos-deploy shell <SERVICE> Interactive shell in a container
wos-deploy config Resolved configuration (secrets masked)
wos-deploy rollback Return to the images of the previous deploy
wos-deploy reset Remove containers, volumes and state

Building from source

./build.sh --wheel-only     # dist/wos_deploy-<version>-py3-none-any.whl + sdist

Licence

Apache-2.0 (see LICENSE).

Metadata

Release files for wos-deploy 2.3.0

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

Source distribution (sdist)

Source distribution for wos-deploy 2.3.0
File Size Uploaded
wos_deploy-2.3.0.tar.gz 62.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wos-deploy 2.3.0
File Interpreter ABI Platform
wos_deploy-2.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 136.1 kB

Release files / wos_deploy-2.3.0.tar.gz

Download URL wos_deploy-2.3.0.tar.gz
Size 62.7 kB
Tags Source
SHA-256 checksum
How to use checksums
34529976b451b69f7d284db9eedaee48e7f378a8d424e84fc9a8cadcf97875eb
BLAKE2b-256 checksum
How to use checksums
fe8849e3cc014f4714d30ac33b44ddf79e1fa56371a20bad8202e1004ecd1346
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.11

Release files / wos_deploy-2.3.0-py3-none-any.whl

Download URL wos_deploy-2.3.0-py3-none-any.whl
Size 73.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
63d6f79f058aa06f40e3784fc0ad5bfa00f1da478e913b578bc9628b037b9aaa
BLAKE2b-256 checksum
How to use checksums
3f14069c9e13d8130817e712ad5eff4d06d74074411c92cca204a2c7ba61f462
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.11

Release history Release notifications | RSS feed

2.3.3

2 release files

2.3.2

2 release files

2.3.1

2 release files

This release

2.3.0 This release

2 release files

2.2.0

2 release files

2.1.0

2 release files

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