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.3.0.tar.gz (4.4 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.3.0-py3-none-any.whl (33.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: octopize_deploy_tool-0.3.0.tar.gz
  • Upload date:
  • Size: 4.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","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.3.0.tar.gz
Algorithm Hash digest
SHA256 5058b0f7abcd54073b27d9598c331e8916155fc6550857eb6bba14f290637d7b
MD5 fc18003f29bb2b42d92a92e70ec5acce
BLAKE2b-256 7fdfaa1548e62afcda0ecbb768d1ca5f466f2c255513c0abdfcd732292d2dd76

See more details on using hashes here.

File details

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

File metadata

  • Download URL: octopize_deploy_tool-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 33.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bf57cc699205245b47fe799dd4d8bd848363508209abd185cd621ff1c0871a43
MD5 358423051055ca6d56372100f3188ff6
BLAKE2b-256 fc03319b135d72ce5cc7c76c9abab235c5adca2a15902b206105a8915dd5bf19

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