- Deploy a Quarto website on App Engine, which has the advantage that the engine is turned on/off automatically (standard environment)
- Use Identity-Aware Proxy to secure the website and manage users via Google IAM
The app.yaml in the root is all you need to deploy a static site on App Engine (docs). Before deploying, make sure:
- you have installed the Google Cloud CLI
- have a Google Cloud project with App Engine enabled; make sure to use the standard environment which can scale to zero instances when no requests are received (docs)
- have enabled OAauth with the consent screen in the project (docs)
With that done, you can then run
gloud app deploy
from the project's root folder.
Follow the steps from the documentation. Using Google IAM, you can add any user that has a Google account. Note that you can use an existing email address to create a Google account. By default, the app is only accessible to internal users (of the organization).
If you want to use Google's OAuth workflow (and hence save yourself the time of building your own), you can either go through a lenghty approval process, or you can:
- Choose to go in testing mode, which allows you up to 100 users
- Make sure to add the external users (as test users) on the project's OAuth consent screen
- Add the IAP-secured Web App user role to the user in the Identity-Aware Proxy applications tab