Migrating in
Import an app from your server
Already running an app on a VPS or a shared host? Lofenta can bring it over. You connect Lofenta to your server over SSH once, it scans the machine and detects the apps on it, and you pick which ones to move in as their own Lofenta projects. Available on the Developer and Team plans.
What it does
App import takes an application that is already sitting on a server you own and turns it into a managed Lofenta project. It works whether that server is a raw VPS or a control-panel host. Lofenta copies the app files over, sets it up as a project, and deploys it, so you end up with the same app running on Lofenta with logs, restarts, backups, and everything else the platform gives you.
How Lofenta connects
Lofenta connects to your server the same way you would from a terminal, over SSH, using a key instead of a password. Every Lofenta account has its own key. You copy the public half of that key into the authorized_keys file on your server, and Lofenta connects with the private half. We never ask for your server password and never store one.
To connect, Lofenta needs three details. These are the same three things you would type to open an SSH session yourself, and each one has a reason:
Host
The address of your server. An IP such as 203.0.113.10 or a hostname such as server.example.com. This is where Lofenta connects, exactly like the address you would use to SSH in yourself.
Port
The SSH port. Almost always 22. Change it only if your server has SSH set to listen on a different port.
Username
The account Lofenta logs in as, for example root or a deploy user. This must be the same account that holds the key in its authorized_keys file. It also decides what Lofenta can see, because it can only read the files that this user can read. Pick the user that owns the app you want to bring over.
What it detects
Once connected, Lofenta scans the common places apps live and works out what each folder is. It recognizes Next.js and Node apps, Python apps, PHP and WordPress sites, and plain static sites. For each one it shows you the name, where it found it, and how confident it is, so nothing is guessed silently.
You then tick the apps you want. Each selected app is created as its own Lofenta project and deployed. Leave the rest untouched. You can run the import again later for anything you skipped.
Docker Compose stacks
If a scanned folder holds a docker-compose.yml (or compose.yaml), Lofenta reads it as a stack instead of a single app, so a multi-service setup comes across as one linked unit rather than several unrelated projects.
- Services map over. The web or app service becomes your Lofenta project. Postgres, MySQL, MariaDB, MongoDB, and Redis services each become a managed Lofenta database, linked to the project so it boots already connected.
- Reverse proxies are skipped. Services like nginx, Traefik, Caddy, or HAProxy are left out of the import, because Lofenta handles routing for you.
- Your data comes across. Each database is migrated with its data, and your uploaded files stored in volumes are brought over too. Size limits apply and scale with your plan.
- Plan aware. If a stack needs more service slots than your plan allows, Lofenta shows an upgrade prompt instead of importing only part of it.
Step by step
- Open the import page and copy your Lofenta key.
- Paste it into the
authorized_keysfile on your server, under the user you want to import from. - Enter the host, port, and username, then start the scan.
- Review the apps Lofenta found and pick the ones to bring over.
- Lofenta creates a project for each and deploys it. That is it.
Security
- Key based, never a password. Lofenta connects with an SSH key that is unique to your account and stored encrypted. You are always in control of the public key you added.
- Read only. The import reads your files to copy them. It does not change anything on your server.
- Revoke any time. When the import is done you can remove the Lofenta line from your
authorized_keysfile, and Lofenta can no longer connect. - Safe targets only. Lofenta blocks private and internal addresses, so the connection can only reach a real, reachable server.