{"id":18930163,"url":"https://github.com/nheidloff/openwhisk-web-app-resources","last_synced_at":"2026-04-12T10:35:07.963Z","repository":{"id":88375231,"uuid":"152748550","full_name":"nheidloff/openwhisk-web-app-resources","owner":"nheidloff","description":"Web Application Resources hosted on OpenWhisk","archived":false,"fork":false,"pushed_at":"2018-10-15T13:44:20.000Z","size":695,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-23T09:51:22.688Z","etag":null,"topics":["angular","docker","faas","ibm","ibmcloud","ibmfunctions","opensource","openwhisk","react","serverless","vuejs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nheidloff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-12T12:39:41.000Z","updated_at":"2020-10-02T07:45:50.000Z","dependencies_parsed_at":"2024-03-30T16:00:35.371Z","dependency_job_id":null,"html_url":"https://github.com/nheidloff/openwhisk-web-app-resources","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nheidloff/openwhisk-web-app-resources","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nheidloff%2Fopenwhisk-web-app-resources","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nheidloff%2Fopenwhisk-web-app-resources/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nheidloff%2Fopenwhisk-web-app-resources/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nheidloff%2Fopenwhisk-web-app-resources/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nheidloff","download_url":"https://codeload.github.com/nheidloff/openwhisk-web-app-resources/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nheidloff%2Fopenwhisk-web-app-resources/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28132989,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-30T02:00:05.476Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","docker","faas","ibm","ibmcloud","ibmfunctions","opensource","openwhisk","react","serverless","vuejs"],"created_at":"2024-11-08T11:36:48.603Z","updated_at":"2025-12-30T22:06:50.843Z","avatar_url":"https://github.com/nheidloff.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web Application Resources hosted on OpenWhisk\n\nThis project contains an [Apache OpenWhisk](https://openwhisk.apache.org/) function to host static resources of web applications. \n\nThe tutorial [Serverless Web Application and API](https://console.bluemix.net/docs/tutorials/serverless-api-webapp.html) describes how to develop serverless APIs and web applications. With the code from this project even the web resources can be hosted on OpenWhisk (rather than GitHub Pages).\n\nThe project contains a sample Angular application, but the same mechanism works for other client-side web frameworks like React and Vue.js. Simply replace the files in the [docker/resources](docker/resources) directory.\n\nThe function has been implemented as Docker image so that web resouces can be handled which are [bigger than 48 MB](https://console.bluemix.net/docs/openwhisk/openwhisk_reference.html#openwhisk_syslimits_codesize).\n\nThe web application will be accessible via URLs like this one: https://service.us.apiconnect.ibmcloud.com/gws/apigateway/api/xxx/web/resources/index.html. In order to use a custom domain, you can use [IBM API Connect](https://www.ibm.com/support/knowledgecenter/en/SSMNED_5.0.0/com.ibm.apic.apionprem.doc/create_env_506.html) instead of the API Management functionality integrated in IBM Cloud Functions.\n\nHere is a screenshot:\n\n![alt text](screenshot2.png \"screenshot\")\n\n## Setup\n\n**Prerequisites**\n\nMake sure you have the following tools installed:\n\n* [Node](https://nodejs.org/en/download/)\n* [Docker](https://docs.docker.com/engine/installation/)\n* [git](https://git-scm.com/downloads)\n* [IBM Cloud account](https://ibm.biz/nheidloff)\n* [ibmcloud CLI](https://console.bluemix.net/docs/cli/index.html)\n\n**Installation**\n\n```sh\n$ git clone https://github.com/nheidloff/openwhisk-web-app-resources.git\n$ cd openwhisk-web-app-resources\n$ npm install\n$ cd docker\n$ docker build -t nheidloff/openwhisk-web-app:1 .\n$ docker push nheidloff/openwhisk-web-app:1\n$ ibmcloud login\n$ ibmcloud fn action create openwhisk-web-app --docker nheidloff/openwhisk-web-app:1 --web true\n$ ibmcloud fn api create -n \"angular-web-app\" /web /resources get openwhisk-web-app --response-type http\n```\n\nOpen the following URL in your browser: https://service.us.apiconnect.ibmcloud.com/gws/apigateway/api/xxx/web/resources/index.html\n\n**Customization of the Angular App**\n\nIn order to update the Docker image with a changed Angular app, run these commands:\n\n```sh\n$ cd angular\n$ ng build --prod\n$ cd ../docker\n$ docker build -t nheidloff/openwhisk-web-app:2 .\n$ docker push nheidloff/openwhisk-web-app:2\n$ ibmcloud fn action update openwhisk-web-app --docker nheidloff/openwhisk-web-app:2 --web true\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnheidloff%2Fopenwhisk-web-app-resources","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnheidloff%2Fopenwhisk-web-app-resources","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnheidloff%2Fopenwhisk-web-app-resources/lists"}