Node AllKaraoke
Allkaraoke offers an ultrastar deluxe-like online platform for karaoke.
To run this example, follow these steps:
-
Install the CLI and a container runtime engine, for example Docker. Use the unikraft CLI or the legacy kraft CLI.
-
Clone the
examplesrepository andcdinto theexamples/node24-karaokedirectory:
Code
Make sure to log into Unikraft Cloud and pick a metro close to you.
This guide uses fra (Frankfurt, 🇩🇪):
When done, invoke the following command to deploy this app on Unikraft Cloud:
The output shows the instance address and other details:
Code
In this case, the instance name is node24-karaoke-9lw5q and the address is https://wild-song-p5q2nrwx.fra.unikraft.app.
They're different for each run.
Use curl to query the Unikraft Cloud instance of the AllKaraoke instance:
Code
Code
You can list information about the instance by running:
Code
When done, you can remove the instance:
Customize your app
To customize the app, update the files in the repository, listed below:
Kraftfile: the Unikraft Cloud specificationDockerfile: the Docker-specified app filesystementrypoint.sh: the shell script used to start the AllKaraoke server
Lines in the Kraftfile have the following roles:
-
spec: v0.6: The currentKraftfilespecification version is0.6. -
runtime: base-compat:latest: The kernel to use. -
rootfs: ./Dockerfile: Build the app root filesystem using theDockerfile. -
cmd: ["/entrypoint.sh"]: Use/entrypoint.shas the starting command of the instance.
Lines in the Dockerfile have the following roles:
-
FROM node:24-bookworm-slim AS build: Build the AllKaraoke project using the Node.js 24 Bookworm slim image. -
RUN git clone ...; pnpm install; pnpm build: Clone the AllKaraoke repository, install dependencies, and build it for production. -
FROM node:24-bookworm-slim AS prod: Use a fresh Node.js 24 Bookworm slim image for the runtime. -
COPY ...: Copy required files to the app filesystem: thenodebinary executable, system libraries, the built AllKaraoke artifacts, and the entrypoint script.
The following options are available for customizing the app:
-
If you want to use a specific version of AllKaraoke, update the
git clonecommand in theDockerfileto pin a particular commit or tag. -
If you want to add extra files, you need to copy them into the filesystem using the
COPYcommand in theDockerfile. -
If you want to change the startup behavior, update the
entrypoint.shscript. -
More extensive changes may require extending the
Dockerfile(seeDockerfilesyntax reference).
Learn more
- Allkaraoke official deployment
- Unikraft Cloud's Documentation
- Building
Dockerfileimages withBuildkit
Use the --help option for detailed information on using Unikraft Cloud:
Or visit the CLI Reference or the legacy CLI Reference.