EchoPhase is a platform for managing bots and integrating with various API services. It allows you to easily automate tasks, connect different services, and manage the bot lifecycle.
This project uses just as a command runner for Docker operations.
Install just:
# macOS
brew install just
# Linux
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/local/bin
# Windows
scoop install justShow all available commands:
justBuild Docker image:
just docker-build-frontendTag Docker image:
just docker-tag-frontend # uses default version
just docker-tag-frontend 1.2.3 # uses specific versionPush Docker image:
just docker-push-frontend # uses default version
just docker-push-frontend 1.2.3 # uses specific versionAll Docker commands at once:
just docker-publish-frontend # uses default version
just docker-publish-frontend 2.0.0 # uses specific versionEnvironment variables (.env):
FRONTEND_IMAGE-echophase-frontendDOCKER_REGISTRY-localhost:5000VERSION-1.0.0(default version)
Build context: ./frontend/
Build Docker image:
just docker-build-backendTag and push:
just docker-publish-backend # uses default version
just docker-publish-backend 1.5.0 # uses specific versionEnvironment variables (.env):
BACKEND_IMAGE-echophaseDOCKER_REGISTRY-localhost:5000VERSION-1.0.0(default version)
Build context: ./src/
Build, tag and push all images:
just docker-publish-all # uses default version
just docker-publish-all 1.0.0 # uses specific versionThis creates the following tags:
localhost:5000/echophase-frontend:1.0.0localhost:5000/echophase-frontend:latestlocalhost:5000/echophase-backend:1.0.0localhost:5000/echophase-backend:latest
Show Docker configuration:
just docker-infoClean local images:
just docker-cleanClean build artifacts:
just cleanBefore continuing, make sure you have built the images and pushed them to any registry of your choice, since at the moment the images are not publicly available. It's best to do this locally (default build).
Launching local registry:
docker run -d -p 5000:5000 --name registry registry:2Publishing to local registry:
just docker-publish-all 1.0.0Launching default Helm:
helm install echophase helm --namespace echophase --create-namespaceDOCKER_REGISTRY=myregistry.com just docker-publish-all 2.0.0FRONTEND_IMAGE=my-frontend BACKEND_IMAGE=my-backend just docker-publish-all 1.5.0DOCKER_REGISTRY=myregistry.com \
FRONTEND_IMAGE=custom-frontend \
BACKEND_IMAGE=custom-backend \
VERSION=3.0.0 \
just docker-publish-all.
├── frontend/ # Frontend application
├── src/ # Backend application
├── helm/ # Kubernetes Helm charts
├── compose/ # Docker Compose configuration
├── justfile # Main task runner
├── just # Specific tasks
├── .env # Environment configuration
| Command | Description |
|---|---|
just docker-build-frontend |
Build frontend image |
just docker-build-backend |
Build backend image |
just docker-build-all |
Build all images |
just docker-tag-frontend [version] |
Tag frontend image |
just docker-tag-backend [version] |
Tag backend image |
just docker-push-frontend [version] |
Push frontend to registry |
just docker-push-backend [version] |
Push backend to registry |
just docker-publish-frontend [version] |
Build, tag, and push frontend |
just docker-publish-backend [version] |
Build, tag, and push backend |
just docker-publish-all [version] |
Build, tag, and push everything |
just docker-info |
Show Docker configuration |
just docker-clean |
Remove local images |