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_64orarm64
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.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wos_deploy-2.3.1.tar.gz | 65.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wos_deploy-2.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 141.7 kB
Release files / wos_deploy-2.3.1.tar.gz
| Download URL | wos_deploy-2.3.1.tar.gz |
|---|---|
| Size | 65.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1b01396dbd38a8f2bb7077d6f6c0b6f4d7b0e652f2b878b6d413538157fc43b2
|
|
BLAKE2b-256 checksum How to use checksums |
d0ddb5dbb7fec9acf70158e7a302da96e54c541f2d5de53d11a456cfe57afd01
|
| 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.1-py3-none-any.whl
| Download URL | wos_deploy-2.3.1-py3-none-any.whl |
|---|---|
| Size | 75.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e609ba7698bdb02cc98040c5d828258f8103d0894a14a1673a4b72a073bb36f8
|
|
BLAKE2b-256 checksum How to use checksums |
76027d2a0f36373f4d4f718e8696dbcf31c3763e0e4073b94469613c08b18b63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.11
|