Skip to content

Repository files navigation

uncloud-labs

Playground and tutorial configurations for iximiuz Labs that showcase Uncloud functionality.

Root Filesystem Images

This repository builds the following rootfs images in the form of Docker images:

  • rootfs-images/uncloud-devmachine: Development environment with Docker and Uncloud CLI

    • ghcr.io/unlabs-dev/uncloud-labs/rootfs:uncloud-devmachine
  • rootfs-images/uncloud-server: Server environment with Docker and Uncloud server components

    • ghcr.io/unlabs-dev/uncloud-labs/rootfs:uncloud-server
  • rootfs-images/uncloud-django-app: Development environment for the Django app tutorial

    • ghcr.io/unlabs-dev/uncloud-labs/rootfs:uncloud-django-app

These images can

Image Repository

All images are published to ghcr.io/unlabs-dev/uncloud-labs/rootfs with the corresponding tags.

Development

Prerequisites

  • Docker
  • Make

Building and Pushing Images

# Build
make build-img-uncloud-devmachine
make build-img-uncloud-server
make build-img-uncloud-django-app

# Build and Push
make push-img-uncloud-devmachine
make push-img-uncloud-server
make push-img-uncloud-django-app

Each image is tagged both as <image> (floating) and <image>-<UNCLOUD_VERSION> (pinned — this is the tag playground manifests reference directly). If you need to push an updated image (Dockerfile fix, dependency bump, etc.) without changing UNCLOUD_VERSION, bump BUILD_SUFFIX in the Makefile and commit it, so the pinned tag changes too. Then repoint the relevant manifests/playgrounds/*.yaml entries at the new tag, e.g.:

# Makefile: BUILD_SUFFIX = 2
make push-img-uncloud-django-app
# => pushes rootfs:uncloud-django-app-v0.20.0-2

Material Management

This section covers the management of playgrounds and tutorials hosted on iximiuz Labs.

Prerequisites

  • labctl - CLI tool for managing iximiuz Labs content

Managed Tutorials

Currently managed tutorials:

Managed Playgrounds

Currently managed playgrounds:

Persisting Manifests

You can save the manifests of all managed playgrounds and tutorials locally to the manifests/ directory:

make pull-playgrounds

This is currently done purely for backup and version tracking reasons. The manifests are organized as:

  • manifests/playgrounds/ - YAML files for playground configurations
  • manifests/tutorials/ - Markdown files and assets for tutorial content

Releases

Packages

Contributors

Languages