Skip to main content
Version: Next 🚧

Quickstart

Install Epinio and push an application, with default options. Copy-paste the commands below in order.

Prerequisites​

  • kubectl and helm installed.
  • A Kubernetes cluster with a default StorageClass and a default IngressClass. No cluster? Start one with minikube below.

For anything beyond a trial, see system requirements and the full installation guide.

No cluster? Start minikube​

minikube start --cpus 4 --memory 8g
helm repo add traefik https://traefik.github.io/charts
helm repo update
helm upgrade --install traefik traefik/traefik --namespace traefik --create-namespace \
--set ingressClass.isDefaultClass=true \
--set ports.web.hostPort=80 \
--set ports.websecure.hostPort=443

This installs Traefik bound to the node's :80/:443, so the cluster is reachable at its node IP. minikube already provides a default StorageClass, so storage needs no extra setup.

note

On macOS or Windows the minikube node IP isn't directly reachable from the host; run minikube tunnel in a separate terminal, or use Linux.

Set your domain​

Epinio needs a wildcard domain that points at your ingress. With minikube, use its IP and a wildcard DNS service such as sslip.io:

export EPINIO_DOMAIN="$(minikube ip).sslip.io"

On an existing cluster, set EPINIO_DOMAIN to a wildcard domain that resolves to your ingress (for example <INGRESS-IP>.sslip.io).

Install cert-manager​

helm repo add jetstack https://charts.jetstack.io
helm repo update
helm upgrade --install cert-manager jetstack/cert-manager \
--namespace cert-manager --create-namespace \
--set crds.enabled=true

Install Epinio​

helm repo add epinio https://epinio.github.io/helm-charts
helm repo update
helm upgrade --install epinio epinio/epinio \
--namespace epinio --create-namespace \
--set global.domain="$EPINIO_DOMAIN"

Install the Epinio CLI​

Download the binary (Linux shown, for macOS replace linux with darwin):

curl -Lo epinio https://github.com/epinio/epinio/releases/latest/download/epinio-linux-x86_64
chmod +x epinio
sudo mv epinio /usr/local/bin/

For macOS, Windows, and signature verification, see Install the Epinio CLI. If you use Homebrew:

brew install epinio

Log in​

epinio login -u admin "https://epinio.$EPINIO_DOMAIN"

When prompted, enter the default password password, then press y to trust the self-signed certificate. Change the default by setting api.adminPassword in the Helm chart (see the Helm chart reference).

Push your first application​

git clone https://github.com/epinio/example-12factor.git
epinio push --name sample --path example-12factor

When the push finishes, Epinio prints the application URL. Open it in your browser, or print it again with:

epinio app show sample

That is the whole loop: from sources to a live URL in one command.

Next steps​