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

Welcome to MapleDeploy

Connect your first server and start deploying in minutes

What You'll Set Up

Server Connection
Connect via SSH to deploy your resources
Docker Environment
Automated installation and configuration
Project Structure
Organize your applications and resources
Let's go!
@elseif ($currentState === 'explanation') MapleDeploy automates deployment and infrastructure management on your own servers. Deploy applications from Git, manage databases, and monitor everything—without vendor lock-in.

MapleDeploy handles server configuration, Docker management, and deployments automatically.

All data and configurations live on your servers. Works offline except for external integrations.

Get real-time notifications via Discord, Telegram, Email, and other platforms.

Continue
@elseif ($currentState === 'select-server-type') Select where to deploy your applications and databases. You can add more servers later.
{{-- MapleDeploy branding: Hetzner Cloud provider removed --}}
@if (!$serverReachable)

Server is not reachable

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

Non-root user is experimental: {{-- MapleDeploy branding: link to upstream Coolify docs for technical reference --}} 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 Coolify and the server

{{-- MapleDeploy branding: link to upstream Coolify docs for technical reference --}} For more help, check this documentation.

Check Again
@endif

host your applications, databases, and services (collectively called resources). All CPU-intensive operations run on the target server.

The machine running MapleDeploy. Not recommended for production workloads due to resource contention.

Any SSH-accessible server—cloud providers, bare metal, or self-hosted infrastructure.

@elseif ($currentState === 'private-key') Configure SSH key-based authentication for secure server access. @if ($privateKeys && $privateKeys->count() > 0)
@foreach ($privateKeys as $privateKey) @endforeach Use Selected Key
OR
@endif

Use Existing Key

I have my own SSH key

Generate New Key

Create ED25519 key pair

Uses public-key cryptography for secure, password-less server access.

Add the public key to your server's ~/.ssh/authorized_keys file.

MapleDeploy generates ED25519 keys by default for optimal security and performance.

@elseif ($currentState === 'create-private-key') Configure your SSH key for server authentication.
@if ($privateKeyType === 'create') @else @endif @if ($privateKeyType === 'create')

Action Required

Copy the public key above and add it to your server's ~/.ssh/authorized_keys file.

@endif Save SSH Key

Private keys are encrypted at rest in the database.

Deploy the public key to ~/.ssh/authorized_keys on your target server for the specified user.

Supports RSA, ED25519, ECDSA, and DSA key types in OpenSSH format.

@elseif ($currentState === 'create-server') Provide connection details for your remote server.

Non-root user support is experimental. {{-- MapleDeploy branding: link to upstream Coolify docs for technical reference --}} Learn more

Validate Connection

Server must be accessible via SSH on the specified port (default 22).

Use IP addresses for direct connections or ensure DNS resolution is configured.

Root or sudo-enabled users recommended for full Docker management capabilities.

@elseif ($currentState === 'validate-server') MapleDeploy will automatically install Docker {{ $minDockerVersion }}+ if not present.

Validation Steps

Test SSH Connection
Verify key-based authentication
Check OS Compatibility
Verify supported Linux distribution
Install Docker Engine
Auto-install if version {{ $minDockerVersion }}+ not found
Configure Network
Set up Docker networks and proxy
@if ($prerequisiteInstallAttempts > 0)

Installing Prerequisites

@endif Server Validation Start Validation

MapleDeploy installs Docker Engine, Docker Compose, and configures system requirements automatically.

Minimum Docker Engine {{ $minDockerVersion }}.x required. Manual installation guide

Sets up Docker networks, proxy configuration, and resource monitoring.

@elseif ($currentState === 'create-project') @if ($projects && $projects->count() > 0) You have existing projects. Select one or create a new project to organize your resources. @else Create your first project to organize applications, databases, and services. @endif
Create "My First Project" @if ($projects && $projects->count() > 0)
Or use existing
@foreach ($projects as $project) @endforeach Use Selected Project
@endif

Group related resources (apps, databases, services) into logical projects.

Each project includes a production environment by default. Add staging, development, or custom environments as needed.

Projects inherit team permissions and can be managed collaboratively.

@elseif ($currentState === 'create-resource')

Setup Complete!

Your server is connected and ready. Start deploying your first resource.

What's Configured

Server: {{ $createdServer->name }}
{{ $createdServer->ip }}
Project: {{ $createdProject->name }}
Production environment ready
Docker Engine
Installed and running
Deploy Your First Resource
@endif
@if ($currentState !== 'welcome' && $currentState !== 'create-resource')
@endif