The engine behind every Phoxtail project.
Project description
Phoxtail
The engine behind every Phoxtail project.
Phoxtail is a CLI toolkit that automates the development and deployment workflow for Phoxtail projects — Docker configuration, environment setup, database operations, nginx, SSL, media sync, and more.
Requirements
- Python 3.11+
- uv (recommended) or pip
Installation
As a CLI tool
# Recommended: installs in an isolated environment
uv tool install phoxtail
# Or with pip/pipx
pip install phoxtail
For development
git clone git@github.com:phoxmor/phoxtail.git
cd phoxtail
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
Usage
Run phoxtail from the root of any Phoxtail project (where phoxtail.toml lives):
phoxtail --help
Commands
| Command | Description |
|---|---|
phoxtail docker up/down/restart |
Docker lifecycle management |
phoxtail docker create compose |
Generate docker-compose.yaml |
phoxtail docker create dockerfile |
Generate Dockerfile |
phoxtail env create |
Generate .env files (dev/production) |
phoxtail nginx create initial |
Nginx config for SSL certificate retrieval |
phoxtail nginx create production |
Nginx config with SSL/TLS |
phoxtail ssl obtain/renew |
SSL certificate management |
phoxtail db backup/restore |
Database backup and restore |
phoxtail db pull |
Pull database from remote server |
phoxtail media pull |
Sync media files from remote server |
phoxtail requirements compile |
Compile Python dependencies |
phoxtail manage <command> |
Run Django management commands |
phoxtail test |
Run the test suite |
phoxtail lint |
Run linting and formatting |
phoxtail version |
Show CLI version |
Project detection
Phoxtail detects projects by looking for phoxtail.toml in the current directory. This file declares the project name, Docker image prefix, database clusters, and their dependencies.
Development
Running tests
pytest
Project structure
phoxtail/
phoxtail/
__init__.py # Package version
__main__.py # CLI entry point (Typer app)
commands/ # Command modules
utils/ # Shared utilities (config, docker, env, templates)
templates/ # Jinja2 templates (Dockerfile, compose, nginx, env)
tests/ # Test suite
pyproject.toml
LICENSE
README.md
License
BSD 3-Clause. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file phoxtail-0.1.1.tar.gz.
File metadata
- Download URL: phoxtail-0.1.1.tar.gz
- Upload date:
- Size: 24.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"25.10","id":"questing","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87fd830699462da39be9fa9d747e346a0e7fe8fe70432b7be9b671e003da3246
|
|
| MD5 |
7681fe049a0a72c2c848cb9166e7f1b4
|
|
| BLAKE2b-256 |
e242b980c143ccd62040db4d503318d45e1e7142d7adfcd276fc5e8b1bbd68e7
|
File details
Details for the file phoxtail-0.1.1-py3-none-any.whl.
File metadata
- Download URL: phoxtail-0.1.1-py3-none-any.whl
- Upload date:
- Size: 31.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"25.10","id":"questing","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10661e0d232f66125eb7dbf3a07e0c60d4e2b392f4b0a6f8c1421bd7deb4fb0e
|
|
| MD5 |
5af4be789cb02de6d3e85b47e17eb8e0
|
|
| BLAKE2b-256 |
eacac345ddd27b9ead9b0010d9292aa86d3be3f79a363cd845ef655e4f2e3311
|