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.10.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.10.0-py3-none-any.whl (43.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: octopize_deploy_tool-0.10.0.tar.gz
  • Upload date:
  • Size: 5.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","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.10.0.tar.gz
Algorithm Hash digest
SHA256 8b724fd2a0c4de2b95327e4b83cc77894e31e1112ecae4a1e6d09a2b21269f8a
MD5 955828f6b3af365ec1dbded3b25a1c61
BLAKE2b-256 da9bc004820618ce59eaa804f0064943f355a34702d35e1b3cfa2508decff287

See more details on using hashes here.

File details

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

File metadata

  • Download URL: octopize_deploy_tool-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 43.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","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.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0d5d1b699951f5d777c291c7d442a0d2b965ccfa0bfec0f52241ab2a34ce5334
MD5 5f344788d2858e06397d85db2f71f2c2
BLAKE2b-256 6de479171f5039dcaa01ec0e2342e23093f0a8bd317aa6287a505c05fc3cd55b

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