Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Path: blob/master/src/packages/next/pages/pricing/onprem.tsx
Views: 687
/*1* This file is part of CoCalc: Copyright © 2022 Sagemath, Inc.2* License: MS-RSL – see LICENSE.md for details3*/45import { Alert, Button, Divider, Layout, List } from "antd";6import { Icon, IconName } from "@cocalc/frontend/components/icon";7import { money } from "@cocalc/util/licenses/purchase/utils";8import { COLORS } from "@cocalc/util/theme";9import Footer from "components/landing/footer";10import Head from "components/landing/head";11import Header from "components/landing/header";12import PricingItem, { Line } from "components/landing/pricing-item";13import { Paragraph, Text, Title } from "components/misc";14import A from "components/misc/A";15import { MAX_WIDTH } from "lib/config";16import { Customize } from "lib/customize";17import withCustomize from "lib/with-customize";18import { ReactNode } from "react";19import getSupportUrl from "@cocalc/frontend/support/url";2021const PUBLISH_PRICE = true;2223const CM = <Icon name="check" />;2425const INF = "∞";26interface Item {27title: string;28icon: IconName;29individuals: string;30price: number | null;31academic?: ReactNode;32extra?: number;33prod?: string;34}3536const data: Item[] = [37{38title: "Small Business",39icon: "experiment",40individuals: "≤ 25",41price: 10000,42},43{44title: "Large Organization",45icon: "home",46individuals: "> 25",47price: null,48prod: "≥1",49},50{51title: "University",52icon: "graduation-cap",53individuals: "≤ 150",54price: 6000,55academic: CM,56},57];5859export default function OnPrem({ customize }) {60const { siteName } = customize;61return (62<Customize value={customize}>63<Head title={`${siteName} – On-Premises Offerings`} />64<Layout>65<Header page="pricing" subPage="onprem" />66<Layout.Content67style={{68backgroundColor: "white",69}}70>71<Body />72<Footer />73</Layout.Content>74</Layout>75</Customize>76);77}7879function Body() {80const contactURL = getSupportUrl({81subject: "Purchase CoCalc OnPrem",82type: "chat",83url: "",84});8586function renderContactButton(87text: string | ReactNode = "Contact Us",88): JSX.Element {89return (90<Button size="large" href={contactURL}>91{text}92</Button>93);94}9596function renderContact(): JSX.Element {97return (98<Alert99type="info"100banner={true}101showIcon={false}102style={{103textAlign: "center",104padding: "30px",105marginTop: "30px",106marginBottom: "30px",107borderRadius: "10px",108}}109message={110<>111<Paragraph strong style={{ fontSize: "150%" }}>112Please <A href={contactURL} external>contact us</A> for questions,113licensing details, and purchasing.114</Paragraph>115<Paragraph>116<Text strong>Licensing is very flexible:</Text> additional117discounts for academic institutions, multi-year commitments,118first-year customers, and other options are available.119</Paragraph>120{renderContactButton()}121</>122}123/>124);125}126127function renderPriceInfo(): JSX.Element {128if (PUBLISH_PRICE) {129return (130<>131<List132grid={{ gutter: 30, column: 3, xs: 1, sm: 1 }}133dataSource={data}134renderItem={({135price,136individuals,137icon,138title,139academic,140prod,141}) => {142return (143<PricingItem title={title} icon={icon}>144<Line amount={individuals} desc={"Monthly Active Users¹"} />145<Line amount={prod ?? 1} desc="Production Deployment" />146<Line amount={1} desc="Test Deployment" />147<Line amount={INF} desc="Number of Projects" />148<Line amount={INF} desc="Project Collaborators" />149<Line amount={INF} desc="Cluster Resources²" />150<Line amount={CM} desc="Help for Initial Setup" />151<Line amount={CM} desc="Premium Support" />152<Divider />153<Line154amount={CM}155desc="Collaborative Jupyter, LaTeX, SageMath, R, ..."156/>157<Line amount={CM} desc="Custom Software Environments" />158<Line amount={CM} desc="Regular Software Upgrades" />159<Line amount={CM} desc="Flexible LLM integration³" />160<Line amount={CM} desc="GPU Support" />161<Line amount={CM} desc="SAML SSO" />162163<br />164<div165style={{166textAlign: "center",167}}168>169{typeof price === "number"170? renderContactButton(171<span172style={{173fontWeight: "bold",174fontSize: "18pt",175color: COLORS.GRAY_DD,176padding: "10px",177}}178>179{money(price, true)}180<span style={{ color: COLORS.GRAY }}>/year</span>181</span>,182)183: renderContactButton()}184</div>185{academic ? (186<>187<Divider />188<Line189amount={academic}190desc={<Text strong>Academic discount</Text>}191/>192</>193) : undefined}194</PricingItem>195);196}}197/>198{renderContact()}199</>200);201} else {202return (203<>204<Paragraph>205CoCalc OnPrem is a scalable solution and the license price depends206on the use case, expected number of users, level of support, and207amount of customization and training involved.208</Paragraph>209{renderContact()}210</>211);212}213}214215function cloud(): JSX.Element {216return (217<>218<Title level={2}>219CoCalc OnPrem <Icon name="network-wired" style={{ float: "right" }} />220</Title>221222<Paragraph>223<Text strong>224<A href="https://onprem.cocalc.com/">CoCalc OnPrem</A>{" "}225</Text>{" "}226is a <Text strong>self-hosted version of CoCalc</Text> designed to run227on your own infrastructure. Built on the same robust architecture that228powers the main CoCalc platform, OnPrem delivers exceptional229performance, scalability, and reliability. This enterprise-grade230solution offers:231<ul>232<li>233The full suite of collaborative tools available on cocalc.com:{" "}234<Text strong>235Jupyter Notebooks for Python, SageMath, R, Octave236</Text>237, editing <Text strong>LaTeX, Code- and Markdown/Text-files</Text>238, a <Text strong>collaborative Linux Terminal</Text>, and a{" "}239<Text strong>virtual X11 desktop</Text>.240</li>241<li>242Complete control over your data and computing environment, which243results in enhanced <Text strong>privacy and security</Text> for244sensitive research and educational content;245</li>246<li>247Integration with your existing IT infrastructure – for example248SAML based SSO authentication;249</li>250<li>251Beyond the standard set of included software, it's possible to252define <Text strong>customizable software environments</Text> and253adjust specific features to meet specific institutional needs;254</li>255<li>256We'll guide you through the setup process and give you enough257information to be able to manage the service, react to issues,258plan resource requirements, and know how to scale the various259services to your expected usage.260</li>261</ul>262Experience the cutting-edge capabilities of CoCalc within your own263secure ecosystem, providing your team or institution with a tailored,264high-performance platform for scientific computing, mathematics, and265data science collaboration.266</Paragraph>267268<Title level={3}>Prerequisites</Title>269270<Paragraph>271<ul>272<li>273A{" "}274<Text strong>275<A href={"https://kubernetes.io"}>Kubernetes Cluster</A>276</Text>{" "}277and some experience managing it. OnPrem should run on your own278bare-metal cluster or a managed kubernetes cluster like{" "}279<A href={"https://onprem.cocalc.com/deploy/eks.html"}>280Amazon's EKS281</A>282,{" "}283<A href={"https://onprem.cocalc.com/deploy/gke.html"}>284Google's GKE285</A>286, or{" "}287<A href={"https://onprem.cocalc.com/deploy/aks.html"}>288Azure's AKS289</A>290.291</li>292<li>293Some experience working with{" "}294<A href={"https://helm.sh/"}>295<b>HELM</b> charts296</A>297.298</li>299<li>300A (sub)<Text strong>domain</Text> and TLS certificate (e.g.{" "}301<A href={"https://letsencrypt.org/"}>letsencrypt</A>).302</li>303<li>304A common{" "}305<A href={"https://www.postgresql.org/"}>306<Text strong>PostgreSQL</Text>307</A>{" "}308database.309</li>310<li>311A shared network file-system like <Text strong>NFS</Text>. It must312support the Kubernetes{" "}313<A314href={315"https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes"316}317>318ReadWriteMany319</A>{" "}320file-system access mode.321</li>322</ul>323</Paragraph>324<Paragraph>325For more details, see the{" "}326<Text strong>327<A href="https://onprem.cocalc.com/">CoCalc OnPrem documentation</A>328</Text>329.330</Paragraph>331<Title level={3}>Purchasing CoCalc OnPrem</Title>332{renderPriceInfo()}333<Paragraph334style={{335marginTop: "100px",336borderTop: `1px solid ${COLORS.GRAY_L}`,337color: COLORS.GRAY,338}}339>340¹ "Monthly Active Users" is defined as the maximum count of distinct341"Active Users" during any calendar month, who actually use CoCalc.342<br />² There are no limitations on the number of CPU cores, Memory or343Virtual Machines your instance of CoCalc OnPrem can make use of in344your cluster.345<br />³ Configure CoCalc OnPrem to use your own internal LLM server346for increased privacy.347</Paragraph>348</>349);350}351352return (353<div354style={{355maxWidth: MAX_WIDTH,356margin: "15px auto",357padding: "15px",358backgroundColor: "white",359}}360>361<Title level={1} style={{ textAlign: "center" }}>362<Icon name="server" style={{ marginRight: "30px" }} /> CoCalc - On363Premises364</Title>365366<div>{cloud()}</div>367</div>368);369}370371export async function getServerSideProps(context) {372return await withCustomize({ context });373}374375376