Running gScreen in the cloud

Back to Help

gScreen is very easy to set up in a server provided by a cloud provider such as DigitalOcean, AWS, or Google Cloud.

Why would you want to do this? The main reason is that it's a lot easier to share your slideshow with multiple viewers this way, especially when all viewers are not on the same home network. As an example, you could use this to provide a private stream of family photos & videos to grandparents, or other loved ones.

Note
The steps outlined on this page are technical and require that you have some experience with the Linux command-line. Please reach out if you need assistance.

Step 1: Acquire hardware

Setting up a server is out-of-scope here, but it's quite easy to get started with one of these tutorials:

Make sure to pick a Linux distribution like Ubuntu or Debian; Windows and other UNIX variants are not supported at the moment.

Step 2: Download and set up gScreen

Follow the steps in the Getting Started guide to download gScreen and connect it to your Google account. Once that's done you should be able to run this command to start the server:

❯ ./gscreen start --data-dir ~/gscreen-db
Starting web server at 127.0.0.1:9999

The webserver is running on localhost, and so isn't accessible from the outside world just yet. This is by design...please consider the security of your media very carefully if you plan to run the webserver on 0.0.0.0.

Step 3: Allow external access

You now want to selectively allow certain people to access this webserver. There are many ways to do this, here are just a few:

Feel free to get in touch if you'd like to discuss any of these options.

Step 4: Secure the server

Now that you have authentication set up, make sure your server is safe from side-channel attacks. This is a comprehensive guide to basic Linux server security: https://github.com/imthenachoman/How-To-Secure-A-Linux-Server

Step 5: You're done!

You should now have a publicly accessible endpoint (which is authenticated and only allows a whitelist of users through) that proxies traffic to the webserver running on 127.0.0.1:9999. Any number of viewers can use this for a shuffled stream of media from your Google Photos account.