Documentation

Learn how to deploy Launchpage.xyz to your favorite platform and give your domains a professional presence.

Choose Your Platform

Quick Start

Launchpage.xyz is a simple, static HTML site that requires no backend or database. You can deploy it to any static hosting platform in minutes.

Basic Requirements

Repository Setup

First, fork or clone the repository:

git clone https://github.com/simplebytes-com/launchpage.xyz.git
cd launchpage.xyz

Platform Comparison

Choose the deployment platform that best fits your needs:

Platform Best For Key Features Difficulty
Netlify Beginners, quick setup Auto SSL, CDN, easy DNS ⭐ Easy
Vercel Fast global delivery Edge network, instant deploys ⭐ Easy
GitHub Pages GitHub users, free hosting 100% free, Git integration ⭐⭐ Moderate
Cloudflare Pages Cloudflare users, global CDN 275+ PoPs, DDoS protection ⭐⭐ Moderate
Hetzner VPS Full control, unlimited domains Catch-all config, server access ⭐⭐⭐ Advanced
Quick Recommendation: If you're just getting started, choose Netlify or Vercel for the easiest setup. If you want to manage many domains from one server, consider Hetzner VPS.

Customization

Make the launchpage your own by editing the HTML file.

Change Contact Form Endpoint

Update the form action in index.html:

<form class="email-form" id="emailForm" method="POST"
      action="https://contact.launchpage.xyz">

Update Analytics

Replace the Plausible analytics domain:

<script defer data-domain="yourdomain.com"
        src="https://analytics.simplebytes.com/js/script.pageview-props.tagged-events.js">
</script>

Customize Colors

Edit CSS variables in the <style> section:

:root {
    --color-bg-start: #1A2F42;
    --color-bg-end: #2C5F7C;
    --color-accent: #4A9BAE;
    /* ... */
}

Multi-Domain Dynamic Content

The page automatically detects the domain and displays it. You can customize this behavior in the JavaScript section:

// Get current domain
const currentDomain = window.location.hostname;

// Update title dynamically
if (domainElement && prettyDomain) {
    domainElement.textContent = prettyDomain;
}

Need help? Open an issue on GitHub or check out the repository README.

← Back to Home