Skip to main content

Deployment configuration tool for Octopize Avatar platform

Project description

Octopize Avatar Deployment Tool

Automated configuration tool for deploying Octopize Avatar platform using Docker Compose.

Quick Start

# Install
pip install octopize-avatar-deploy

# Run interactive configuration
octopize-avatar-deploy --output-dir /app/avatar

# Deploy
cd /app/avatar
docker compose down --volumes --remove-orphans  # Clean old containers if redeploying
docker compose up -d

Usage Options

Interactive Mode (Default)

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

Non-Interactive Mode

# Create config file
cat > config.yaml << EOF
PUBLIC_URL: avatar.example.com
ENV_NAME: prod
ORGANIZATION_NAME: MyCompany
EOF

# Run with config
octopize-avatar-deploy --output-dir /app/avatar --config config.yaml --non-interactive

Command Line Options

--output-dir DIR           Output directory (default: current directory)
--config FILE              YAML configuration file
--non-interactive          Non-interactive mode (requires config file)
--template-from PATH       Use local templates instead of downloading from GitHub
--save-config              Save configuration to deployment-config.yaml
--verbose                  Show detailed output

What Gets Generated

/app/avatar/
├── .env                            # Environment configuration
├── docker-compose.yml              # Docker services
├── nginx/nginx.conf                # Nginx config
├── authentik/
│   ├── octopize-avatar-blueprint.yaml
│   ├── custom-templates/           # Email templates
│   └── branding/                   # Logo, favicon, background
└── .secrets/                       # Generated secrets (22 files)

Deployment Steps

  1. Generate configuration:

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

    cd /app/avatar
    cat .env
    ls -la .secrets/
    
  3. Add TLS certificates (production):

    mkdir -p tls
    cp /path/to/fullchain.pem tls/
    cp /path/to/privkey.pem tls/
    
  4. Start services:

    docker compose down --volumes --remove-orphans
    docker compose up -d
    
  5. Verify deployment:

    docker compose ps
    docker compose logs -f
    curl https://avatar.example.com/api/health
    

Troubleshooting

"bind source path does not exist" error

Old containers from previous deployment. Solution:

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

Templates not downloading

rm -rf .avatar-templates/
octopize-avatar-deploy --output-dir /app/avatar --verbose

Development

# Clone
git clone https://github.com/octopize/avatar-deployment
cd avatar-deployment/deployment-tool

# Install dependencies
just install

# Run tests
just test-all

# Run locally
just run-interactive-local

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-0.7.0.tar.gz (5.2 MB 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-0.7.0-py3-none-any.whl (42.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: octopize_deploy_tool-0.7.0.tar.gz
  • Upload date:
  • Size: 5.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","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-0.7.0.tar.gz
Algorithm Hash digest
SHA256 5614306be78cb36298eb177a9a3c18b99167fef04c65f5cee0be6ac3dece5f49
MD5 00b932b68f6d2b67f0337e7bf977d62e
BLAKE2b-256 cdbf993d44d5cadeaf9a6ca97a2f91b5b43a13565b8bb43a8775169b1a5d1a3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: octopize_deploy_tool-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 42.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","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-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4f0565a77e7ffa5562a19df82fbbb64a4aeb2bc43bbab9035b9709e115525ffe
MD5 364e38456afa2fd26e6f78cd82297ba1
BLAKE2b-256 8d0f43e50e1f47b25fbd395db4bdc45579b3705b572a51c98ec0240cb2ff0358

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