Skip to content

Getting Started

This guide will walk you through installing Mist and deploying your first application.

Prerequisites

Before installing Mist, ensure you have:

  • A Linux server (Ubuntu 20.04+ or Debian 11+ recommended)
  • Docker installed and running
  • At least 256MB RAM and 2GB disk space
  • Root or sudo access
  • A domain name (optional, but recommended for production)

Installation

Quick Install

The easiest way to install Mist is using the installation script:

bash
curl -sSL https://trymist.cloud/install.sh | bash

This script will:

  1. Download the latest Mist binary
  2. Set up Traefik reverse proxy
  3. Create systemd service for auto-start
  4. Configure firewall rules (ports 80, 443, 8080)

Learn more about installation →

First-Time Setup

After installation, Mist will be available at http://your-server-ip:8080.

1. Create Admin Account

On first visit, you'll see the setup page:

  1. Enter admin email and password
  2. Click "Create Admin Account"
  3. You'll be automatically logged in

2. Configure Wildcard Domain (Optional)

For automatic domain generation:

  1. Go to SettingsSystem
  2. Enter your wildcard domain (e.g., example.com)
  3. Configure DNS with a wildcard A record pointing *.example.com to your server
  4. New web applications will automatically get domains like {project}-{app}.example.com

Learn more about wildcard domains →

3. Configure GitHub Integration (Optional)

To enable Git deployments:

  1. Go to SettingsGit
  2. Follow the instructions to create a GitHub App
  3. Install the app on your repositories

Learn more about GitHub setup →

Deploy Your First Application

Step 1: Create a Project

Projects organize your applications:

  1. Click "New Project" in the dashboard
  2. Enter a name (e.g., "My Portfolio")
  3. Add tags (optional)
  4. Click "Create Project"

Step 2: Create an Application

  1. Open your project
  2. Click "New Application"
  3. Fill in the basic details:
    • Name: Your app name
    • Description: Brief description of your app
    • Port: Application port (e.g., 3000)
  4. Click "Create Application"
  5. Configure additional settings inside the app:
    • Git Repository: Select from connected repos
    • Branch: Choose branch to deploy
    • Dockerfile Path: Path to your Dockerfile (e.g., ./Dockerfile)

Step 3: Add Environment Variables

  1. Go to the Environment tab
  2. Click "Add Variable" or use "Bulk Paste"
  3. Add your environment variables:
    NODE_ENV=production
    DATABASE_URL=your-database-url
    API_KEY=your-api-key

Step 4: Deploy

  1. Click "Deploy" button
  2. Watch real-time build logs
  3. Wait for deployment to complete
  4. Access your app via the generated URL

Configure Custom Domain

Step 1: Add Domain

  1. Go to Domains tab in your application
  2. Click "Add Domain"
  3. Enter your domain (e.g., app.example.com)

Step 2: Configure DNS

Point your domain to your server:

Type: A Record
Name: app (or @ for root domain)
Value: YOUR_SERVER_IP
TTL: 3600 (or auto)

Step 3: Wait for DNS Propagation

DNS changes can take 5 minutes to 48 hours to propagate. Check with:

bash
dig app.example.com

SSL/TLS Certificate

SSL certificates are automatically provisioned using Traefik and Let's Encrypt. Once your DNS is configured and propagated, your application will automatically get an SSL certificate.

Next Steps

Now that you have Mist running, explore these topics:

Getting Help

What's Next?

Coming Soon Features

  • 🚧 Email notifications for deployments
  • 🚧 CLI tool for terminal deployments

Released under the MIT License.