Chagall Deploy is a deployment tool for applications for staging and production single-server setups.
-
bin/chagall setupBootstap server- Install docker with sudo if user not root
- Make docker deamon accessable from user
-
bin/chagall deployBuild docker image and deploy docker compose application into server -
bin/chagall composeWrap docker compose commands on server project through ssh for examplebin/chagall compose logs app -f --tail 500 -
Don't require Container Registry like Docker Hub or ECR
-
Generates Docker and docker compose configurations based on your application’s dependencies suck like: (not implemented yet)
- Redis
- Sidekiq
- Mariadb, MySQL
- PostgreSQL
- MongoDB
- Elasticsearch
-
For production TLS/SSL using reproxy
- Dynamic Service Configuration: Detects and includes services based on your application’s
Gemfile,package.json,.ruby-versionor.node-version. - Multi-Stage Docker Builds: Uses a single Dockerfile for both development and production environments.
- Unified
compose.yaml: Configures development and production profiles in one Compose file. - Quick Installation: Installs with a single
curlcommand, generating the necessaryDockerfile,compose.yamlandbin/chagallfile.
To install Chagall Deploy, run this command in your project root:
gem install chagall --preGenerate compose and compose.prod.yaml
bin/chagall installSetup server for deploy:
- install docker
- install reproxy(optional can be part of compose.prod.yaml) for signe compose per server deployments
bin/chagall setupDeploy application
- Build image
- Trigger compose project update
bin/chagall deploy