diff --git a/packages/playground/public/images/icons/static_website.png b/packages/playground/public/images/icons/static_website.png
new file mode 100644
index 0000000000..f011d90b87
Binary files /dev/null and b/packages/playground/public/images/icons/static_website.png differ
diff --git a/packages/playground/public/info/static_website.md b/packages/playground/public/info/static_website.md
new file mode 100644
index 0000000000..893681bf05
--- /dev/null
+++ b/packages/playground/public/info/static_website.md
@@ -0,0 +1,5 @@
+---
+title: Static Website
+---
+
+Static Website is an application where a user provide a github repository url and it's automatically served using caddy. For more details, check [Static Website documentation](https://www.manual.grid.tf/documentation/dashboard/solutions/static_website.html).
diff --git a/packages/playground/src/constants/deployment_list.ts b/packages/playground/src/constants/deployment_list.ts
index 9c75e48c0c..3689e12941 100644
--- a/packages/playground/src/constants/deployment_list.ts
+++ b/packages/playground/src/constants/deployment_list.ts
@@ -124,6 +124,12 @@ export const deploymentListEnvironments = {
CHAIN_ENDPOINT: "Chain Endpoint",
},
+ static_website: {
+ SSH_KEY: _ssh,
+ GITHUB_URL: "HTTPS URL for git repository",
+ ROOT: "HTML Directory",
+ },
+
taiga: {
SSH_KEY: _ssh,
DOMAIN_NAME: "Domain Name",
diff --git a/packages/playground/src/router/index.ts b/packages/playground/src/router/index.ts
index e80719e220..f70433dcd0 100644
--- a/packages/playground/src/router/index.ts
+++ b/packages/playground/src/router/index.ts
@@ -341,6 +341,29 @@ function createApplicationsRoutes(): RouteRecordRaw[] {
},
},
},
+
+ {
+ path: DashboardRoutes.Applications.StaticWebsite,
+ component: () => import("../views/staticwebsite_view.vue"),
+ meta: {
+ title: "Static Website",
+ info: { page: "info/static_website.md" },
+ navbarConfig: {
+ back: true,
+ path: [
+ { title: "Deploy" },
+ {
+ title: "Applications",
+ disabled: false,
+ to: DashboardRoutes.Deploy.Applications,
+ },
+ {
+ title: "Static Website",
+ },
+ ],
+ },
+ },
+ },
// Commented for now and will be user later.
// {
// path: DashboardRoutes.Applications.Freeflow,
diff --git a/packages/playground/src/router/routes.ts b/packages/playground/src/router/routes.ts
index e9cfe63c3a..f5e19dcfc8 100644
--- a/packages/playground/src/router/routes.ts
+++ b/packages/playground/src/router/routes.ts
@@ -52,6 +52,7 @@ enum OtherRoutes {
enum ApplicationRoutes {
BaseRoute = "/deploy/applications/",
Peertube = "/deploy/applications/peertube/",
+ StaticWebsite = "/deploy/applications/static_website/",
Funkwhale = "/deploy/applications/funkwhale/",
Mattermost = "/deploy/applications/mattermost/",
Discourse = "/deploy/applications/discourse/",
diff --git a/packages/playground/src/types/index.ts b/packages/playground/src/types/index.ts
index 2532729dd1..cd0b96bbba 100644
--- a/packages/playground/src/types/index.ts
+++ b/packages/playground/src/types/index.ts
@@ -114,6 +114,7 @@ export enum ProjectName {
Qvm = "Qvm",
Umbrel = "Umbrel",
FreeFlow = "Freeflow",
+ StaticWebsite = "StaticWebsite",
}
export enum SolutionCode {
@@ -139,6 +140,7 @@ export enum SolutionCode {
qvm = "qvm",
umbrel = "um",
wordpress = "wp",
+ staticwebsite = "sw",
}
export const solutionType: { [key: string]: string } = {
@@ -161,6 +163,7 @@ export const solutionType: { [key: string]: string } = {
umbrel: "Umbrel",
vm: "Micro Virtual Machine",
wordpress: "Wordpress",
+ staticwebsite: "Static Website",
};
export interface solutionFlavor {
diff --git a/packages/playground/src/views/solutions_view.vue b/packages/playground/src/views/solutions_view.vue
index 585af1abba..e03ffe4735 100644
--- a/packages/playground/src/views/solutions_view.vue
+++ b/packages/playground/src/views/solutions_view.vue
@@ -93,6 +93,13 @@ export default {
icon: "taiga.png",
route: DashboardRoutes.Applications.Taiga,
},
+ {
+ title: "Static Website",
+ excerpt:
+ "Static Website is an application where a user provides a Github repository url and it's automatically served using Caddy.",
+ icon: "static_website.png",
+ route: DashboardRoutes.Applications.StaticWebsite,
+ },
// {
// title: "Owncloud",
// excerpt:
diff --git a/packages/playground/src/views/staticwebsite_view.vue b/packages/playground/src/views/staticwebsite_view.vue
new file mode 100644
index 0000000000..2c156698c5
--- /dev/null
+++ b/packages/playground/src/views/staticwebsite_view.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/playground/src/weblets/tf_deployment_list.vue b/packages/playground/src/weblets/tf_deployment_list.vue
index 247cda4db6..daa4f5592a 100644
--- a/packages/playground/src/weblets/tf_deployment_list.vue
+++ b/packages/playground/src/weblets/tf_deployment_list.vue
@@ -217,6 +217,20 @@
/>
+
+
+
+
+
+
+ Deploy a Static Website Instance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Deploy
+
+
+
+
+
+
+