# Introduction

Thanks for using LaunchPal.

Here is a quick video showing you how to use Launchpal.

{% embed url="<https://www.youtube.com/watch?v=D2GtkeFarps>" %}

LaunchPal makes it easy to run your [self hosted apps](/applications/applications) on [the cloud](/hosts/hosts).

If you want to know whats new in Launchpal, you can [read more about some of our great new changes](/welcome/whats-new).

If you're not a member yet, [read here about how you can signup](/welcome/how-to-sign-up).

Once you're signed up - take some time to explore our [core concepts](/welcome/key-concepts).

Of course, if you have any questions you can always [chat to us on support](/welcome/support).

**LaunchPal is production ready!**

We have thrown a ton of traffic at this thing to make sure it does not fall over! And we worked with more then 100 beta testers over 3 months to fix bugs and improve features.


# Changelog

This page lists the changes to Launchpal.

### Some apps discontinued

We have removed most of the unused apps from launchpal for new projects:

* Funnel Flux
* OpenVPN
* Geo IP
* Page Rip

### Domain registration discontinued

As we could no longer offer competitive domain registration, this feature has been removed from Launchpal.

### Linode support removed

Due to changes in the Linode API we have had to remove support for new projects. Please contact us if you want us to reintroduce support for Linode. Existing projects will continue to work.

***

## May 2018

### FunnelFlux Managed Service

<mark style="color:red;">NOTE: The Funnel Flux app is no longer available for projects</mark>

⚠️ **Important notice for FunnelFlux users**

FF now have their own managed service which includes support for installing and deploying FunnelFlux.

We don't feel Launchpal can offer additional value on top of this. We will be removing the app from the available Projects you can create.

**FunnelFlux will NOT be available for NEW projects from 18 May 2018.**

You can continue to run your existing FunnelFlux projects with us. If you want to move to FunnelFlux's managed service, you can reach out to support on chat and we can look at helping you migrate.

### Email Forwarding Available

We have a new feature in beta. Its been tested with a few users and its working well.&#x20;

📮 **Email Forwarding**

If you need to receive email for your domains - you can ask us on Chat to enable email forwarding for you. Just mention the domains, addresses and where to forward them.&#x20;

The cost is $3 per domain per month, and it gives you 25 email addresses that can be forwarded. You can forward 10,000 emails per month per domain.

If there is sufficient demand we will look at building it into the launchpal interface.

***

## April 2018

### SSL Renewal Rate Limit Fix

There was a small bug which in some circumstances caused your projects to fail to generate new SSL certificates. The cause was a LetsEncrypt rate limit that was hit.

**This has been fixed**

If you notice SSL issues with a project or domain - please undertake a [change server action](https://help.launchpal.com/getting-started/changing-servers.html) first. This should resolve the issue.

If it doesn't, and you continue to have SSL issues - please chat to us on Support.

***

## March 2018

### Domain auto renewal fixed

<mark style="color:red;">NOTE: Domain registration is currently not available.</mark>

We discovered a bug that broke the "auto renew" toggle for your launchpal registered domains.

If you have registered a domain through launchpal - I urge you to [check your domains](https://app.launchpal.com/domain) to make sure auto-renew is set correctly to on or off.

<img src="https://cloud.headwayapp.co/changelogs_images/images/big/000/011/982-19b8f3289f77e9112f6a9d9eb60e4052502f2b3a.png" alt="" height="43" width="560">

If its not set correctly, just click it to toggle. Then just refresh your browser to make sure the setting remains set correctly.

If it doesn't, please contact us through support chat with the button in the bottom right of your screen.

***

## January 2018

### Free GEO IP App

<mark style="color:red;">NOTE: The GEO IP App has been discontinued.</mark>

We just added the freegeoip app to launchpal so you can run your own geoip api. For more information about freegeoip, [check their website](https://freegeoip.net/). We will add a guide to the help section soon.

To use freegeoip - just create a new project and select "Freegeoip" as the app for the project with the default settings. Assign a domain and when the project is live - just browse to port 8080 for the domain you assigned, e.g. <http://geoip.yourdomain.com:8080>.

***

## December 2017

### New pricing plans

If you have more then 3 projects live for most of the month and are still on the $1/projectday pay-as-you-go plan, I recommend you check our new pricing plans.&#x20;

* 5 Projects - $125 per month
* 10 Projects - $200 per month
* 25 Projects - $250 per month

If you want to change to these plans, or need more? Get in touch via the chat.

You can read more about [how these new plans work here](https://help.launchpal.com/billing/pricing.html).

***

## November 2017

### Bye bye "unknown failures"

Just released a new build for Launchpal. Small improvement on the front end, but bug improvements on our backend.

You may in the past have noticed "unknown failures" when building your projects. This is now resolved so you don't get locked out of your projects when a build or change fails.

Each project now has its own "jobs" page where you can check the status of the changes you make to it - like changing server, creating a adhoc backup, etc.

If things go wrong - it will show in the Jobs page for the project. But the project will stay alive.

If something goes wrong during Change Server - we will now automatically revert back to the previous build/server for that project so you can continue working on it or try again.

## October 2017

### Virtual Domain Support

Any new projects you now create will have basic virtual domain support.&#x20;

This will enable you to host separate files for each domain assigned to a project.

You can [read more detail here](https://help.launchpal.com/getting-started/domains/virtual-domains.html) and understand the limitations.

Note that this only applies to your user files.

### Bulk Project Creation

We just added a small enhancement to Launchpal which makes it easier to [create several copies](https://help.launchpal.com/getting-started/bulk-project-creation.html) of the same project.

<img src="https://cloud.headwayapp.co/changelogs_images/images/big/000/007/775-194b19de1caad51ef419fd98d3c454791bb9ebea.png" alt="" height="218" width="560">

## September 2017

### Rip rip rip that page!

<mark style="color:red;">NOTE: The page rip app is no longer available for new projects</mark>

A new app from us! It will make your life so much easier. Can you guess what it is?

The easiest page copier to raise its head on the inter webs.

Enter one of your landing page URLs, pick a path - and it goes and rips the whole thing to your server. It can replace all links on the page, and comes with a basic but very handy html editor build in.

Two important benefits:

* Its self hosted! ... Of course.
* It syncs to your dropbox, so you can make changes locally.

Cool shit if you ask me! Check out the [help documents](https://help.launchpal.com/applications/page-ripper.html) to find out more.

**WARNING** Of course use this responsibly. Don't go copying other peoples websites that you don't hold the rights to. It can land you in a sea 🌊 of trouble.

***

## August 2017

### Better domain pricing

A few updates for you today on domain pricing, 202, bug fixes and a secret new app ;)

### Domain pricing

We have agreed **better domain pricing** with DNSimple for most of the TLDS for your first year registration.&#x20;

We now have 14 TLDs below $10. Here are some examples of reduced prices.

* .com was $14, now $9
* .click was $10, now $9
* .nl was $12, now $8
* .link was $14, now $9
* .org was $14, now $11
* .asia was $25, now $15
* .news was $21, now $18

Note this is first year price only, and excludes the $8 whois privacy.

### 202 Multi Domain Support

<mark style="color:red;">NOTE: The 202 app is no longer available for projects</mark>

There was a bug that prevented your 202 apps to use multiple domains on the same server. We have now fixed that so that you can assign more then 1 domain to a 202 project and both will work.

### Bugfixes

No need to go through the detail on these, but this update includes a bunch of bug fixes.

### Surprise

Not going to tell you what it is. Its a new app. And it will show up in Launchpal in a few days time! We are very excited about it. But we need to test it first. So keep an eye out for more news in a few days.

***

## July 2017

### 📉 Project monitoring

Check it out! You can now monitor the state of the server running your project. You can see some basic metrics like CPU and Memory usage. Then when needed just use [Change Server](https://help.launchpal.com/getting-started/changing-servers.html) to upgrade or downgrade your project server.

<img src="https://cloud.headwayapp.co/changelogs_images/images/big/000/005/623-f20617ecc19edef678093d8666534d3da2d64222.png" alt="" height="476" width="560">

Monitoring is available for any projects created from today!

### Domain Registration  🎉

We said it would be back, and as of today ... it is! Domain buying within Launchpal is now enabled again. It works pretty simple:

1. search for a domain
2. select it
3. we buy it using dnsimple
4. we charge your card for the same price as dnsimple charge us

### ❓Clearer host errors

We made it easier for you to understand why your project failed to build. When you get an error building a project, hover over the error notice in the project overview for a better explanation of what went wrong.

<img src="https://cloud.headwayapp.co/changelogs_images/images/big/000/005/624-d224646dc526da8436e2d9ecf75dead63a5a1018.png" alt="" height="179" width="318">

***

## June 2017

### 👹 WordPress XMLRPC DDoS

Wordpress is a honeypot for bots and hackers! One of the things they try and abuse is xmlrpc. xmlrpc is normally enabled in WordPress by default, and is used by Wordpress to allow you to [create blog posts remotely using popular blogging apps](https://codex.wordpress.org/XML-RPC_Support). XmlRPC uses your Wordpress admin login for authentication which you set when you created your Project in Launchpal.

If xmlrpc gets hit too hard by bots, this can cause, in effect, a DDoS attack on your database causing your DB to go down. This is why you may have seen the dreaded "Error establishing database connection" warning in Launchpal.

We've disabled it on our Wordpress installs created after 28 June. If you have any queries, concerns, or want it re-enabled, just get in touch with support.

### 💰 Your Account

We launched at the start of July and enabled paid subscriptions. You can easily view your next bill, get a breakdown of charges, lookup past invoices and change your billing details. See our [Billing FAQ](https://help.launchpal.com/billing/faq.html) for more info.

ps. If you have not yet subscribed - [please do so asap](https://app.launchpal.com/account). If not your account will be closed.

***

## May 2017

### 4th Host - Linode

<mark style="color:red;">NOTE: Linode support is no longer available for new projects</mark>

We just added support for Linode servers as a result of many users asking for this.

Running servers on Linode yourself is not easy. Its a bit like AWS. Quite complicated.

Launchpal makes this super easy .. with just a few clicks you can launch a server on Linode.

The [help guide has been update](https://help.launchpal.com/hosts/linode/) to show how to get your Linode api keys.

### Some minor fixes

Nothing exciting. Each app now has min. server requirements, and dropbox can be re-authenticated. More details below.&#x20;

Added the following fixed/improvements

### Minimum server requirements

Each app now has a minimum required server specification so you can not create a server that doesn't have enough memory for the app. For example Wordpress requires at least 1GB.

<img src="https://cloud.headwayapp.co/changelogs_images/images/big/000/004/220-285659813bd6888d41a809cca24f37b4144ebe44.png" alt="" height="288" width="560">

### Dropbox re-authentication

Dropbox can be re-authenticated. Should you accidentally delete the dropbox authentication, LaunchPal will now notice this and ask you to reauthenticate and ensure files are in Sync!

### DNS Only Mode for Domains

We know the service we use for domains is pricey! And we know you 💘 Launchpal and want to use it for more then 1 domain.&#x20;

So we worked overnight to implement this new import function.

Just point your domain to our nameservers and import.&#x20;

⚠️ **WARNING:** We have no way for you to add additional records to the DNS in LaunchPal for things like email, google verification, or Voluum cnaming. So only import clean domains that don't need other services on the DNS.

<img src="https://cloud.headwayapp.co/changelogs_images/images/big/000/004/043-c49073a2a1c0114487adf80dbef688ea0752f5bb.png" alt="" height="140" width="560">

[You can read more about importing on our help pages.](https://help.launchpal.com/getting-started/domains/dns-only-mode.html)

### Prosper202

<mark style="color:red;">NOTE: The 202 app is no longer available for projects</mark>

<img src="https://cloud.headwayapp.co/changelogs_images/images/big/000/004/025-bce24cc18236c316e66c2a5025a47ddcff91540c.png" alt="" height="151" width="560">

We're pleased to add the Prosper202 tracker to our app lineup. You can [read more about Prosper202 on their website](http://prosper.tracking202.com/apps/). A guide will follow soon. Any issues please report them to LaunchPal support!

*Note* 202 is a paid product so you will need a 202 licence which you can get at the [202 website](http://prosper.tracking202.com/apps/).

### Noipfraud WordPress Plugin

Noipfraud now includes a WordPress plugin to make things even easier!

<img src="https://cloud.headwayapp.co/changelogs_images/images/big/000/004/018-4ff8e34a8835cc5a28d644c0d441620139b71f6c.png" alt="" height="198" width="560">

***

## April 2017

### Auto Optimization

HTML/JS Minification & client-side caching headers are now enabled by default to make your content load fast and efficiently. This can optionally be switched off in the Project details page.

### Auto SSL

Easy HTTPS! All Projects now automatically generate an SSL certificate when you first visit them.

### Templates

Templates are a way to store and re-use a Project configuration. For example, install WordPress, set up themes and plugins and use it as a base for future projects!

### Backups

Project servers are automatically backed up once per day. Manual backups can be requested.

You can roll-back a Project to a particular backup or even launch a new project from a backup.

***

## Febuary 2017

### Various improvements

* Option to pre-configure WordPress and NoIp + WordPress is available
* Domain registration is now working
* There is now an option to enter noip credentials at build time so that the install is ready to go once launched

<img src="https://cloud.headwayapp.co/changelogs_images/images/big/000/002/523-1a53dcad62b6c929ea3ae1948673a5b8061123d9.png" alt="" height="230" width="560">

* Added a noip + wordpress combo app
* Added OpenVPN as an app (<mark style="color:red;">NOTE: The VPN app is no longer available for projects)</mark>
* Projects have additional state indicators for long-running jobs like enabling/disabling SSHD and rebooting
* Searching project by name is now supported in the project overview, with as-you-type results
* App links in project overview now direct to the correct app path, for example, /app for noip, :943/ for openVPN, etc
* The domain purchase box can now provide suggestions based on keywords that you enter. Clicking the domain will pre-fill the box and present the opportunity to buy. You can still type a full exact domain if you prefer and availability will be checked.

<img src="https://cloud.headwayapp.co/changelogs_images/images/big/000/002/521-94861ab09c0623768f43343f5d016306b9819176.png" alt="" height="436" width="560">

### Restart server

A server restart command is available from the Project management area:

<img src="https://cloud.headwayapp.co/changelogs_images/images/big/000/002/520-357d7a9b48361f6338758a5cd44fd0d19886c6da.png" alt="" height="189" width="243">

### Server Access

SSHD credentials along with a toggle on/off are available in the Project settings area:

<img src="https://cloud.headwayapp.co/changelogs_images/images/big/000/002/519-b98c4249fb13eba6fbf123bfc484667e243ed83b.png" alt="" height="228" width="560">

### Noip default install path

Numbers and hyphens are stripped from the project name to create the default install path

<img src="https://cloud.headwayapp.co/changelogs_images/images/big/000/002/518-9198d9db018d90ce10d600c6dd2ed7890ec206db.png" alt="" height="311" width="560">

### Styling

Changed the colour from the confusing red to a blue/purple tone and changed overall theme feel.


# Introduction

Thanks for using LaunchPal.

Here is a quick video showing you how to use Launchpal.

{% embed url="<https://www.youtube.com/watch?v=D2GtkeFarps>" %}

LaunchPal makes it easy to run your [self hosted apps](/applications/applications) on [the cloud](/hosts/hosts).

If you want to know whats new in Launchpal, you can [read more about some of our great new changes](/welcome/whats-new).

If you're not a member yet, [read here about how you can signup](/welcome/how-to-sign-up).

Once you're signed up - take some time to explore our [core concepts](/welcome/key-concepts).

Of course, if you have any questions you can always [chat to us on support](/welcome/support).

**LaunchPal is production ready!**

We have thrown a ton of traffic at this thing to make sure it does not fall over! And we worked with more then 100 beta testers over 3 months to fix bugs and improve features.


# How to sign up

Signing up is easy.

Just head over to <https://app.launchpal.com> and click the signup button.

Then enter your email and choose a password.

We will send you a confirmation email to make sure we have the correct email on file.

Click the link in the confirmation email to confirm your email and account.

If you have not received the email within a few minutes [please contact support](https://github.com/ajph/launcher/tree/1f22876bcd20630b81ec6355e46bbe94b573ef9b/support.md).

You're now all set to look around and [start creating your first project](/getting-started/create-your-first-project).

You can explore our interface for free to check it out. When your ready to create your first project, you will be asked to create your paid subscription.

For help on [Pricing](/billing/pricing), [Billing FAQ](/billing/faq) and [Your Account](/billing/my-account), check the relevant sections of this help site.


# Get Support

We've made it super easy for you to get support, request features or report bugs.

Just go to our website and login if you can.

As a first port of call - always check the [self help section](https://help.launchpal.com). Scroll through the content in the sidebar, or use search to find what you need. If its not there let us know.

The support chat is avaible from the login page, as well as when you are logged in.

We use [intercom](https://intercom.com) for support. Its integrated with facebook messenger (@launchpal) so you can reach us there as well.

## Open the chat window

Whenever you need to chat to us, just click the support button.

It looks like this:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F6e50b33f614ce5ca90fd3b7b9a81c00d296ee9b2.png?generation=1600786480837913\&alt=media)

When the chat window opens it may either show you a list of your most recent conversations, or it shows you the messages in a specific conversation.

## List of Conversations

When you see the chat window it will show you your most recent conversations like this:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F3800873ba3c7200545063b190e89924a4062aabe.png?generation=1600786481265601\&alt=media)

You can click any of the existing chats to continue chatting.

## Continue an existing conversation

This is what the message window looks like.

You can click the highligted < button to return to your list of conversations.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fb65aca1a1855834d0b9ebeee972f575196137685.png?generation=1600786480656218\&alt=media)

## Start a new chat

If you need to talk to us about something new, then just start a new conversation by clicking the button below.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F75063e4f1f80f6e37310751b5535c36097a7e2a7.png?generation=1600786481590531\&alt=media)


# Key Concepts

Here is a quick summary of concepts within LaunchPal:

* [**Projects**](https://github.com/ajph/launcher/tree/1f22876bcd20630b81ec6355e46bbe94b573ef9b/projects.md) are like campaigns. They are a collection of files and/or an App that you want to host on the web.
* [**Apps**](/applications/applications) are the core software or functionality for your project . For now each project is one app, but in future we may allow you to have multiple apps in a project
* [**Servers**](/hosts/hosts) host your project and app. They should be treated as disposable parts of your business that you start and destroy as you launch and kill campaigns.
* [**Domains**](https://github.com/ajph/launcher/tree/1f22876bcd20630b81ec6355e46bbe94b573ef9b/domains.md) can be associated with any project or app. You can create as many subdomains for a domain as you want.
* [**Templates**](https://github.com/ajph/launcher/tree/1f22876bcd20630b81ec6355e46bbe94b573ef9b/templates.md) are a snapshot of a project to make it super easy to save and recreate your favorite setup.


# What's new

You can always find notification of the latest changes in the launchpal app or on our [updates page](https://updates.launchpal.com).

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F35bfbc6ceb4267d43a342da1fec9b23a18e17a01.png?generation=1600786476842182\&alt=media)


# Whats a Project

Projects are a collection of files and/or an App that you want to host on the web.

Traditionally, servers are synonymous with apps/landing pages/websites.

**What we're aiming to do is break that conventional wisdom!**

We treat servers as disposable items that can be changed out, scaled up or down as required, and can run on any cloud provider you desire, all with the click of just a few buttons.

**The focus is your project - not your server.**

Every project has a unique name, so make sure you use something meaningful.

When you create your project we suggest a random name which your fine to use if you prefer.


# Create your first Project

Its super simple.

What do you need to get started:

* A LaunchPal account
* An account with one of the [supported hosts](/hosts/hosts)

Make sure your logged into your launchpal account. Your projects screen is the main screen you see after you login. It should be empty for you, like this:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Ffc30053f4433165d5d726010d9ba243edf0accaa.png?generation=1600786478291039\&alt=media)

So go ahead and click that green "Create a new project" button.

## Step 1 Define your project <a href="#step1" id="step1"></a>

Give it a name & choose your app - in this case we will use Landing Page Server.

If you are using a Noipfraud project please make sure you don't name your projectors as a number as there is a bug causing issues with Noipfrayd installation.

⚠️ When choosing a project name, **remember that it has to be unique and can't be the same as another project**. Because at this time its the only way of showing what the project is about, its worth keeping it short but descriptive of the project/campaign.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F8ccba3980b99b304aa542b3dcf3a8590df8f4f4f.png?generation=1600786485633410\&alt=media)

Click next.

## Step 2 Select Your Host <a href="#step2" id="step2"></a>

Choose one of the hosts we support. If your selecting one that you have not used before, you will be asked to authenticate. In this example I will use Digital Ocean, but you can [check the Hosts](/hosts/hosts) section for information about the other hosts we support.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F3dd6a43a6253f8280f0bad35521ebc2c4199cb50.png?generation=1600786479094296\&alt=media)

Once you selected the host, assuming you have not used it before you will be asked to authenticate your account at that host.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F8fe3cda37b6d0aa93af81d5dedded64205e13563.png?generation=1600786479219446\&alt=media)

Once that's been saved, you will see the available locations supported by that host. Choose one that is right for your project.![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fe3ffa58b54840639348c67f577605b2ae6715da4.png?generation=1600786478166529\&alt=media)

After selecting the location, you will see the Sizes available in that region for that host. Select the one you think you need. ![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F11a8e8b510981814b1c353ce80dafcff7051d954.png?generation=1600786478607440\&alt=media)

**⚠️ Remember - with LaunchPal it only takes a few clicks to change the host, region or size of your server.**

Click next to move on.

## Step 3 Select File Management Method <a href="#step3" id="step3"></a>

LaunchPal makes it super easy to save files to your project. You can still use FTP if you want, but I suggest you try the Dropbox sync method or the Drag and Drop method. For this to keep it simple I will use drag and drop. You can [read more about the other options on the File Sync page](/getting-started/file-sync).

Select Drag & Drop ...

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F2f3fd8d38e4dfc0062ab223a7cbf5b7d99454e18.png?generation=1600786479719795\&alt=media)

And drag a zip file of your landing page onto the target area.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fc10dbe73b5db17ccd264adf43fa7ab39a1f078cc.gif?generation=1600786478551445\&alt=media)

Then click Next again ...

Your files will be uploaded and you will be asked to set your domain in the next step.

## Step 4 Set the domain <a href="#step4" id="step4"></a>

The first time you use LaunchPal you will need to register a new domain when you create your first project.

Don't worry - its just a case of entering some keywords you want in your domain and it will show you the available options. Select the option you want and click "Buy Domain". You can read more about it in[ the page about Domains](/getting-started/domains).

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F2f7c3627ff7df4a13c0a82b4e7077d458ca2c13f.png?generation=1600786477427842\&alt=media)

Once you have registered a domain you can also add a subdomain in the same window. Just click the ... and use the add subdomain button, after which you can enter it.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F27c34b1c12c331325663f3569c549d0c35ce8d8d.png?generation=1600786480468544\&alt=media)

Lastly if you already have an old subdomain or domain you want to use that is free - just click Assign.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F48f241f1fa9735286d277fdd72136b53d1c0f092.png?generation=1600786479017740\&alt=media)

And then the interface will update to show you its assigned.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Feb718c48b269313c35e8ab1765d6b8ea9e57585d.png?generation=1600786480218539\&alt=media)

Once the domain or sub domain is assigned, click again on Next and the server will be build for your project.

## Step 5 Building the Project

LaunchPal will then take you back to the project overview screen where your new project is now listed. The status of the build process is shown just below the Project Name and Type.

It takes normally around 5 to 10 minutes for the project to be build, but this depends greatly on your host at that specific time.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F429a6d6c316bdbd269e84fd5466cbd6fec832edb.png?generation=1600786477873233\&alt=media)

The stages the build goes through depends on how you are creating your project, but for a new basic project they are:

* Initializing host
* Setup server
* Preparing project
* Configuring project

## Step 6 Check the completed project

Once its completed and ready your screen will show something like this.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F7888dfe0f113b1f737d524b0eeeccefaf397a82d.png?generation=1600786477612899\&alt=media)

It lists on the left:

* the project name, with an easy button to open the IP address in a new browser tab
* the project type, in this example: `webserver`
* next to the type, the file sync method, in this case `manual` for drag and drop upload
* below that, the size `512mb`, the IP address `95.85.45.204` and the location `ams2`

Then in the middle it shows the date the project was created, and it lists any domains assigned to the project. Each domain is clickable and will open it in a new tab.

On the right is a quick menu for common project actions to add domains or make changes to the server.

## Step 7 Viewing the project details

To view the details of the project, click on the title - as shown by the blue square in the little image below. Clicking the button identified by the green circle will open the IP address in a new browser tab.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F7af07c743ac3115ca653788725eb9ca83fedacc2.png?generation=1600786480002919\&alt=media)

The project screen looks like this:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F7918635d3dc82f7a613a4b1c5ec4fa7b2980ec09.png?generation=1600786479828963\&alt=media)There is a lot going on here, and rather then trying to explain it all, just check the links below to the sections that interest you:

* [Uploading a new version of your pages](/getting-started/file-sync)
* [Automatic optimization of your pages](/getting-started/auto-optimization)
* [Changing your server](/getting-started/changing-servers)
* [Enabling backups](/getting-started/backing-up)
* [Terminal / SSH access](/getting-started/ssh-access)
* [Restarting your project](/getting-started/restarting)
* [Destroying your project](/getting-started/destroying)


# Uploading files and pages

LaunchPal has three methods for you to upload and sync files with your projects.

1. Drag & Drop upload
2. Dropbox
3. SFTP

Each of these are described below.

## Drag & drop upload

This is the easiest method to use for quickly getting a page up on your server if you don't use dropbox.

Just zip up the folder with the landing page on your local machine, and drag it into the target square. And click the upload button.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fc10dbe73b5db17ccd264adf43fa7ab39a1f078cc.gif?generation=1600786478551445\&alt=media)

We dont delete any previously uploaded files.

But any files in your zip file with the same name as files that already exist in your project are overwritten.

Folders with the same name are merged and files in the subfolder with the same name are overwritten in that case.

IMPORTANT: Files continue to be synced to your server if you delete them with FTP or in a SSH session. The only way to remove them from the sync is to contact support and we can do this for you.

## Dropbox Sync

If you can, I recommend you use dropbox for file management.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F8d5525628180aace01d4c6816fefeef0c0d663d7.png?generation=1600786491492479\&alt=media)

Its the fastest way to change files on your server and you get the benefit of dropbox's version history & activity logs should you make unintended changes.

Dropbox Sync is super fast and secure.

We do not have access to other files in your dropbox. We only have access to files in `/Apps/LaunchPal/` folder in your dropbox.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F7c009445fc576b534fb0fb78a80f3e143c4731ee.png?generation=1600786491669781\&alt=media)

Setup is super simple as well.

The first time you select Dropbox as the file management method we will redirect you to dropbox.com where you can login and authenticate our application for access to the special app folder only.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fff341e24768957ea67ed188bbca489b9b7539365.png?generation=1600786491058108\&alt=media)

After you click the Authorize button, a window will open to dropbox.com where your asked to authorize our access to the Apps/LaunchPal folder:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F09fd35fa0559283b42af96926d87db13a6603b0f.png?generation=1600786491228730\&alt=media)

Then once authorized you will see the green tick and you can confirm it as the preferred file management method for your project.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F8010c2850df400f989d3baabf10c564f35884c30.png?generation=1600786490827484\&alt=media)

⚠️ **IMPORTANT**: The dropbox sync is one way only. So changes made to files on your project server will NOT sync back to your dropbox.

👉 **POSSIBLE ISSUE**: Dropbox puts all files on your project with lower-case folder and file names. So make sure you don't mix can and keep it lowercase in your html and file/folder names to avoid 404 errors.

## (S)FTP <a href="#ftp" id="ftp"></a>

If you want to use old school FTP, or you need to remove some files when using drag & drop, then you can always use this - even if you selected one of the other methods when you created the project.

Remember that any changes made to your server will **NOT** be synced back to your dropbox.

You can use any FTP program that supports SFTP mode. SFTP is basically FTP over SSH.

In this example I use Transmit on OSX, but you can use other apps like FileZilla.

### Get the SSH details for your project

In LaunchPal go to the project details screen, and select the `Access` section in the sidebar

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Faf5a92a0dd91386ca2e9895240bebfd91f9b455a.png?generation=1600786492306907\&alt=media)

This will show you the information you need to capture and use in your FTP software:

* The IP address for the server, in this case: `95.85.45.204`
* The Port SSH is running on, in this case `9001`
* The Username, always `root`
* The password - make sure you click the button to show it before you copy it&#x20;

### Setup a favorite/connection in your FTP app

Here is the screen from Transmit, yours may look different but the basic concepts are the same:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F044f44b1d7d6987e6c2edacee5535cd3bda388dd.png?generation=1600786492500167\&alt=media)

The key items are:

* The protocol has to be set to `SFTP`
* The server has the project IP address `95.85.45.204`
* The username is `root`
* The password from the project (hidden)
* The port set to `9001`
* And the remote path set to `/var/www/user/`

Then just save it so its easy to access next time.

### Access your web files

Then just open the SFTP connection, for example in transmit it looks like this once connected.

Remember - your project web files are stored in `/var/www/user/`

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Ff0fe049e0567bb5b3b3c95a38025eb6e853c59df.png?generation=1600786491814025\&alt=media)


# Optimizing pages

LaunchPal gives you the option to have your pages automatically optimized to speed up load time.

It uses [Google Pagespeed](https://developers.google.com/speed/pagespeed/module/) to optimize your landing pages.

Auto optimization is enabled by default but you can easily switch it off for your projects.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F02dceb9d86c062b58905218b0369416acbcc9d9b.png?generation=1600786488858375\&alt=media)


# Automatic SSL / HTTPS

As an affiliate you should know how critical SSL is.

In the past it was ok to avoid it to speed up page load-time.

But now with Chrome and other browsers starting to warn users when viewing HTTP pages, or domains with SSL issues, you should no longer avoid it.

It used to be hard to setup.

But not with LaunchPal. SSL is baked in.

## How to enable SSL

All you need to do to make sure your project and newly assigned domain / subdomain can handle SSL is to make a HTTPS request to one of the pages on the domain.

Thats it.

LaunchPal will see that no valid SSL certificate is available, and will take 20-30 seconds to fetch one for you.

All automatic.

Any HTTPS requests after that will load as quickly as normal because the SSL certificate is in place and valid.

## How to disable SSL

This is not possible right now.

If you really need this please contact support and outline why you need this so we can understand better how best to develop this in the future.


# Domains

Domains can be registered through our platform or you can [manage the DNS only](/getting-started/domains/dns-only-mode) but register them elsewhere.

Once your domain is setup its available for use with Projects.

For new projects (October 3, 2017 onwards) you can have [unique pages per domain](/getting-started/domains/virtual-domains).

Domains and Subdomains can be assigned and reassigned in the interface and no further management is required.

If you change a server or cloud host, the domain is automatically reassigned to the new server.

## Subdomains

You can create as many subdomains as you want. Subdomains can be assigned to different projects.

## Why do they cost so much?

We don't add any markup to the cost of a domain.

We just charge you [the cost we are charged by DNSimple](https://dnsimple.com/tlds), which is the service we use for DNS and Domain management.

If you are concerned about cost then you can always just buy your domains elsewhere and:

* [Use DNS only mode](/getting-started/domains/dns-only-mode), or
* [CName them](/getting-started/domains/cnaming-domains) to one of your LP project domains

## What happens when I leave?

If you want to take your domains with you we can transfer them to you. Just create your own account at DNSimple and contact us on support with the details so we can arrange the transfer.


# DNS Only Mode

With DNS Only mode you can purchase your domains at any 3rd party service, and then let LaunchPal manage the DNS.

That way you still get the benefit of the efficiency of LaunchPal when changing or upgrading projects, but you can continue to use your own preferred domain registration service.

**⚠️ WARNING: We have no way for you to add additional records to the DNS in LaunchPal for things like email, google verification, or Voluum cnaming. So only import clean domains that don't need lots of services on the DNS.**

Here are the steps.

## Step 1 - Import Domain

Assuming you have the domain purchased, go into launchpal - while creating a project or in the domains tab - enter the root domain name and click `Import domain`

🙋 **REMEMBER: Importing does NOT actually import any existing DNS records for the domain.**

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F1652127650494be35c444f5776366e86042bc0e9.png?generation=1600786476714171\&alt=media)

## Step 2 - Set domain Nameservers

Go into your domain registrar's interface and set the domain name servers to:

* `ns1.dnsimple.com`
* `ns2.dnsimple.com`
* `ns3.dnsimple.com`
* `ns4.dnsimple.com`

**Here is an example of doing this in Namecheap.**&#x20;

If you use another registrar and need some help, just chat to us by clicking the chat icon at bottom right of your screen.

Login to your name cheap dashboard and look up your domain you want to manage with LaunchPal. Use search ;)

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fb94590af92b7e83cb843dce252381e54a7f7e533.png?generation=1600786475837048\&alt=media)

Then click the `Manage` on the right hand of the domain row.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fd823f347b0d887c5dcf2f44f117849b8abbd4507.png?generation=1600786476727292\&alt=media)

On the domain management screen find the `Nameservers` section, and click the dropdown to select `Custom DNS`

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fb296e1f6e2f45566b86c5272e4da44ea50225451.png?generation=1600786476367272\&alt=media)

Then replace or enter the required name servers.

## Step 3 - Wait on Propagation

Oh the pain of propagation. This can take seconds for a .com, or days for some weird country domains.

Best way to check is [Whats My DNS](https://www.whatsmydns.net), enter your domain and select `NS` in the type dropdown field:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fdbae6a34b214dcf5097fe72e70f344f499e8f420.png?generation=1600786475849489\&alt=media)

Then make sure it shows the DNSSimple name servers for each of the checks listed in the table.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F80e1de4f97bafc3d58aa668eb5eb35851a152509.png?generation=1600786476024430\&alt=media)

## Step 4 - Assign to project

Once you know it has propagated, you can use the domain for one of your projects.


# CNaming Domains

If you need to use more domains, or prefer to use your own preferred domain registration service like namecheap, then follow the steps below.

You will need at least 1 domain registered in LaunchPal to get the full benefit of automatic DNS changes. So make sure you have a domain registered with us.

Ill use an example here.

The domain I have registered in LaunchPal is **thedevbiz.com**

The domain I will use for my projecty is **cname-test.thedevbiz.com**

The domain I want to use for my project is **cname-test.launchpal.com**

### 1. Create your project

In Launchpal create the project you need and assign it a unique subdomain on the domain you have registered with LaunchPal.

Wait for the project to complete building.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F2402509682ada6a0540506412b53b120550fa18d.png?generation=1600786472851704\&alt=media)

### 2. CName your preferred domain

Next go to the service you use to manage the DNS for your preferred domain.

Add a CNAME record and point it at the subdomain from the previous step.

In this example I am using cloudflare to manage DNS for domains I did not buy via LaunchPal.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fbdbad3d9e1ae3ea33c495164b4e429bd8667c252.png?generation=1600786473867939\&alt=media)

### 3. Wait for propagation

Normally this is pretty quick.

TIP: Rather then loading your domain in your browser to check its available, use a DNS checker like [WhatsMyDNS](http://whatsmydns.net). Just enter your domain and check the A record and it should return the IP for your project once propagated.

## ![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F8c69d4ac8b56663c5c567c34b3f35a3c5e5539f3.png?generation=1600786475585891\&alt=media)

Enter your preferred domain name, select A record and press search.

As you can see the IP of that domain is the same as my project:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fe6d5c5cded3ab4e2537d89c5419d8a4392781273.png?generation=1600786475506382\&alt=media)

Once its propagated like that you can try loading your pages with the new domain.

## 4. Try changing your server

[Go through a server change](/getting-started/changing-servers) to see the benefit of LaunchPal's automatic DNS updates. Here is the example used.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F3bb4d40ce2cdf63f488e20c64a16c80e5d1e5e2c.png?generation=1600786475459214\&alt=media)

And checking the DNS for the CNAME i setup you can see the domain is now pointing to the new server.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Faed52cb4c698e5b2588e25c4093134e3eb044b0e.png?generation=1600786475457019\&alt=media)


# Virtual Domains

It is possible to host several domains on a single project, and have different homepages for each domain.

This is a new feature thats available to projects created from 3 October 2017.

## Limitations

Virtual domains currently only works for user files - not to the app installed on the project.

## How does it work?

To give each domain its own unique homepage, all you need to do is have a folder named as the full domain for each of your assigned domains.

So if you have a project with the following domains assigned:

* sub-a.domain1.com
* sub-b.domain2.com

Then you just need to create a folder with the domains files in a folder in the project root:

* /var/www/user/sub-a.domain1.com/
* /var/www/user/sub-b.domain2.com/

You can create these folders in your Dropbox project folder, or use FTP.

Note that the files are also accessible by using the domain as a folder name in the URL - ie `http://sub-a.domain1.com/sub-b.domain2.com/` will also show the homepage for domain2.


# Change servers

One of the great benefits of launchpal is that you can change your projects with a few clicks, without any downtime.

Now most hosting companies have this.

But LaunchPal is special.

Because you can move your entire project to a different host with a few clicks.

* No changing DNS, we take care of that
* No syncing files, we take care of that
* No pausing traffic, because we switch the domain only when the new server is ready
* So No click loss

## When to use Change Server

Change Server function is similar to [Backups](/getting-started/backing-up) and [Templates](/getting-started/templates), so it may be useful to understand when its best to use Change Server.

Change Server is best when you want to change your existing project so it:

* has a new fresh IP
* move it to a different geo location
* scale the server up or down

It starts a new server, copies settings and files, moves domains and decommissions the old one.

When your looking to save a standard setup that you want to use for creating other projects - [using templates](/getting-started/templates) is best.

If you need to test a change that may cause issues, or roll back to a previous state - then [Backup](/getting-started/backing-up) is the tool for you.

## Example

Lets say I want to move & scale the server for an existing project.

This is my current project - a 512MB droplet in AMS2 using Drag & Drop to sync files:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F6b647ab01581015513d1757b2393591540ff7255.png?generation=1600786494521193\&alt=media)

Now lets say I need to move it to London, and its needs to be 1GB:

Click on the project name and then click on the Change server button in the top right corner.

First you select your host - in this case I will keep it on DigitalOcean

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F7906339da9c70d384a669799158a35958b36d75d.png?generation=1600786494808681\&alt=media)

Next I select london as the location:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F58ef8f618624436b2f5726f218387b37ba59f3bf.png?generation=1600786494601430\&alt=media)

And lastly I increase the size to 1GB:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F15ee373e7423a48cda2a261fe3549c22651526d9.png?generation=1600786495030422\&alt=media)

Then click NEXT which will start the process to change your server

It will create the new server and copy the files across.

Note that it will not switch over DNS until the new server is finished and working.

After 5 to 10 minutes it should be ready.

Like this one:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F3bb4d40ce2cdf63f488e20c64a16c80e5d1e5e2c.png?generation=1600786475459214\&alt=media)

As you can see it is now 1GB, the IP has changed, and its in London.

The domains that I had assigned are now pointing to the new IP address and when I open the domain in my browser - the site is still there like it was in AMS2.

Like magic!


# Templates

A template is a snapshot of a Project at a particular time which can be used to launch new Projects.

⚠️ **When a template is in process of being create you can not make changes to your project.**

## When to use a Template

**Templates** are best suited to create a standard setup that you will use to launch other projects.

The best example here is your preferred Wordpress setup. If you have a bunch of plugins and themes that you always use, then create your project and setup Wordpress like you prefer it. Then template it and launch any future servers from that template.

[**Backups**](/getting-started/backing-up) are more suited to one of rollbacks of a change you wanted to undo, or as a quick way of testing a change and then reverting in case it did not work for you.

[**Changing servers**](/getting-started/changing-servers) is similar again, with the difference being that it will replace your project.

## Create a template

To create one, head to the Project overview and click the actions menu dropdown.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F959fcd032015edec1aeb7746b659dda369e153be.png?generation=1600786487686032\&alt=media)

Then just enter a unique name that describes the template and click create

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F40d9779ba6b43f29e0fb7e7df2c06a799c27d0b8.png?generation=1600786487457537\&alt=media)

You will then see the status of the templating process

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fe9ad00447446118c4312137035d1a211e68faaab.png?generation=1600786488450810\&alt=media)

## Starting a project from a template

After you created your template you can start new projects on any host with the exact same setup as when you created the template.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fbdfd3e152ec90558089f3a09e33983160ccd8cb2.png?generation=1600786487797964\&alt=media)

Then you will see the usual project setup screen, where you enter the name of your project, select the host, etc.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F043dc6af4701d4693645045ea3e41c16484273ff.png?generation=1600786488755408\&alt=media)

Instead of using the templates menu, you can also create a project from a template by just using `Create project` and selecting the `Templates` tab.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F4ea570aebd301a2c8c67c51413b6682ac86471bb.png?generation=1600786488135729\&alt=media)

## Delete a template

When you no longer need a template, just click the `...` and select `Destroy` and confirm when asked if your sure. There is no way to recover .deleted template.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F3678a71c951c0b2b1ecc47263ef811f34b7bdd58.png?generation=1600786488403056\&alt=media)


# Make backups

LaunchPal automatically makes backups of your projects.

It takes a backup once a day.

In addition you can create a backup at any time manually.

Old backups are removed automatically. LaunchPal only keeps the most recent 7 backups available for you. Whether these were created automatically or manually.

⚠️ **When a backup is in process of being made you can not make changes to your project.**

## When to use backups

Backups are best suited to solve problems or test major changes. It allows you to rollbacks a change, intended or unintended.

Backups give you piece of mind.

You want to use [Templates](/getting-started/templates) when you want to save a project configuration as a base image to create new projects from.

[Change server](/getting-started/changing-servers) is there to change the location, type or host of a server.

## How to start a project from a backup

To see the available backups, click on your project title and select the `Backups` tab.

This will list any available backups.

To create a project from one of them, just click the `+` button to the right of the backup you want to use.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Ffcdbf44e1f23b69ffdaf128b8a94ec820646e04c.png?generation=1600786489100035\&alt=media)

You can then give your new project a name. Because its being created from a backup you don't need to select the App to use. After that its the usual project settings of Host, Location, Size, File management. Any of these can be changed.

## How to create a adhoc backup

Backups are created automatically for your project once a day. You can create your own backup manually in addition to that.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F31b091859df22eacf7041910227dfff613076800.png?generation=1600786482004402\&alt=media)

Just click the `Backup Now` button which will start the backup process. You can see progress on the project overview screen.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F2780bb998b9d0dcfaaa441b1d4a9db570d0eed54.png?generation=1600786482220675\&alt=media)

Its will only take a few minutes.

## How to roll back an existing project to a backup

This option is a great way to fix unintended problems.

For example you installed a Wordpress plugin that buggered up your project. Just roll back to a previous backup and it will restore your project like it was at the time of the backup.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fd70550a01eaaa9ac7560ab6dc9768b1e459bc71b.png?generation=1600786481797201\&alt=media)

## How to delete backups

This is not possible at the moment.

Old backups get removed automatically.

Launchpal will keep the 7 most recent backups available for you.


# SSH Access

**This is a feature for power users and support only.**&#x20;

You should not need it as most common actions are build into the launchpal interface.

⚠️ IMPORTANT: Your webfiles are located in `/var/www/user/` on your project server.

## How to access your project via SSH

Its simple as it could be. Assuming your familiar with SSH, just go to the project details screen and click on the `Access` section.

This shows you the info you need.

The SSH command is listed, so just copy and paste. The password is hidden and you will need to click to show it, after which you can select & copy it.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F8f26418d24deb00e9f8a28e1701193bf93bb9486.png?generation=1600786490589328\&alt=media)

## How to disable SSH access

If your security minded and don't like SSH access to be available when you don't need it - then you can easily disable it in the interface by clicking the toggle switch on the right.


# Restarting

In some rare circumstances you may be asked or want to restart the server that your project is running on.


# Destroying

Once your done with a project you can destroy it

At LaunchPal we believe that projects are temporary as long as you need them for your campaign when your running traffic.

Pausing traffic because your going on holiday, or its not profitable.

Template the project and destroy the resources.

Then when your ready to restart your campaign, just start a new project from the template and assign the original domain.


# Bulk Project Creation

With the latest update (3 October 2017) you can now create several projects with the same settings easily.

Just follow [the usual steps to create your project](/getting-started/create-your-first-project).

When you set the name for the project - you can now select the option to create multiple copies of that project.

Each copy is assigned a name automatically which you can change.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F17dd1cfc6dae81c4c421896a79023609008ff79b.png?generation=1600786496279453\&alt=media)

## Limitations

You can not assign domains during project creation when using bulk project mode. You will need to assign them once the project has been created.


# Pricing

Launchpal charges per project and domain.

Projects are charged per day and imported domains per month. You can also register domains through launchpal and we charge the same cost as we incur for the registration.

Please see the [launchpal homepage](https://launchpal.com/#page-block-dz5gb1iso3i8uxr) for our prices. Depending on the number of projects you run, you can choose one of several plans. If you need more projects then the plan shows - get in touch.

When you upgrade to one of these plans - you will pay for the plan - whether you use all the projects or not.

Make sure you check the [My Launchpal Account](/billing/my-account) page and [Launchpal Billing Questions](/billing/faq) page.


# My Account

You can reach the [My Account section](https://app.launchpal.com/account) from the menu icon in the top right corner of the Launchpal Interface

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F19849ec93e87208d9a6aa5b71b96506c6ff01e90.png?generation=1600786490245251\&alt=media)

This will take you to the My Account screen:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F42cd67569345bfcf2389114c583a56a9b2a4c13c.png?generation=1600786489847674\&alt=media)

This section shows you:

* Your email used to register
* When you signed up
* The estimated charge for your next bill
* The date of your next bill
* Activities since your last payment
* Account actions

## Estimated bill

You can get a breakdown of your estimated next bill by clicking the `explain` link. It will look something like this:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fc1952f95e62bf20b1590d583999dba0423bfdb22.png?generation=1600786490216695\&alt=media)

## Change Password

You can easily change your password here. It works the same as when you forget your login password. Just enter your account email and details about resetting your password are emailed to you.

## Change payment method

You can change the card used to pay for your subscription and usage via the [My Account](https://app.launchpal.com/account) page.

When you click that link you will be taken to a form to enter your new payment details.

If you have any outstanding bills, they will be charged to your card once you have confirmed your new payment details.

## Get previous invoices & payment information

You can see & download your previous invoices in your billing portal. Just click the `View billing portal` link in [your launchpal account page](https://app.launchpal.com/account).

On this page you can see:

* Your payment method
* Previous invoices
* Billing address
* Your subscription & plan
* Account timeline & history


# FAQ

Here are some common questions and answers. If you have got a question that is not answered below [please chat to us](/welcome/support).

## How much does Launchpal cost

You can [pricing details on our homepage](https://launchpal.com/#page-block-dz5gb1iso3i8uxr). The price depends on the plan you have signed up with.

## Do you offer higher volume plans?

Yes we do. If you run 3 or more projects we will have a plan for you that gives you cheaper per project prices. We still charge the normal 1 project fee for overages. When you use one of these plans - you get charged for the subscription in advance - whether you use all the projects or not.

## How do I change my plan?

Right now you will have to contact support and request your plan change.

## When do you charge

We charge monthly. Your charge is made up of your subscription for the new month, as well as project & domain cost for the period just ended.

## How can I see how much you will charge

You can always access your estimated next bill and a breakdown of the charges it includes via the [My Account](https://appbeta.launchpal.com/account) menu.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F19849ec93e87208d9a6aa5b71b96506c6ff01e90.png?generation=1600786490245251\&alt=media)

You can read more about [your launchpal account page here](https://app.launchpal.com/account).

## How can I see or download previous invoices

You can see these on your [launchpal billing portal](/billing/my-account).

## How do I cancel

To cancel your paid subscrtion just [chat to us on launchpal support](/welcome/support) and we will take care of it.

## Taxes & VAT

The prices shown on our site and in the estimated next bill are excluding any taxes.

We will add taxes when we charge you based on your region.

If you are in Europe (outside the UK) we can remove the VAT if you provide us with your VAT number.


# About Applications

LaunchPal makes it super easy to install and manage a number of self hosted applications.

**All projects are based off the Landing Page server.** So you can run your landing pages on a "Noipfraud" or "Pageripper" project without needing another one.

## Application Support

We help you resolve issues where we can, but most application related issues would need to be resolved by the company responsible for the software. To help their support teams understand how launchpal works, [please point them to this special page](https://help.launchpal.com/troubleshooting/guide-for-3rd-party-support-teams.html).

## For your landing pages

* [Landing Page Server](/applications/landing-page-server)
* [Wordpress](/applications/wordpress)
* [PageRipper](/applications/page-ripper)

## To filter & track your traffic

* [Noipfraud](/applications/noipfraud)
* Prosper202

## To spy / change your geo location

* [OpenVPN](/applications/openvpn)


# Landing Page Server

This is a highly optimized PHP server with extremely high stability, designed to give you high performance with minimal resources used.

Its fantastic for high volume pop traffic campaigns.

The LP server is the base image for the other webserver based apps, like [Wordpress](/applications/wordpress) and [Noipfraud](/applications/noipfraud). If you want to use any of those apps, please choose the App specific install option.


# Wordpress

This is just a plain jane wordpress, but also well optimized to help increase the performance of a basic wp install.

If your interested in running Noipfraud with Wordpress, [see the page on Noipfraud](/applications/noipfraud).

## Configuration

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fec27534cd87efe62bb74addc94260d1694c7614e.png?generation=1600786481461330\&alt=media)

Please note that the above fields are **optional** and you are not required to enter them into launchpal, but the first time you navigate to the domain you will be prompted to enter this information to setup Wordpress

## Wordpress Support

Wordpress is an open source application and we cant deal with application specific bugs, feature requests or issues. If you have a technician or developer working with you for Wordpress - please make sure they understand how launchpal works. [We have a guide for them here](https://help.launchpal.com/troubleshooting/guide-for-3rd-party-support-teams.html).


# FunnelFlux

Funnel Flux is a tracker backed by STM that's based upon a visual setup process.

You can read more about the features, options and cost[ here.](https://www.funnelflux.com/get/)

⚠️ **FunnelFlux can no longer be used for new projects.**

The reason for this is that FF have released their own managed service, and we recommend you use their service for getting FF installed.


# Noipfraud

NoIPfraud provides a paid link protection service to online marketers. To use Noipfraud with Launchpal, you need both a Launchpal subscription and a Noipfraud subscription.

You can read more about the features and options [here](http://noipfraud.com). If you have any questions about Noipfraud please contact Noipfraud support on their website chat on noipfraud.com, via the chat in their software, or via email @ support.

**Bug: when creating your Noipfraud projects, dont name them with a number as this causes issues with Noipfraud installation.**

## Two apps

To run Noupfraud on Launchpal you can choose either the Basic Noipfraud app, or the Noipfraud+Wordpress app.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F7a7c6a525a04bd79d56fdd9c124930050d451055.png?generation=1600786493482400\&alt=media)

## Configuration

Which ever of the 2 apps you choose - you can preconfigure noipfraud from Launchpal.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F995dd85942b660f363b6b636b8f86acb2ddad2be.png?generation=1600786493253312\&alt=media)

Please note that these are only optional and not required to setup a Noipfraud install but you will be prompted to enter them when you navigate to the domain for the first time if you do not enter them in launchpal.

If you picked the Noip+WP app then you will also be asked to enter the Wordpress config details:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fec27534cd87efe62bb74addc94260d1694c7614e.png?generation=1600786481461330\&alt=media)

## Wordpress Plugin

The Noipfraud Wordpress plugin is already preinstalled when you choose the Noip+WP app.

For more details on how to use & upgrade this plugin please see the guides in Noipfraud support section.

You can access the Noipfraud support section by logging into Noipfraud client, and clicking support.


# OpenVPN

The open source highly secure vpn client.

For more info on openvpn and its features please click [here.](https://openvpn.net/)

Please note that while launchpal will install the app on your server you still will need a client to access the vpn.

## Configuration

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F76a5e7ec75083af9b6aff9b3e82936d740ca41c5.png?generation=1600786492801683\&alt=media)

Please create a secure password to use the vpn preferably at least 8 characters long with a mix of numbers and letters upper and lower case.

After the server is setup you will need to navigate to the domain to finalise the install of openvpn.

The login is on port 943 so open your IP like this in your browser: <https://your-ipaddy:943>

If you don't setup a https domain you and navigate to the domain you should see a screen like this

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F23243fd496c063272d1150cc56d10870436f5ef1.png?generation=1600786492954833\&alt=media)

There is nothing to be concerned with as you are navigating to the site direct to the ip and you are in control of the server, but your browser does not know this.

Depending on the browser you use you will need to click ''ADVANCED" or continue to load the setup page.

You will then be taken to a page that looks like this

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Ff25975277c703544b3d7019ee67dbb07ba57e895.png?generation=1600786493017227\&alt=media)

Please enter in your username and password created during the setup process make sure to select **"Login"** and not connect from the dropdown menu next to the go button.

The next page you should see is

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Ff92f7ab36e97c89d059f11152ea3f38537a49c15.png?generation=1600786492530926\&alt=media)

Here is where you can download your client for your local system so you can connect to the vpn.

## OpenVPN Support

OpenVPN is an open source application and we cant deal with application specific bugs, feature requests or issues. If you have a technician or developer working with you for Wordpress - please make sure they understand how launchpal works. [We have a guide for them here](https://help.launchpal.com/troubleshooting/guide-for-3rd-party-support-teams.html).


# Page Ripper

This is a simple self hosted app to create quick static copies of your web pages on a new project.

⚠️ **BETA** This is the first public release of this app. Its gone through extensive internal testing but I am sure you may find an issue or two. Please report them to our team. Details at the bottom of this page.

![](https://v.fastcdn.co/u/274cc32c/23504881-0-pagerip2.gif)

## Features

* Build in landing page server
* Create static copies of pages & assign custom URLs as needed
* Replace all links with a single target link
* Build in simple HTML editor
* Sync pages back to your project Dropbox for local editing
* Strip Javascript (Optional)

## How to create a Pageripper project

[Similar steps as any of the other apps](/getting-started/create-your-first-project) you can install through launchpal.

* Create new app
* Select Pagerip
* Enter some basic config like username / password
* Select host, region and size
* Select file sync (dropbox is two way sync here 👍)
* Assign domain
* Wait for it to finish

## Warning

First time you login to your new Pagerip project you will first need to accept the "you are responsible for your own actions, we are not responsible if you copy anything that you don't own the rights to".

We provide a tool - you decide how to use it. Don't do stupid shit. If you do - accept the consequences.

## How to copy a page

Here is a quick walk through of how to use the PageRip app. You can create a Launchpal Project to use it - its just like other apps.

But once its up and running follow these steps.

**Step 1 - Open pageripper**

Once the page rip project has finished building, you can open the app by clicking the button next to the title:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F122a44698e48e420f4bd54bc39bfc52de687a27a.png?generation=1600786483303540\&alt=media)

Or you can just enter the IP or assigned domain in your browser with the port number 10001, like this: `http://188.226.160.191:10001`.

**Step 2 - Add a page to copy**

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fba07a327cc3c507f4c3d0169e271e71430e974d1.png?generation=1600786483427915\&alt=media)

Just:

* give it a name
* enter the URL to the page
* enter a custom destination path
* (optional) choose a URL to replace for all links
* (optional) select option to stop all JS from the page

Click Go and wait for it to finish.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fb503252640f3b6309cac97225cf85610719aa1d6.png?generation=1600786483026010\&alt=media)

**Step 3 - Edit the page**

PageRip includes a simple basic html editor. To open it for a ripped page, just click the pencil on the right.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F2c1e20ad1f500c310259817055ae984590f38bb6.png?generation=1600786483859594\&alt=media)

Source code is formatted and you can collapse sections easily via the down arrow in the sidebar.

Use Ctrl/Cmd + F to open the search field:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fa5c7d2bde115ffdb483f08933000e912ecd4158a.png?generation=1600786483923950\&alt=media)

**Step 4 - Dropbox Sync**

If you selected the Dropbox file sync method when you created the project, any pages you rip will be uploaded to dropbox.

You can then edit the page as much as you need locally. Changes are synced back to dropbox and are live on your server within seconds.

**Step 5 - Manual download**

Each ripped page can be downloaded easily. Just click the download icon to the right of the page. Wait for it to finish preparing.

Once the cloud icon is green - you can click it again - to download a zip file of the page.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fe89257f6f03db278bf9552f768492a86ad16c37c.png?generation=1600786484125839\&alt=media)

## Reporting issues

As this is a beta app right now - if you find any issues - please report them to our team through the [main chat support in the launchpal dashboard](https://help.launchpal.com/welcome/support.html).


# About Hosts

One of the main reasons we build LaunchPal was to make it much easier to use and move your campaigns between different cloud hosts.

We will continue to expand the hosts we support.

Right now we support the following hosts:

* [Digital Ocean](/hosts/digital-ocean)
* [Vultr](/hosts/vultr)
* [Amazon Web Services](/troubleshooting/amazon-web-services)
* [Linode](/hosts/linode)


# Digital Ocean

## Connecting to LaunchPal

### Step 1 Get your API Key

* [Signup](https://cloud.digitalocean.com/registrations/new) or [login](https://cloud.digitalocean.com/login) to your DigitalOcean account
* Click the API tab in the menu

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fe104aba2c6c04655aba9f4972b842c68cfb24e35.png?generation=1600786495902269\&alt=media)

* Click to generate a new token

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F488ac76b149465599b2e0fc50bcc901d424ac42b.png?generation=1600786495852074\&alt=media)

* Enter a name for your token and make sure you select to enable Write access

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F439a415a99232756cefa5b5ce69490d26b478ac1.png?generation=1600786495722327\&alt=media)

* Click to copy your new token. It will only be shown once, so make sure you keep the tab open for the next steps.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fe61c5474650264901a9cd89ac771c0c01a3571de.png?generation=1600786495198009\&alt=media)

### Step 2 Enter the key in to LaunchPal

* Follow the steps in the [Create your first project guide](https://help.launchpal.com/getting-started/create-your-first-project.html) and select DigitalOcean for the host. When prompted, enter the key you copied in the previous step.

## Disconnecting from LaunchPal

To change your API keys or remove them from LaunchPal completely, just delete the key that you created for access from the API tab in your DigitalOcean Dashboard.

Your servers will remain fully operational and will still show in the LaunchPal API but you will lose access to some key features until you choose to enter a valid API key.


# Vultr

## Vultr

### Connecting to LaunchPal

#### Step 1 Get your API Key

* [Signup](https://www.vultr.com/register/) or [login](https://my.vultr.com/) to your Vultr account
* ⚠️ Make sure your account is funded - it won't allow you to create servers otherwise
* Click the Account button on the side menu and then the API tab at the top

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F21477508e8bc171833c4794a09da824b94c08bca.png?generation=1600786497942244\&alt=media)![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F36027d0f176915f5f379350e1f8c821a6c85cd25.png?generation=1600786498056147\&alt=media)

* Click to Enable API

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Ff095d3d1ebbec56b2ebdf00cdd13f9ad2dad2ee2.png?generation=1600786497974980\&alt=media)

* ⚠️ Ensure "Any IPv4" and "Any IPv6" fields are listed under the "Access Control" section

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F7d6f688940c00f2d4340cab48c29ca2f98f2b57e.png?generation=1600786498211557\&alt=media)

* Click to copy your access token

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F07bb298bf84b9e24de56e93f40f44551997d22be.png?generation=1600786496453626\&alt=media)

#### Step 2 Enter the key in to LaunchPal

* Follow the steps in the [Create your first project guide](https://help.launchpal.com/getting-started/create-your-first-project.html) and select Vultr for the host. When prompted, enter the key you copied in the previous step.

### Disconnecting from LaunchPal

To change your API keys or remove them from LaunchPal completely, just regenerate the key to change it from your Vultr API dashboard - or disable it completely.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Ffa5878ef74c5af203944de89a19d2831651aa68a.png?generation=1600786498035444\&alt=media)

Your servers will remain fully operational and will still show in the LaunchPal API but you will lose access to some key features until you choose to enter a valid API key.

## Troubleshoot your Vultr connection <a href="#fix" id="fix"></a>

If you have issues creating a server using vultr make sure you check the following:

1 - Make sure the API key allows access from all IPv4 & IPv6

2 - Make sure you have funded your account

3 - If payment for Vultr failed or your card expired - they disable API keys so you need to regenerate them and update your keys in Launchpal


# Linode

{% hint style="warning" %}
Linode have changed their api so we are in the process at investigating whats needed to enable Linode support for new projects. Not all users are affected, and existing projects seem fine at the moment but you may experience issues with change server actions.
{% endhint %}

To use Linode servers for your LaunchPal projects, you will need to generate a API key.

Linode have a [good document explaining the detailed process](https://www.linode.com/docs/platform/api/api-key/). Here is a summary:

* Login to [Account Manager](https://manager.linode.com/) with your Linode account details
* Select the `my profile` link (you will need to reenter your password for security)
* Select the `API keys` tab
* Set a label, for example `launchpal keys`
* I recommend you don't set an expiration time
* Click `Create API Key`
* Copy the API key shown (only once) in the green confirmation box

Screen shots below

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Ff131449faa614d41f27c0eac4ddbcdf7fa315775.png?generation=1600786477005936\&alt=media)

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fb3e3087362d27a0fe2517200824cc20cd9161807.png?generation=1600786477264255\&alt=media)


# Sub accounts

You can read here the easiest way to setup a sub account with the hosts that support it.

Currently we know how to do this on:

* Digital Ocean (guide to follow)
* Amazon Web Services

## Why would I want a sub account

You want to create a sub or dedicated LaunchPal account with your host if you don't want LaunchPal to have access to your main hosting accounts & resources.

In addition, if you have an old Amazon Web Services account (> 3 years old) you will have to create a new account with them. [You can read more about why here](/hosts/sub-accounts).

## Sub accounts on Amazon Web Services

This used to be a chore, but with [AWS Organisations](https://aws.amazon.com/documentation/organizations/) feature this has become super easy.

Here are the steps to do it. Ill assume your logged into your main AWS account.

[Add an AWS account via this link](https://console.aws.amazon.com/organizations/home#/accounts/add) and click the "Create Account" button.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F574c156b8cb6dd02e7f9a404db5a817b5f4a2f8d.png?generation=1600786482428871\&alt=media)

Then enter your Full Name, Email and IAM Role name.

Make sure your email is different from your other amazon/aws accounts. I use GMAIL alias and the `+` trick in gmail (`youremail+alias@gmail.com`) to quickly create new email addresses that go to my main email.

The IAM role name is the name for the role AWS creates to give you main account full access to the sub account.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F10d667c53d56700eeaf87ed9a61b90c58ba5560a.png?generation=1600786482624049\&alt=media)

One you click create, if you see this message (like I do now while writing this guide) [come back later to try again](http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_create.html#orgs_manage_accounts_create-new) 😡.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F8931762692f5b2ac4d9a3a2517565ecdee995b61.png?generation=1600786482863589\&alt=media)

If it keeps happening then just create a brand new AWS account and [then invite that account to your main one](http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_invites.html) and setup [consolidated billing](http://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_from-consolidatedbilling.html).

## Sub accounts on Digital Ocean

Digital Ocean now supports team accounts. This makes it super easy to separate hosting resources for LaunchPal with your other resources.

There is a [great tutorial in DO's help section](https://www.digitalocean.com/community/tutorials/how-to-use-teams-on-digitalocean) so I suggest you use that to get your team setup.

## Sub accounts on Vultr

At this time we don't have a guide. [It doesn't look like sub or team accounts are possible on Vultr.](https://www.vultr.com/faq/#accordion-bill)

So if you use this host the solution is just to setup a new account with them.


# Update wordpress / php on your project

This guide describes the steps to go through to update your projects to newer versions of php 7 and Wordpress. The base OS of your projects has reached End of Life.

You will need to use SSH to login to your project terminal. You can copy the SSH command & password from your Project Access tab - see below.

<figure><img src="https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHqIZ3yl51vlc5ihedX%2Fuploads%2Fc4DoW6XvF3y7FTRBEN9y%2FCleanShot%202024-07-25%20at%2010.49.51%402x.png?alt=media&amp;token=3b421e24-c94c-470e-8141-f575d05bb9ff" alt=""><figcaption></figcaption></figure>

Assuming you connected ok in your terminal - follow the commands in the section below.

{% hint style="warning" %}
If you want us to do this please contact support.
{% endhint %}

The steps below will achieve the following:

* Updating the repo base URL for CentOS 7 EOL
* Fixing the MariaDB 10.2 repository URL
* Updating all packages and restarting services<br>

1. ### Update the CentOS 7 mirrorlist to use the archive

{% code overflow="wrap" %}

```bash
sed -i 's|^mirrorlist=|#mirrorlist=|g; s|^#baseurl=|baseurl=|g; s|^baseurl=.*$|baseurl=http://vault.centos.org/centos/$releasever/os/$basearch/|g' /etc/yum.repos.d/CentOS-Base.repo
```

{% endcode %}

2. ### Update the MariaDB 10.2 repository URL

{% code overflow="wrap" %}

```bash
sed -i 's|^baseurl.*$|baseurl = http://archive.mariadb.org/yum/10.2/centos/$releasever/$basearch|g' /etc/yum.repos.d/MariaDB.repo
```

{% endcode %}

3. ### Enable php-74

```
yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php74
```

3. ### Clean the yum cache

```bash
yum clean all
```

4. ### Update all packages

```bash
yum -y update
```

5. ### Restart the necessary services:

```bash
systemctl restart mariadb nginx php-fpm
```

6. ### Update wordpress

   Login to your wordpress admin and update it as needed.

<figure><img src="https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHqIZ3yl51vlc5ihedX%2Fuploads%2FTABTw3Eu7kBTsBhaove9%2FCleanShot%202024-07-25%20at%2014.59.32%402x.png?alt=media&amp;token=e095cc34-478f-4c04-aa53-fd906cd4e01a" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHqIZ3yl51vlc5ihedX%2Fuploads%2F1npt37zQPKK7iCKA1Yek%2FCleanShot%202024-07-25%20at%2014.59.42%402x.png?alt=media&amp;token=a01080ea-fc0e-4495-a580-607c6ba37464" alt=""><figcaption></figcaption></figure>

7. ### Update Noipfraud Plugin

Download the latest version from <https://noipfraud.com/download/plugin>

Click plugins section in your wordpress admin tab, then click add new plugin

<figure><img src="https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHqIZ3yl51vlc5ihedX%2Fuploads%2FAJOpRqEhGB8J0KQ3E22S%2FCleanShot%202024-07-25%20at%2015.21.06%402x.png?alt=media&amp;token=e1360614-ab09-4e29-8e0a-c084532c6d5b" alt=""><figcaption></figcaption></figure>

Next click "Upload plugin" , then "choose file" then select the plugin file you just downloaded, and click "Install Now"

<figure><img src="https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHqIZ3yl51vlc5ihedX%2Fuploads%2FSfQl83bGKVcxXeqCnD5L%2FCleanShot%202024-07-25%20at%2015.22.27%402x.png?alt=media&amp;token=e7c98ad1-fc0d-4461-9c69-c9d332cca309" alt=""><figcaption></figcaption></figure>

You will now be asked to replace your old version of the plugin. Just double check the versions, make a backup  if you prefer, and click "Replace"&#x20;

<figure><img src="https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHqIZ3yl51vlc5ihedX%2Fuploads%2FdgPJRvR2RE6INsV74lbZ%2FCleanShot%202024-07-25%20at%2015.25.18%402x.png?alt=media&amp;token=be5cdfe1-6238-49ed-982b-05a97e03ccff" alt=""><figcaption></figcaption></figure>


# DigitalOcean API Key Update

DigitalOcean have changed the format of their API keys. Keys issued before 18 April 2022 will stop working at the end of March. Read on if you think you are affected.

{% hint style="info" %}
DigitalOcean refer to the API key as: **Personal Access Token**
{% endhint %}

## Who is not affected?

Anyone that uses DigitalOcean with Launchpal that created a DO project before 18 April 2022 is probably affected.

If you dont use DigitalOcean to host your Launchpal projects - then you are not affected.

If you signed up after 18 April 2022, or added your first DigitalOcean hosted Project after this date, then you are probably already using the new api keys.

## What is changing?

The new tokens will now start with `dop_v1_`. **Old style tokens will stop working on 31 March 2023.**

Old style API tokens looked like this:\
`d0ef82cf18995f84a8fef52341049c774cf7041188f80e6cb842d23a235e846c`

The new style tokens look like this: \
`dop_v1_d0ef82cf18995f84a8fef52341049c774cf7041188f80e6cb842d23a235e846c`

## How do I check my api key?

The only way to check for sure is to try and create a new project using DigitalOcean after 31 March 2023. As we store API keys in encrypted form we can not tell who is using the old or new api keys.

Another option is to check if your api key was generated after April 2022.

Your api keys on DigitalOcean are listed here: [https://cloud.digitalocean.com/account/api/tokens](https://cloud.digitalocean.com/account/api/tokens?i=c82bcd)

<figure><img src="https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHqIZ3yl51vlc5ihedX%2Fuploads%2Fwy9GB6EcHZA6nCztnoX8%2FCleanShot%202023-03-09%20at%2010.16.14%402x.png?alt=media&amp;token=9026e53c-94bb-4d6c-ae1c-9f63c7b51cec" alt=""><figcaption><p>List of DO Tokens</p></figcaption></figure>

To see if a token is actively used by Launchpal - just start creating a project, select DigitalOcean, and wait till the locations show.

<figure><img src="https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHqIZ3yl51vlc5ihedX%2Fuploads%2Fs84ifymfRgSmTlFI1EDi%2FCleanShot%202023-03-09%20at%2010.32.35%402x.png?alt=media&amp;token=8f465ef4-932f-4dbc-b535-ea4a321923ee" alt=""><figcaption></figcaption></figure>

Then go back to your tokens list on DO and refresh the page.

The token used by Launchpal will show "Today" under last used.

<figure><img src="https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHqIZ3yl51vlc5ihedX%2Fuploads%2FsPfS1I6BSnRqfU0fKzvf%2FCleanShot%202023-03-09%20at%2010.18.29%402x.png?alt=media&amp;token=37e4b7d0-467b-4b0b-b6f8-66bcee9edf12" alt=""><figcaption></figcaption></figure>

## How do I update my key?

First [Generate a New Token](https://cloud.digitalocean.com/account/api/tokens?i=c82bcd) in DigitalOcean.

<figure><img src="https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHqIZ3yl51vlc5ihedX%2Fuploads%2FR8Od4XDAMKgIcIGHqTT8%2FCleanShot%202023-03-09%20at%2010.18.48%402x.png?alt=media&amp;token=1c637cf2-455b-4ac8-9f82-a7ca05c9c74b" alt=""><figcaption></figcaption></figure>

Give it a memorable name, and select an expiration time (you can set this to not expire if you want). Make sure you have write enabled.

<figure><img src="https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHqIZ3yl51vlc5ihedX%2Fuploads%2FNyhYffThPU2CXsLZkZd3%2FCleanShot%202023-03-09%20at%2010.20.07%402x.png?alt=media&amp;token=6bb8bed3-6e9f-4850-8083-147eb2e9b656" alt=""><figcaption></figcaption></figure>

Then login to your launchpal account, click the drop down profile icon in the top right corner, and select My Account.

<figure><img src="https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHqIZ3yl51vlc5ihedX%2Fuploads%2Fil320HYhkFLtFoAlGyfX%2FCleanShot%202023-03-09%20at%2010.12.49%402x.png?alt=media&amp;token=f90f6733-f6d9-416a-b6c3-ab52b49773bf" alt=""><figcaption></figcaption></figure>

Next click the "Change Access Key" link under Actions.

<figure><img src="https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHqIZ3yl51vlc5ihedX%2Fuploads%2FL0agenATH5f0PvfthdG0%2FCleanShot%202023-03-09%20at%2010.13.02%402x.png?alt=media&amp;token=abb3124d-3337-4519-8227-ec160193bee3" alt=""><figcaption></figcaption></figure>

And then copy/paste the new DO Token in the DigitalOcean tab and save.

<figure><img src="https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHqIZ3yl51vlc5ihedX%2Fuploads%2FHWJmdmnG833x0R8RYqIN%2FCleanShot%202023-03-09%20at%2010.20.51%402x.png?alt=media&amp;token=26d3f1ad-b1a9-465b-82e1-7531e644fb55" alt=""><figcaption></figcaption></figure>

Now just test create a new DO project in Lauchpal to make sure the new token is working fine.

Your all set.

## What happens if I dont update the api key?

Noting will happen to your project - but you wont be able to launch new projects on DO or make changes to the underlying hardware (like scale up / down) until you have updated your token.


# Dropbox

Here is a list of issues you can experience with Dropbox and how to resolve them where possible.

💡 **Restart your local dropbox app (the one on your desktop) - it solves many of these issues.**

## I can not find my Dropbox project folder <a href="#project-folder-path" id="project-folder-path"></a>

Your dropbox project folder is a subfolder of the `/Apps/LaunchPal/`folder. Here is a screenshot showing the location of the project folder for the `test3` project in the dropbox interface:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F7c009445fc576b534fb0fb78a80f3e143c4731ee.png?generation=1600786491669781\&alt=media)

The folder path is also shown when you create your project:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F8d5525628180aace01d4c6816fefeef0c0d663d7.png?generation=1600786491492479\&alt=media)

Remember the dropbox folder for your project has the same name as the project.

## My project folder is not shown in Dropbox

Here are the things to check in case your project folder is not showing in dropbox

* Make sure you are checking the [correct location in dropox](/troubleshooting/dropbox-files-not-syncing#project-folder-is-not-shown-in-dropbox)
* Restart your dropbox app locally - sometimes it won't sync empty folders.
* Make sure LaunchPal is still an authorised app in Dropbox. Go to your [Dropbox account security settings](https://www.dropbox.com/account/security) and check to make sure Dropbox is listed under the `Apps Linked`. If its not listed (like in the screenshot below) then please contact support.

## LaunchPal is not Linked to Dropbox

Its possible you may have accidently removed LaunchPal as a linked App in dropbox.

If Launchpal is not showing as one of your linked apps in the [dropbox security settings](https://www.dropbox.com/account/security), then please contact support so we can assist you in rectifying this.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F4b5beb1b5da27ccff0ba800b124f585e67ade0f5.png?generation=1600786496000762\&alt=media)

## My pages/images are in Dropbox but getting 404

Dropbox changes all path and file names to lower case when saving it to your project. So if you are using something like`<img src="/img/LOGO.png">` it will not show the image and give a 404 as the image is saved as `logo.png` and therefore you need to update your html to `<img src="/img/logo.png">`

**TIP**: It's good practice to always keep file and folder names lowercase when working cross platform (e.g. Windows on desktop, with Linux on server).


# Project Errors

Sometimes its possible a server build fails.

When this happens the status of the project will show an error message like shown in the screenshot below:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fdc238aecf481a89dfcfb36c15c8f5a0c0555945a.png?generation=1600786490629204\&alt=media)

Here are some of the most common errors you may run into.

## Fatal Internal Error

Something unexpected broke when building the project, or creating a template or backup.

Here are some of the known causes:

* **Amazon Web Services**: If your account is over 3 years old it is not compatible with LaunchPal and therefore projects will show a fatal error. [You can read more about this here.](/troubleshooting/old-aws-accounts-and-ec2-classic) To fix this we suggest you [create a sub account](/hosts/sub-accounts) which is super easy if you follow our guide.
* **Vultr**: Your project on Vultr can show internal errors for various reasons. The common ones are if you have not authorised our IPs to access your Vultr api key, or if you have not funded your account.
* **Server timeout**:  the server failed to let our app know that it completed configuring itself. So we assume it failed. You will need to make sure you [check for new duplicate servers](/troubleshooting/how-to-check-and-delete-duplicate-servers). I recommend you try 1 more time to build the same project, note down the exact settings you use and if it fails again - please contact support with the details through chat.


# How to check & delete duplicate servers

This brief guide can help you in the case where something went wrong in building a new server and a duplicate was created.

It is rare for this to happen, but it can in some cases. This issue for example will happen when hosts have issues finishing a server build in time.

Below is an example of such an issue.

I tried to move this VPN server to a different region, but due to a issue with the host - the process timed out causing this "Fatal internal error" message.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F31bc82c6d97511716891f9291a173131b96acec4.png?generation=1600786494199258\&alt=media)

Looking at my host I can see two servers for this project exist:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fc697c3e1aebfb83490f40e6337a880e3d84d83fd.png?generation=1600786500444915\&alt=media)

There are 2 ways to check which server you can delete.

## Check the IP address

The easiest is to check the IP address.

Just go to the project details to see which IP address is associated with the project:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fc92117d6e243d208395e56de806eefa8b4b061ee.png?generation=1600786494376125\&alt=media)

As you can see, its 46.101.17.175 so I can destroy 178.62.224.200 in the hosts interface. You can not destroy this server through launchpal.

## Check DNS of assigned domains

Go to the \[google dig tool]\(<https://toolbox.googleapps.com/apps/dig/\\>) and follow these steps:

1. enter the (sub) domain assigned to the project
2. make sure A record type is selected
3. check the resulting output for the `ANSWER` line which shows the IP address
4. compare this against the IPs for the project servers shown in your host
5. delete the server with the IP not shown in the DNS

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fa9c82341de13421b1c1b57d08131286c78f66e86.png?generation=1600786494436446\&alt=media)


# Old AWS Accounts & EC2-Classic

AWS made some big changes to improve security a few years ago.

This means that old accounts will not work with LaunchPal.

**If you created your AWS account after 4 December 2013 your OK and can ignore the information on this page.**

If you created your account on or before 4 December 2013, then please check the [special AWS sub-account guide](/hosts/sub-accounts) to show you the easiest & best way to get a new account.

## The Issue

In simple terms - before December 2013 - your account most likely will not support the more secure EC2-VPC, and will have used EC2-Classic.

VPC is a way of securing the network for your AWS instances.

LaunchPal is not compatible with EC2-Classic and requires EC2-VPC.

Here is the relevant information from Amazon - in their classic "*Please read this 17 times*" style.

> If you created your AWS account after 2013-12-04, it supports only EC2-VPC
>
> If you created your AWS account before 2013-03-18, it supports both EC2-Classic and EC2-VPC in regions that you've used before, and only EC2-VPC in regions that you haven't used.
>
> If you created your AWS account between 2013-03-18 and 2013-12-04, it may support only EC2-VPC, or it may support both EC2-Classic and EC2-VPC in some of the regions that you've used.
>
> If your AWS account supports both EC2-Classic and EC2-VPC and you want the benefits of using EC2-VPC with the simplicity of launching instances into EC2-Classic, you can either create a new AWS account or launch your instances into a region that you haven't used before.

[The source of the info is this AWS FAQ Page](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html)

## Can't I just change something in my AWS account

Reading through AWS support documents about EC2-Classic, EC2-VPC and Default VPCs, it seems that with a lot of work it is possible to change an account.

But honestly the better option is [to just create a new account](/hosts/sub-accounts), It's super easy now with AWS Organisations.

Changing your existing account is a bloody pain!

It involves terminating all non-VPC provisioned Elastic Load Balancers, Amazon RDS, Amazon ElastiCache, and Amazon Redshift resources in that region.

Here is the info from Amazon:

> **I really want a default VPC for my existing EC2 account. Is that possible?**
>
> Yes, however, we can only enable an existing account for a default VPC if you have no EC2-Classic resources for that account in that region. Additionally, you must terminate all non-VPC provisioned Elastic Load Balancers, Amazon RDS, Amazon ElastiCache, and Amazon Redshift resources in that region. After your account has been configured for a default VPC, all future resource launches, including instances launched via Auto Scaling, will be placed in your default VPC. To request your existing account be setup with a default VPC, contact AWS Support.

[Here is the source.](https://aws.amazon.com/vpc/faqs/#Default_VPCs)


# How to install multiple apps on 1 project

We've had this question a couple of times from some Noipfraud users so I've decided to write it up as a quick guide.

You may want to install 2 apps on 1 server / project.

In some cases we have done the hard work for you, for example Wordpress+Noipfraud.

But if you for example want to run 202 together with Noipfraud on a single project, the steps below describe the process.

## 1 - Choose the right base app for your project

Create your project as usual and when you need to select the App, pick the one that has the most complex setup.

So if you want 202+Noip - Start your project as a 202 project.

And wait until its finished setting up.

## 2 - Upload the files for the other app

Now you need to upload the files for the other app. Ill assuming you did not select a file management method and ill use FTP.

Get the files for Noipfraud from the usual place. If your not sure - best to ask Noipfraud support.

If its zipped, make sure you unzip it locally.

Then Use the SSH details from the Project Access tab to connect FTP. [There is a detailed guide about that.](/getting-started/file-sync#ftp)

Use FTP to create a subfolder for your files in /var/www/user/.

Make sure its /user/ and not /app/.

Then upload the files to the folder you created in /var/www/user/.

## 3 - Change file ownership

Most FTP clients don't allow you to change file owners. Unfortunately this is required to get for example Noipfraud to work.

You will need a SSH client - for example `Terminal` on macOS or `Putty` on Windows. Again [check this guide for details on SSH access](/getting-started/ssh-access).

Once your logged in with SSH - you may see the following message:

```
The authenticity of host '[192.241.236.64]:9001 ([192.241.236.64]:9001)' can't be established.

ECDSA key fingerprint is SHA256:Vnv7+dxetvOh14a1ecz/LH8dfptr00rb07a8gN4myCA.

Are you sure you want to continue connecting (yes/no)?
```

If you do, just enter `Yes`

Once your at the command prompt, enter the following command:

```
chown -R nginx:nginx /var/www/user/FOLDER
```

where you replace `FOLDER` with the name of the folder you created.

And thats it.

Make sure the software is working. If you run into any issues, hit us up on support and we will try and help.


# Server root access

**⚠️ DO NOT USE THIS GUIDE UNLESS YOU WERE TOLD TO USE IT BY LAUNCHPAL SUPPORT. To get normal SSH access to your project,** [**use the SSH access details**](/getting-started/ssh-access)**.**&#x20;

This guide will help Launchpal support resolve an issue with one of your projects that can not be resolved using the [normal SSH login](/getting-started/ssh-access) details for your project.

The steps depend on the host you are using. We add more hosts as and when required.

## Digital Ocean

Resetting root access for a Digital Ocean droplet is as easy as selecting `Reset root password` in the DO Console for your droplet. This will email you a new password. You can then use that password with SSH to login.

Once logged in you will need to choose your own permanent password and confirm it.

## Amazon Web Services

**⚠️ WARNING: Following the steps in this guide will change the IP of your instance and will cause an interruption to your traffic. So only follow these steps on old projects as instructed by support.**

The projects created on AWS right now dont have a SSH access key set, and there is no way to reset the root password like you can with Digital Ocean.

The process to get SSH access to the main server therefore requires a few more steps then usual.

Make sure you are logged into your AWS Management Console, and you are viewing the EC2 service.

### TLRD;

Here is a summary of the process you will following:

* Detach volume from the project instance
* Attach it to a temporary instance&#x20;
* Use SSH to update the authorized\_keys file on the attached Volume
* Re-attach as Root volume to the project instance

### 1) Set AWS Console to correct location

If your not seeing the instance for your project, double check your in the right region in AWS. You can see the region of your AWS project in the Launchpal interface below the project title (yellow underlined). The the example below the region is EU (Ireland).

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fb26e974f9e56d55249946f7ef474b8e8131977d5.png?generation=1600786492104616\&alt=media)

If your not in the correct region, in the AWS Console, select the location dropdown in the top right, and select the right location from it.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fca7682b51fbaf8e5df360d8237e9bf07a36b7079.png?generation=1600786486032566\&alt=media)

### 2) Find your instance

You need to select the instance related to your project. The easiest way to do this is to search for the IP address shown in Launchpal (green underlined in the example above)

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F52b032239abde97960c02bb07ec672e901981a4c.png?generation=1600786486253814\&alt=media)

To make it easier to find in future, you may want to assign a name to it. Just hover over the name column, click the pencil icon and type a useful name, eg `launchpal server to fix`

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fb68982da330a622f827af826783acb7b54949fd2.png?generation=1600786485662668\&alt=media)

### 3) Note root device path

Select the instance shown (it should only list one if you searched for the correct IP shown in Launchpal), and then in the panel at the bottom select "Description" tab and scroll down till you see the Root device in the right hand column like shown below and make a note of the Root device listed, e.g.: `/dev/xvda` as you will ned this later

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F36b6fabae993a69a6bc0679fc455114f9fa28dcd.png?generation=1600786486693962\&alt=media)

### 4) Stop the instance

With the correct instance still selected, click the `Actions` button at the top and select `Instance State` > `Stop`

This will stop your instance. Wait for it shows `Instance stopped`

⚠️Stopping an instance on AWS will change it IP address and break the connection with Launchpal. If you want to continue using this instance after support have fixed it, please request this so they can assign the started instance to the correct project later on.

### 5) Detach the Volume

In the above shown details pain for the instance (select the instance if its not shown), click the link next to `Root device` which will pop up a small black modal window with further information like this, and make a note of the EBS ID

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F17d50aa3b877f7dbdc4303617de00c253269c2ca.png?generation=1600786485870789\&alt=media)

Next click the link for the EBS-ID. This will show you the details of the Volume attached to the instance.

Make sure the Volume is selected, and using the actions button at the top - click `Detach Volume`

Wait for this to complete. Whilst its doing this it may be useful to name the volume for easy reference.

### 6) Create a new temporary instance

In the AWS console in the same region, create a new instance quickly by selecting the `Instances` section in the AWS sidebar, and clicking the `Launch Instance` button.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Ff1546dabf2e3c8269552551688c2aff09b70ed58.png?generation=1600786486483483\&alt=media)

Use the following choices/sections in the Create instance wizard:

* Step 1 - choose "Amazon Linux AMI" - most likely the top one listed - by clicking `Select` next to it
* Step 2 - choose t2.nano or micro, and click `Review and Launch`
* Step 7 - Under Review, find the `Security Groups` section it should show a SSH rule. If not click `Edit security groups`
* Step 6 - Make sure it now shows the SSH rule and click `Review and Launch` again
* Step 7 - Click `Launch`
* If you already have a preferred AWS key pair setup, select `choose existing` and pick that key pair. If you dont have one, or want to setup a temporary one - select `Create new keypair`, give it a name, and click "Download Key Pair"
* Click `Launch Instances`
* And wait for it to complete creation of the instance - there is an easy link on the page your viewing to go to the instance status. Just click it.
* Hover over the instance Name column, click the pencil, and type a useful name like `temp instance` so its easy to recognise

### 7) Attach volume to new (temp) instance

Select the `Volumes` screen in the sidebar and select the volume you detached in Step 5. If you have lots of Volumes showing then search for the first few characters of the EBS-ID after `vol-`

For example, `04f`

Select the volume, and click `Actions > Attach Volume`. Then select the `Instance` field which should show a drop down of instances. Choose the new instance you created in the previous step 6 - `temp instance`

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fd8afd2dfd45402f58c3f7be8995137f257b93be0.png?generation=1600786486856880\&alt=media)

The `Device` field will be preset on this occasion and you dont need to change it. Then click `Attach`

### 8) Set the new authorised public key on the new volume

This is the most complicated step that requires some commands on the terminal using SSH.

First, you need to connect with SSH to the new instance using the key you assigned in step 6, or created and downloaded. Ill assume here it was downloaded.

Get the IP for the temp instance:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F867edeeb99c46386fa03dc62214d466cff92db5d.png?generation=1600786487047728\&alt=media)

If you are using the key file downloaded from AWS when creating the instance you need to make sure the key file is not read/write by group and others with the following command:

```bash
chmod go-rw /path/to/key
```

Then in your terminal connect to the instance, for example like this:

```bash
ssh -i /path/to/key ec2-user@IP-ADDRESS
```

As this is the first time your connecting via SSH - you will get a message asking for confirmation something like this. Just type yes:

```bash
The authenticity of host '52.209.38.121 (52.209.38.121)' can't be established.
ECDSA key fingerprint is SHA256:ucQEa947XfpoDksse2/Vteqf9X9xd689TUbwpKV0YAM.
Are you sure you want to continue connecting (yes/no)?
```

If your connected it should show something like this:

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F0a468136fd9135fd1a75cf80d5f37923c9ea7fc5.png?generation=1600786487374848\&alt=media)

Now that your logged in, you need to mount the volume you attached from the other instance and add the public keys to the authorised keys file.

Here is the sequence of commands - please amend as required. No need to enter commands with `#` as they are comments to help you

```bash
# create a new folder for the mounted volume

sudo mkdir /media/tempvol

# list the drives to get the disc/dev ID

lsblk

# this command will output something like this

# NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
# xvda    202:0    0   8G  0 disk 
# └─xvda1 202:1    0   8G  0 part /
# xvdf    202:80   0  20G  0 disk 
# └─xvdf1 202:81   0  20G  0 part 

# note the line "part" with no mountpoint "xvdf1" in this case

sudo mount /dev/xvdf1 /media/tempvol/

# navigate to the correct folder

cd /media/tempvol/home/ec2-user/.ssh

# edit the authorised keys file, paste the public key(s), and save with Ctrl-X -> Yes

sudo nano -w authorized_keys

# make sure the userid & groupid are the same

grep ec2-user /etc/passwd && grep ec2-user /mount/tempvol/etc/passwd
grep ec2-user /etc/group && grep ec2-user /mount/tempvol/etc/group

# check to make sure authorised keys file has the correct userID

ls -all /mount/tempvol/home/ec2-user/.ssl

# leave the ssh session

exit
```

### 9) Stop the instance & re-attach volume

Your almost done.

Now that the correct public key is saved on the volume, you can stop the instance and detach the volume.

On the instances page, select your `temp instance` from step 6 and select `Instance State > Stop` from the `Actions` button.

Once its stopped - go to the Volume section in the AWS Management Console, and select the volume from the broken Launchpal project that you attached under step 7.

Under Actions - Click `Detach volume` and wait for it to finish detaching.

Now click `Actions` again, and select `Attach Volume`

Choose the original Launchpal project instance from Step 2 and this time - change the `Device` value to the value you captured under Step 3, in my case this was `/dev/xvda`

Now start the Launchpal project instance from Step 2

* Click `Instances` in the sidebar
* Select the Launchpal instance from step 2
* Click `Actions` > `Instance State` > `Start`
* Wait for it to finish starting

### 10) Check you can now login to the server

Once the instance has started you can check the login fix worked. Just use SSH to the IP of the instance with the key you set. If the public key used in the earlier step was given to you by support, ask them to test it has all worked.

If SSH login with the key is not working then one of the things to check is to make sure that the group & user ID for the `ec2-user` user is the same on both instances.

If its not working - please contact support to explain any errors your seeing.

You may also want to take this opportunity to download and files [using SFTP](/getting-started/file-sync#ftp) from your server that you need in future when you recreate the project. User files are normally stored in `/var/www/user/`.

### 11) Tidy up

Finally you just need to do some tidying up:

* Destroy the temp instance you created in step 6 (Actions > Instace State > Terminate)
* Remove any temporary key pairs you created when creating the temp instance
* Contact support and provide them with the new IP for your Launchpal project instance so that they can do their diagnosis
* When Support has finished - terminate the project instance in AWS and support will then remove it from your account


# Guide for 3rd Party Support Teams

This page offers guidance to members of your teams, or support staff of the Apps installed via Launchpal. Please send them to this page if they have questions about your hosting or servers.

## What is Launchpal?

Launchpal makes it easy for users to deploy self hosted apps on cloud servers. [Currently we support servers at 4 hosts](https://help.launchpal.com/hosts/): AWS, Digital Ocean, Vultr, and Linode.

## How does Launchpal Work?

Launchpal connects to hosts API to create servers that run Docker. It then creates a container within Docker to run the users chosen application.

Please take time to understand the [key concepts](https://help.launchpal.com/welcome/key-concepts.html) , eg. Projects, Servers, Apps & Domains.

It may also be useful to read through this guide to see how Launchpal works: [Create your first project](https://help.launchpal.com/getting-started/create-your-first-project.html).

## How do I get access to the server?

Your application is running within a Docker container (the `app` container to be specific).

The normal server SSH provided by the the host will not give you access to any logs / files. Please do not use those unless you understand Docker & Launchpal server builds.

You should SSH into the container using the SSH login provided by Launchpal, not the Server host.

**IMPORTANT**: The user you are supporting needs to provide you with the Launchpal SSH login instructions from the [Project Access tab](https://help.launchpal.com/getting-started/ssh-access.html).

## Where are the files?

The application files are stored within the Container, in `/var/www/app`, and the files uploaded by the user are in `/var/www/user`. Both of these are served as the document root.

Launchpal uses Nginx as its web server. When a web request comes in it first checks the for the file in the users files (/var/www/user), and if it does not exist there, it will read the file from the application folder `/var/www/app`.

Always edit files inside the container using the Launchpal provided SSH details as explained above. Do not use the main server SSH login unless you know what you are doing and are familiar with Docker.

**IMPORTANT**: Do not modify docker filesystem driver layer files directly on the host. Only edit the files via the specific Launchpal provided SSH login.

## Do you keep backups?

Yes - Launchpal keeps 1 backup a day for 7 days. This is a backup of the container and can be used by the user to launch a new project or roll back if anything went wrong. [More details about backups here](https://help.launchpal.com/getting-started/backing-up.html).

## What level of support do you provide?

Launchpal supports the projects created on the servers and tries to help users with basic application & server issues where we can.

We do not provide support related to feature requests, bugs or issues in the 3rd party Applications like Wordpress. We also do not provide technical support related to the physical servers provided by the host.

## How can our support teams contact you about questions / issues?

Please contact us if you think we can help. [Details on how to contact us are here](https://help.launchpal.com/welcome/support.html).


# Reset your Wordpress password

Launchpal Wordpress projects do not have email enabled. So you can't use the normal "password reset".

This article explains how you can reset your password using SSH. If you want you can [follow the guide on Wordpress Codex ](https://codex.wordpress.org/Resetting_Your_Password)instead, just make sure you follow step 1 first to access your server SSH.

If you are not familiar with SSH then just reach out to support and we can do the reset for you.

⚠️ **Do you know your current login for wordpress? Then just skip to the last step 6 as its easier to reset your password securely in wordpress itself.**

## 1. Get your SSH access details & login

Open your favourite SSH/terminal app and [use the SSH details from the Project Access tab](https://help.launchpal.com/getting-started/ssh-access.html) to login to the command line on your project.

## 2. Access the database

Type `mysql -u root` at the command line and use password `pass` to login.

Then select the wordpress database by typing `use wordpress` the mysql/MariaDB command line.![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F4afccb6b95f6d81e7bfca6aecb652d48a913a3d5.png?generation=1600786489051027\&alt=media)

## 3. Verify your wordpress access details

Type this command: `SELECT ID, user_login, user_pass FROM wp_users;` to show the users setup for wordpress.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F58f8e5d50c3a7d171ef7a32894a3528265783933.png?generation=1600786489501161\&alt=media)

Find the user you want to reset the password for in the table and note the ID. For info - the password you see is one way encrypted so dont worry about seeing it in the screenshot or the terminal.

## 4. Set your new password

Decide on your temporary password (I used `yourpasswordreset` here). The password you set here is just temporary to give you access to your wordpress account after which you can use the secure reset in the admin interface to reset it.

Use your temp password in the following command: `update wp_users set user_pass=MD5('yourpasswordreset') where id=1;` with your password instead of `yourpasswordreset` and the ID you got from step 3 above instead of the 1 in the example.

To make sure the password has changed - just re-run the select command from the previous step again: `SELECT ID, user_login, user_pass FROM wp_users;`

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F111525eabf2419c1b125b9b19221fa32cd3f7e59.png?generation=1600786489295367\&alt=media)

## 5. Login to wordpress

Go to wordpress admin in your browser and use your new password to make sure its working.

## 6. Set your secure password

Go to your profile page: <http://yourdomain.com/wp-admin/profile.php> or by clicking the `Edit my profile` option when you hover over the "Howdy" menu in the top right of your browser.

Scroll down to the account management section and click "Generate password"

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F3d54bfea8a9c38c491ae87612756ba39d18e17ba.png?generation=1600786489762078\&alt=media)

![](blob:https://legacy.gitbook.com/79dacd11-3c1c-4b7b-81df-66de131125a1)

Make sure you copy and save the generated password in your favourite password tool (I recommend 1password).

Then scroll down to the bottom and click "Update profile"


# Amazon Web Services

⚠️ **IMPORTANT** If you have an old AWS account (over 2-3 years old) you need to [create a new account first](/hosts/sub-accounts). The main reason is that LaunchPal requires accounts that support EC2-VPC. [Here is an explanation as to why](/troubleshooting/old-aws-accounts-and-ec2-classic).

## Connecting to LaunchPal

### Step 1 Get your API Key & Secret

* [Signup](https://portal.aws.amazon.com/billing/signup) or [login](https://console.aws.amazon.com/console/home) to your AWS account
* From your [AWS Management Console](https://console.aws.amazon.com/console/home?#), Select "My Security Credentials"

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F83d128cba6a54a8797e7ae97354b267b34b1463e.png?generation=1600786484414001\&alt=media)

* Choose to "Continue to Security Credentials" if prompted

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Ffd93dc377f790ad722adbc0d68bf8ff8fa307c49.png?generation=1600786484637913\&alt=media)

* Select the "Access Keys" menu item

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fcb28c5f86e5d9e8daca6ad92514c88a3010aad5c.png?generation=1600786484242620\&alt=media)

* Click the "Create New Access Key" button

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F184b7907c4243b31231f0f8cb304f7b7ef199d15.png?generation=1600786484801914\&alt=media)

* A dialog box will appear. Click "Show Access Key" to make your keys visible. You will need both and the Secret Access Key will only be shown while this dialog is open, so keep the browser tab open while you follow the next step to enter the key in to LaunchPal.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2Fd931f2e1e850418971125e9b6a6505e47be5abbb.png?generation=1600786485228024\&alt=media)

### Step 2 Enter the key in to LaunchPal

* Follow the steps in the [Create your first project guide](https://help.launchpal.com/getting-started/create-your-first-project.html) and select Amazon AWS for the host. When prompted, enter the keys from the previous step.

## Disconnecting from LaunchPal

To change your API keys or remove them from LaunchPal completely, make the key inactive from your AWS management console - or delete it completely.

![](https://1303794878-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHqIZ3yl51vlc5ihedX%2Fsync%2F6750ab86e54af8f941d1566e2edf1cf7e1d0f99e.png?generation=1600786485345146\&alt=media)

Your servers will remain fully operational and will still show in the LaunchPal API but you will lose access to some key features until you choose to enter a valid API key.


