Skip to main content

Deployment configuration tool for Octopize Avatar platform

Project description

Octopize Avatar Deployment Tool

octopize-deploy-tool generates the configuration files needed to run the Octopize Avatar platform with Docker Compose. It can also generate component-specific .env files for local development workflows.

Installation

Install the published package:

pip install octopize-deploy-tool

Then verify the CLI is available:

octopize-deploy-tool --help

Quick Start

Generate a Docker deployment configuration interactively:

octopize-deploy-tool deploy --output-dir /app/avatar

Then start the deployment:

cd /app/avatar
docker compose down --volumes --remove-orphans
docker compose up -d

Commands

The CLI has two explicit subcommands:

octopize-deploy-tool deploy [options]
octopize-deploy-tool generate-env [options]

Running the CLI without a subcommand is not supported.

deploy

Use deploy to generate a full Docker Compose deployment.

Example:

octopize-deploy-tool deploy --output-dir /app/avatar

Common deploy options:

--output-dir DIR           Output directory for generated files
--config FILE              YAML configuration file to load
--non-interactive          Run without prompts, using config/defaults
--template-from PATH       Use a local template directory instead of the default source
--save-config              Save the resolved configuration to deployment-config.yaml
--verbose                  Show detailed progress output
--mode {production,dev}    Generate production or dev deployment assets

generate-env

Use generate-env to create per-component .env files for local development without generating the full deployment bundle.

Example:

octopize-deploy-tool generate-env \
  --component api \
  --api-output-path ./avatar-local/api/.env \
  --component web \
  --web-output-path ./avatar-local/web/.env

Common generate-env options:

--config FILE              YAML configuration file to load
--non-interactive          Run without prompts, using config/defaults
--template-from PATH       Use a local template directory instead of the default source
--verbose                  Show detailed progress output
--component NAME           Generate only the selected component (repeatable; defaults to all)
--api-output-path PATH     Override the API env output path for this run
--web-output-path PATH     Override the web env output path for this run
--python-client-output-path PATH
                           Override the python_client env output path for this run
--output-path COMPONENT=PATH
                           Repeatable generic output-path override
--target NAME              Load named URLs from the environments config section
--api-url URL              Override the API URL
--storage-url URL          Override the storage public URL
--sso-url URL              Override the SSO provider URL

Non-Interactive Usage

You can provide configuration through a YAML file:

PUBLIC_URL: avatar.example.com
ENV_NAME: prod
ORGANIZATION_NAME: MyCompany

Then run:

octopize-deploy-tool deploy \
  --output-dir /app/avatar \
  --config config.yaml \
  --non-interactive

Generated Files

The deploy command typically writes:

/app/avatar/
├── .env
├── docker-compose.yml
├── nginx/nginx.conf
├── authentik/
│   ├── octopize-avatar-blueprint.yaml
│   ├── custom-templates/
│   └── branding/
└── .secrets/

The generate-env command writes component env files directly to their resolved destinations, for example:

./avatar-local/
├── api/.env
└── web/.env

Typical Deployment Workflow

  1. Generate configuration:

    octopize-deploy-tool deploy --output-dir /app/avatar
    
  2. Review the generated files:

    cd /app/avatar
    cat .env
    ls -la .secrets/
    
  3. Add any required TLS certificates for production.

  4. Start the services:

    docker compose up -d
    
  5. Verify the deployment:

    docker compose ps
    docker compose logs -f
    

Troubleshooting

Templates fail to download or validate

Retry with verbose output:

octopize-deploy-tool deploy --output-dir /app/avatar --verbose

Existing containers cause bind-mount or startup issues

Clean up old containers and volumes before retrying:

docker compose down --volumes --remove-orphans
docker compose up -d

Further Information

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

octopize_deploy_tool-1.6.1.tar.gz (402.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

octopize_deploy_tool-1.6.1-py3-none-any.whl (60.7 kB view details)

Uploaded Python 3

File details

Details for the file octopize_deploy_tool-1.6.1.tar.gz.

File metadata

  • Download URL: octopize_deploy_tool-1.6.1.tar.gz
  • Upload date:
  • Size: 402.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for octopize_deploy_tool-1.6.1.tar.gz
Algorithm Hash digest
SHA256 41383772647e524932473ad09163c13dfc2a6afdb935dffe6f85c355ad9eb75a
MD5 231f375d136523103f51e1adee8df3b2
BLAKE2b-256 8407868d3e28ae3d46e35b29a41f76ab25a4bf57b4253e532afd8427040bc96d

See more details on using hashes here.

File details

Details for the file octopize_deploy_tool-1.6.1-py3-none-any.whl.

File metadata

  • Download URL: octopize_deploy_tool-1.6.1-py3-none-any.whl
  • Upload date:
  • Size: 60.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for octopize_deploy_tool-1.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e81cb4c468580eba519711c861d0ec0107395aeefe825dd961c7c6cfad7e09eb
MD5 1feb7277f69b57b2212aaf93b32592a8
BLAKE2b-256 9b17fd024cb2252f47256f5e2351efc6cd68b5e8d183da9c3ef433b6eb36e342

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page