Introduction

Your first app

From an empty directory to a URL with a certificate.


Start from a template

jekyo init            # minimal skeleton, or:
jekyo templates       # browse ready-made apps (postgres, redis, ...)
jekyo init postgres

Or write jekyo.yaml by hand:

app: hello
services:
  web:
    build:
      context: .
      inline: |
        FROM nginx:alpine
        COPY public/ /usr/share/nginx/html/
    port: 80
    http:
      domain: hello.example.com

Check what it becomes

JEKYO compiles this file to plain Kubernetes resources. See them before deploying:

jekyo render

Validation is strict: unknown keys and inconsistencies are errors with exact locations, not silent surprises.

Ship it

jekyo up

What happens: the image is built for your server's architecture and tagged with a content hash (identical sources never rebuild), delivered to the cluster's private registry, and the app is applied: namespace, workload, service, ingress, TLS certificate. Then:

jekyo ls                  # apps, pods, domains, revision
jekyo ps hello            # pod detail
jekyo logs hello/web -f   # live logs
jekyo status hello        # rollout, URL, certificate, recent warnings

Change something and run jekyo up again. That is the whole workflow. Every deploy records a revision; jekyo rollback hello returns to the previous one.

Clean up

jekyo down hello            # removes workloads; volumes survive
jekyo down hello --volumes  # removes everything, after confirmation
Previous
Installation