Skip to main content

Linode

Step 1 - Create a Cloudflare account and buy a domain#

If you already own a domain from a different registrar you can skip this step but if not I highly recommend that you buy your domain from Cloudflare. They are typically the cheapest option as you get domains for base price (the price they pay is the price you pay) without any additional hidden fees. Please note you do not need a higher end domain such as ".com" or ".co.uk", any domain will work even ".xyz" which can be had for as little as €5/y.

  1. Register a free Cloudflare account - https://dash.cloudflare.com/sign-up
  2. Buy a domain - https://domains.cloudflare.com/
  3. Head over to the Zero Trust > Network > Tunnels section and create a new Cloudflared tunnel (Not WARP) - https://one.dash.cloudflare.com/
  4. When prompted enter a tunnel name and click save. This can be anything, for example "WeddingShare".
  5. When presented with the connector options select any of them and copy the connection command. E.g., for Docker it should look something like "docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token ey.......".
  6. Note down only the token as this is the only thing we will need. Do not copy the "--token" part as it is not needed. E.g., "--token {{COPY_THIS_TOKEN_ONLY}}"
  7. Keep this tab open as we'll need to complete the rest of this setup later. But for now we can take our token and use it to set up a Linode instance.

Step 2 - Sign up to Linode and spin up a new WeddingShare instance#

You do not need a super powerful instance to run WeddingShare. The smallest/cheapest option (Shared CPU / Nanode 1 GB) should work fine and is only €5/m.

  1. Register a free Linode account - https://login.linode.com/signup
  2. Spin up a new WeddingShare instance using the StackScript template - https://cloud.linode.com/linodes/create?type=StackScripts&subtype=Account&stackScriptID=1750136
  3. Leave all options in the "Wedding-Share Setup" section as the default values with the exception of the admin username/password. Here you will want to enter your own details.
  4. If you have followed Step 1 above you can enter your Cloudflare token in the optional field.
  5. For "Region" you will want to find the location that is closest to you as this will provide the quickest response times. The further away you select the further network traffic has to travel which introduces delays.
  6. For "Linode Plan" select the Shared CPU > Nanode 1 GB option. This is capped at €5 per month.
  7. For "Security" set a secure "Root Password". You will not use this but it is needed to prevent strangers from accessing your server instance.
  8. Click "Create" and watch your WeddingShare instance get created.
  9. Once completed you should be presented with an "IP Address" copy this and paste it into your browser in the format "http://{{your_ip_address}}:5000" and you should see your WeddingShare instance. If you do you are ready to move on to the next step.

Step 3 - Connect your domain to your WeddingShare instance#

Although you can skip the Cloudflare domain steps completely (Step 1) to save €5/y people don't generally like connecting directly to IP addresses (as they shouldn't) because these are seen as fraudulent and un-secure links. So in this step we'll make the link look prettier and more secure.

  1. Navigate back to Clouflares Zero Trust setup.
  2. By now your Linode instance should have been detected and show at the bottom of the page in the "Connectors" setup. If so click "Next" to complete the tunnel setup.
  3. When presented with the "Public hostname" section. Select your newly created domain from the "Domain" dropdown.
  4. In the "Type" dropdown select "HTTP".
  5. For "Url" enter "wedding-share:5000".
  6. Click "Save tunnel".
  7. Optional - Add the "www" hostname. For this repeat steps 3-6 but this time enter "www" in the "Subdomain" input.
  8. Test your setup by navigating to "https://{{your_domain}}". You should see your WeddingShare instance ready to use. (Note: It may take a minute or two for the setup to save so if you don't see your instance don't panic just yet. Just keep refreshing the page and it should hopefully appear)

Helpful Links#

Zero Trust Tunnel Docs -
https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-remote-tunnel/

Linode StackScript Template -
https://cloud.linode.com/linodes/create?type=StackScripts&subtype=Account&stackScriptID=1750136