Rilis
Why?
I created this tool to streamline my workflow, allowing seamless communication with my server and automating the deployment process from my local machine to a virtual server. This tool is tailored to address my specific needs for efficient and automated deployments.
Key Features
- Effortless VM (Virtual Machine) Deployment
- Simply configure with a file
deploy.tomloranything.tomland usedocker-compose.yamllocally.
Installation
# download from crates
cargo install rilis
# download latest version from git
cargo install --git https://github.com/ak9024/rilis
Please see the examples here
Configuration
Create configuration named deploy.toml.
[]
# required IPv4 address can be define here.
= ""
# optional, by default is "root"
= ""
# You can choose one using "password" or "private_key"
= ""
# optional if do you want to connect via private_key
= "/Users/adiatma/.ssh/id_ed25519"
# optional by default port 22, but you can customize by your self.
= 22
[]
# scp is optional, if do you want to copy file from local to the server, can be define here.
= [ "docker-compose.yaml" ]
# ssh commands if do you want to exec script or anything on the server.
= [
"sudo docker compose -f docker-compose.yaml up -d",
"sudo docker ps",
]
# support tunneling from server to local
[]
= ""
= "localhost"
You can define multiple configuration for multiple use case for automation, examples to provision VM using
setup.toml, then for deployment usingdeploy.toml.
Docker
Prepare your docker-compose.yaml
version: "3.8"
services:
home:
container_name: home
image: httpd:latest
ports:
- "3000:80"
Then start rilis --cfg deploy.toml
More
rilis -h
License
MIT & Apache 2.0