Getting Started

Running applications on levv cloud #

Creating a compose file #

To run a new application on levv cloud, define your services in a compose file.

# myapp.yaml
services:
    website:
        image: nginx
        deploy:
            replicas: 1

Then deploy the services with:

levv apply -f myapp.yaml

Launching applications from private repository requires uploading your credentials to levv cloud. Learn here how to do it.

Expose them to the internet #

Labeling your services as public and exposing their HTTP ports in the compose specification are the only requirements to access them from the internet.

You can also link them to a custom domain name (you will need to create a CNAME record pointing towards the service’s public URL).

# myapp.yaml
services:
    website:
        image: nginx
        deploy:
            replicas: 1
        labels:
            io.levv.public: "true"
        ports:
            - "80:80" # ServicePort:ContainerPort
        domainname: "website.example.com"

Assign them the appropriate resources #

You can specify the number of replicas as well as the size for each service running on levv cloud.

# myapp.yaml
services:
    website:
        image: nginx
        deploy:
            replicas: 3
        labels:
            io.levv.size: "large"

Check out our offer here.

List deployed services #

List all the services currently running under your account.

levv ls

Footprint #

levv cloud comes with sustainability in mind. We help you achieving your goals on reducing your carbon footprint.

Get your applications footprint #

Obtain the energy utilization and carbon intensity of your applications. Use the information to assess your digital carbon footprint and trace improvement paths.

levv footprint

Volumes #

Volumes offer local persistent storage for applications running on levv cloud. You can store databases, configurations, user data or any other information that needs to persist after launch or restart.

Create volumes #

Volumes can be created using the levv CLI:

levv volumes create

They can also be created when launching applications that attach a new volume.

Attaching volumes #

Volumes can be accessed through a mounting point in your application’s file system.

# myapp.yaml
services:
    website:
        image: nginx
        deploy:
            replicas: 1
        volumes:
            - disk-one:/usr/share/nginx/html
volumes:
    disk-one:
      driver_opts:
        size: 2G

If disk-onedoes not exist, the levv CLI will automatically create it. Set the requested size using the driver_opts.size option (default: 1G).

Volumes can be shared between multiple applications, allowing you to expand their functionality.

# myapp.yaml
services:
    website:
        image: nginx
        deploy:
            replicas: 1
        volumes:
            - disk-one:/usr/share/nginx/html
    writer:
        image: myrepo/myapp:latest
        deploy:
            replicas: 1
        volumes:
            - disk-one:/usr/local/data
volumes:
    disk-one:

Object storage #

levv cloud offers object storage buckets that allow you to persist and retrieve unstructured data through the S3 protocol. You can store documents, images, csv files, etc and access them from anywhere.

Create buckets #

Object buckets can be created using the levv CLI.

levv buckets create

After creation, you will be able to manage your buckets using the credentials provided by the levv CLI.

List and manage buckets #

The buckets that you have created can be easily retrieved using the levv CLI

levv buckets ls

Equally, you can obtain a bucket credentials and use them to manage it with an S3 client

levv buckets credentials my-bucket.mycompany.com

We recommend using s5cmd to manage permissions, and store or retrieve data.