@php use App\Enums\ProxyTypes; @endphp Onboarding | Last Hour Cloud
@if ($currentState === 'welcome')

Welcome to Last Hour Cloud

Let's help you get set up.
Get Started
@elseif ($currentState === 'explanation') Last Hour Cloud is an all-in-one application to automate tasks on your servers, deploy application with Git integrations, deploy databases and services, monitor these resources with notifications and alerts without vendor lock-in and more.

You don't need to manage your servers anymore. Last Hour Cloud does it for you.

All configurations are stored on your servers, so everything works without a connection to Last Hour Cloud (except integrations and automations).

You can get notified on your favourite platforms (Discord, Telegram, Email, etc.) when something goes wrong, or an action is needed from your side.

Next
@elseif ($currentState === 'select-server-type') Do you want to deploy your resources to your or to a ? Localhost Remote Server @if (!$serverReachable)

Server is not reachable

Please check the connection details below and correct them if they are incorrect.

Non-root user is experimental: See upstream docs

If the connection details are correct, please ensure:

  • The correct public key is in your ~/.ssh/authorized_keys file for the specified user
  • Or skip the boarding process and manually add a new private key to Last Hour Cloud and the server

For more help, check this upstream documentation.

Check Again
@endif

Servers are the main building blocks, as they will host your applications, databases, services, called resources. Any CPU intensive process will use the server's CPU where you are deploying your resources.

is the server where Last Hour Cloud is running on. It is not recommended to use one server for everything.

is a server reachable through SSH. It can be hosted at home, or from any cloud provider.

@elseif ($currentState === 'private-key') Do you have your own SSH Private Key? Yes No (create one for me) @if (count($privateKeys) > 0)
@foreach ($privateKeys as $privateKey) @endforeach Use this SSH Key
@endif

SSH Keys are used to connect to a remote server through a secure shell, called SSH.

You can use your own ssh private key, or you can let Last Hour Cloud to create one for you.

In both ways, you need to add the public version of your ssh private key to the remote server's ~/.ssh/authorized_keys file.

@elseif ($currentState === 'select-existing-server') There are already servers available for your Team. Do you want to use one of them?
No (create one for me)
@foreach ($servers as $server) @endforeach Use this Server
@if (!$serverReachable)

Server is not reachable

Please check the connection details below and correct them if they are incorrect.

Non-root user is experimental: upstream docs

If the connection details are correct, please ensure:

  • The correct public key is in your ~/.ssh/authorized_keys file for the specified user
  • Or skip the boarding process and manually add a new private key to Last Hour Cloud and the server

For more help, check this upstream documentation.

Check again
@endif

Private Keys are used to connect to a remote server through a secure shell, called SSH.

You can use your own private key, or you can let Last Hour Cloud to create one for you.

In both ways, you need to add the public version of your private key to the remote server's ~/.ssh/authorized_keys file.

@elseif ($currentState === 'create-private-key') Please let me know your key details.
@if ($privateKeyType === 'create') ACTION REQUIRED: Copy the 'Public Key' to your server's ~/.ssh/authorized_keys file. @endif Save

Private Keys are used to connect to a remote server through a secure shell, called SSH.

You can use your own private key, or you can let Last Hour Cloud to create one for you.

In both ways, you need to add the public version of your private key to the remote server's ~/.ssh/authorized_keys file.

@elseif ($currentState === 'create-server') Please let me know your server details.
Non-root user is experimental: upstream docs.
Continue
@elseif ($currentState === 'validate-server') I need to validate your server (connection, Docker Engine, etc) and configure if something is missing for me. Are you okay with this? Validate & configure Let's do it!

This will install the latest Docker Engine on your server, configure a few things to be able to run optimal.

Minimum Docker Engine version is: 22

To manually install Docker Engine, check this documentation.

@elseif ($currentState === 'create-project') @if (count($projects) > 0) You already have some projects. Do you want to use one of them or should I create a new one for you? @else Let's create an initial project for you. You can change all the details later on. @endif Create new project!
@if (count($projects) > 0)
@foreach ($projects as $project) @endforeach Use this Project
@endif

Projects contain several resources combined into one virtual group. There are no limitations on the number of projects you can add.

Each project should have at least one environment, this allows you to create a production & staging version of the same application, but grouped separately.

@elseif ($currentState === 'create-resource') Let's go to the new resource page, where you can create your first resource.
Let's do it!

A resource could be an application, a database or a service (like WordPress).

@endif
Skip onboarding
Restart onboarding
Feedback