SkillAgentSearch skills...

Juno

Build serverless apps with self-hosting control

Install / Use

/learn @junobuild/Juno

README

<div align="center" style="display:flex;flex-direction:column;"> <a href="https://juno.build/"> <img src="https://github.com/junobuild/juno/raw/main/src/frontend/static/images/juno_logo.png" width="100%" alt="Juno logo" role="presentation"/> </a> </div> <br /> <p align="center"> <a href="https://github.com/junobuild/juno"><img alt="GitHub Actions Workflow Status" src="https://img.shields.io/github/actions/workflow/status/junobuild/juno/release.yml?style=flat-square"></a> <a href="https://github.com/junobuild/juno"><img src="https://img.shields.io/github/last-commit/junobuild/juno/main?commit&style=flat-square" alt="Last Commit" /></a> <a href="https://discord.gg/wHZ57Z2RAG"><img src="https://dcbadge.limes.pink/api/server/https://discord.gg/wHZ57Z2RAG?style=flat-square" alt="Discord" /></a> </p>

⭐️ Description

Juno is an open-source serverless platform for hosting static websites, building web applications, and running serverless functions with the privacy and control of self-hosting.

It provides a familiar cloud experience with strong security and zero operational complexity. Each project runs in its own WASM container, fully owned and controlled by you.

Think of it as Vercel + Firebase + Self-Hosting - without the compromises.

  • 🔑 Authentication [Docs]
  • 📦 Datastore [Docs]
  • 📂 File Storage [Docs]
  • 🌐 Hosting [Docs]
  • ⚙️ Serverless Functions (Rust & TypeScript) [Docs]
  • 📊 Analytics [Docs]
  • 👀 Monitoring [Docs]
  • 💾 Snapshots [Docs]
<br />

A screenshot of the Juno Console

<br />

⚡️ Why Juno?

  • Zero DevOps - No servers to manage, no infrastructure to maintain
  • True Ownership - Your code, data, and infrastructure are fully yours
  • Local-First Development - Full production-like emulator for rapid iteration

🚀 Quick Start

// Initialize Juno
import { initSatellite } from '@junobuild/core';
await initSatellite();

// Store data
import { setDoc } from '@junobuild/core';
await setDoc({
	collection: 'posts',
	doc: {
		key: 'my-post',
		data: { title: 'Hello Juno!' }
	}
});

⚙️ Serverless Functions

Write serverless functions in TypeScript or Rust and deploy them to your own WASM container.

TypeScript:

import { j } from '@junobuild/schema';
import { defineQuery } from '@junobuild/functions';

export const hello = defineQuery({
	args: j.strictObject({
		name: j.string()
	}),
	handler: ({ data }) => {
		return { message: `Hello, ${data.name}!` };
	}
});

Rust:

#[ic_cdk::query]
fn hello(name: String) -> String {
    format!("Hello, {}!", name)
}

🚢 Deploy

Deploy to production with a single command:

# Deploy your frontend
juno hosting deploy

# Deploy your serverless functions
juno functions publish

Or integrate with GitHub Actions → Setup CI/CD

A screenshot of the GitHub integration in the Console UI

💁‍♂️️ Links & Resources

Here are some useful links:

  • Looking to get started? Check out the Guides & Examples for step-by-step tutorials and sample code.
  • Explore the full documentation for in-depth details on using and configuring Juno.
  • See the HACKING document for instructions on running and developing Juno locally.

🖥️ Bootstrap

Planning to build a website, blog, or web application? Start quickly by scaffolding a new project using a template.

# with npm
npm create juno@latest
# with pnpm
pnpm create juno
# with yarn
yarn create juno

🎯 Live Examples

Check out the showcase.

🧑‍🤝‍🧑 Community

Have questions, comments, or feedback? Join our Discord or OpenChat.

💬 Contact

Find us on X/Twitter at @junobuild or email us at hi@juno.build.

View on GitHub
GitHub Stars392
CategoryData
Updated33m ago
Forks71

Languages

TypeScript

Security Score

100/100

Audited on Apr 1, 2026

No findings