All Projects → ncruces → appengine-hosting

ncruces / appengine-hosting

Licence: MIT license
Host static websites with Google Cloud Storage and App Engine

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to appengine-hosting

GaeSupportLaravel
Run Laravel on Google App Engine
Stars: ✭ 22 (+29.41%)
Mutual labels:  google-appengine
luceneappengine
This project provides a directory useful to build Lucene and Google App Engine powered applications
Stars: ✭ 16 (-5.88%)
Mutual labels:  google-appengine
pali
Pāḷi Tipiṭaka and Pāḷi Dictionaries
Stars: ✭ 20 (+17.65%)
Mutual labels:  google-appengine
Golang Samples
Sample apps and code written for Google Cloud in the Go programming language.
Stars: ✭ 3,088 (+18064.71%)
Mutual labels:  google-appengine
emacs-easy-jekyll
Emacs major mode for managing jekyll
Stars: ✭ 53 (+211.76%)
Mutual labels:  google-cloud-storage
ob bulkstash
Bulk Stash is a docker rclone service to sync, or copy, files between different storage services. For example, you can copy files either to or from a remote storage services like Amazon S3 to Google Cloud Storage, or locally from your laptop to a remote storage.
Stars: ✭ 113 (+564.71%)
Mutual labels:  google-cloud-storage
testable appengine
A testable Python skeleton application for Google's App Engine and AppScale environments
Stars: ✭ 30 (+76.47%)
Mutual labels:  google-appengine
zorya
Google Cloud Instance Scheduler helping to reduce costs by 60% on average for non-production environments.
Stars: ✭ 127 (+647.06%)
Mutual labels:  google-appengine
gsc-logger
Google Search Console Logger for Google App Engine
Stars: ✭ 38 (+123.53%)
Mutual labels:  google-appengine
clojure-app-engine
A skeleton to get started with Clojure on Google App Engine
Stars: ✭ 13 (-23.53%)
Mutual labels:  google-appengine
deploy-appengine
A GitHub Action that deploys source code to Google App Engine.
Stars: ✭ 184 (+982.35%)
Mutual labels:  google-appengine
nestjs-storage
Nestjs file system / file storage module wrapping flydrive
Stars: ✭ 92 (+441.18%)
Mutual labels:  google-cloud-storage
hubble-scripts
🔭 📜 Transform Sketch config data & assets into dev-friendly formats.
Stars: ✭ 23 (+35.29%)
Mutual labels:  google-cloud-storage
javadoc-badge
Badge for Javadoc (or any other jvm doc). redirect to sonatype or javadoc.io
Stars: ✭ 16 (-5.88%)
Mutual labels:  google-appengine
gcs-resource
Concourse resource for interacting with Google Cloud Storage
Stars: ✭ 33 (+94.12%)
Mutual labels:  google-cloud-storage
site-publish
Site Publish is a simple file-based content publishing system that runs on Google App Engine. It is designed to be a part of a dynamic website that also hosts static content.
Stars: ✭ 14 (-17.65%)
Mutual labels:  google-appengine
clj-gcloud-storage
Clojure wrapper for google-cloud-storage Java client.
Stars: ✭ 20 (+17.65%)
Mutual labels:  google-cloud-storage
rdm-app
Code for the rdm.openlighting.org site
Stars: ✭ 17 (+0%)
Mutual labels:  google-appengine
github-stats
🌟 GitHub Stats is all about stars, forks, repos, followers and more
Stars: ✭ 89 (+423.53%)
Mutual labels:  google-appengine
Meteor-Files-Demo
Demo application for ostrio:files package
Stars: ✭ 16 (-5.88%)
Mutual labels:  google-cloud-storage

appengine-hosting

Google Cloud Storage allows you to configure a bucket to host a static website, with one big caveat: no HTTPS support.

Proposed solutions are: a load balancer, a third-party CDN, and Firebase Hosting.

This offers an additional, cost effective, customizable, alternative: a single App Engine app that can host as many static websites as needed.

How and why?

A Go, App Engine app, serves static content from Cloud Storage buckets. Always Free mean you can host this for free, and scale up from there.

Follow the Quickstart for Go App Engine Standard Environment tutorial. Choose the us-central region if you want to take full advantage of Always Free. Don't clean up.

Follow the Hosting a Static Website tutorial. Use the same project as above. For best performance, place the bucket in the same region as above (pick us-central1 for the Always Free allowance). Verify that everything works as expected through the custom domain. Don't clean up.

Now, clone this repository and deploy it to App Engine. Then, map the custom domain for the website to the App Engine app. Wait for the managed SSL certificate to be provisioned for your app, or configure your own SSL certificate.

You should now be able to use HTTPS to access the website.

What works, and what doesn't?

  • Website configuration for the bucket (Main page, and 404 page) is respected by default.
  • Multiple domains can be mapped to the app, content will be served from the corresponding buckets.
  • All HTTP traffic is 301 redirected to HTTPS (see app.yaml)
  • Some security headers are added, many Cloud Storage headers are hidden.
  • Redirects, rewrites, etc, as in Firebase Hosting (see firebase-sample.json).
  • This issue means compressed objects in Cloud Storage larger than 32Mb are not supported (don't use gsutil -z or -Z to upload them).
  • This issue is fixed.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].