Guide

Moving your apps to CoreHost

You can move most self-hosted apps to CoreHost yourself today, in four steps: deploy the same app on CoreHost, stop it, upload your old data over SFTP from the Files tab, and start it again. Or ask us to move it with you in a support ticket. It works from a VPS running Docker, a home server or another host such as PikaPods.

Moving is something you can do today with an SFTP client and the control panel. This guide covers the ways to move, the checks to make before you start, the steps themselves, and the apps where a different route works better. Support is included if you get stuck.

Ways to move

Guided move, by yourself

Deploy the app, stop it, upload your old data over SFTP from the Files tab (or use the app's own import screen), then start it. It works from a VPS running Docker, a home server or another host such as PikaPods.

Ask us to move it

Open a ticket from your control panel, say which app you are moving and where it runs now, and support will tell you what can be moved and help you do it. Apps that keep their data in a database server are best done this way.

Before you start

  • Find your data. Look up where the old app keeps it: the volume or folder in your Docker compose file, or the files your current host shows over SFTP.
  • Check the version. Copy data from the same version that CoreHost runs, or an older one. Apps upgrade old data when they start, but they rarely read data written by a newer release.
  • Note keys and settings. Some apps keep a secret or encryption key outside their data folder, in an environment variable, and need the same key to read their old data. Many apps let you set it in their settings on CoreHost before the first start with your data; if yours does not, ask support before you move. Never paste a key into a ticket: ask support for a private way to send it.
  • Plan a few minutes of downtime. Stop the old app while you copy, so its files are complete. Databases in particular must not be copied while the app is writing to them.
  • Size the new app. Pick at least the plan the app's page recommends, and add 25 GB storage blocks if your data is bigger than the plan's storage.

Where your data is on your old host

Each host lets you get your files out in its own way. These are the routes their documentation describes. Check the host's own pages before you rely on them.

How to get your data out of common hosts
Old hostHow to get your data out
PikaPodsSwitch on SFTP in the pod settings, stop the pod and download its files; apps that keep a database outside the pod can export it as SQL from the pod settings. Turn on hidden files in your SFTP program. Full PikaPods guide
Your own server with DockerStop the container, then archive the volume or the bind-mounted folder. For databases use the database's own dump tool rather than copying files that are in use. Keep the compose file and the .env file: some apps hold their keys only there.
ElestioAdd an SSH key in the dashboard, stop the service and copy its project folder, or use the app's own export. Backups in the dashboard can only be restored inside Elestio.
CloudronCloudron backups only restore into Cloudron, so use the app's own export, or copy files out of the running app with the Cloudron command line tool.
Umbrel and YunoHostCopy the app's data folder over SSH, or on YunoHost create an app backup, which is a plain archive you can unpack. Export first: uninstalling an app on Umbrel deletes its data.
Railway, Render and Fly.ioPull the volume files with each service's command line tool or SSH, and dump any separate database. Volume snapshots only restore inside the same service.

Step by step

  1. Deploy the app on CoreHost from its page in the app catalog, in the region you want. Let it finish its first start: that creates its folders and, for most apps, a private admin account.
  2. In your control panel, open the app and take a backup from the Backups tab, so you have a clean point to go back to.
  3. Stop your old app, then copy its data out: over SFTP, with docker cp, or with your old host's file tools. For apps that use a database server, use the app's own export or a database dump instead of copying the database files.
  4. Stop the new app with the Stop button on its page in your control panel.
  5. Open the Files tab. Connect with any SFTP client using the host, port and username shown there, or use the file manager in the browser for smaller files. Upload your data into the matching folders, replacing the files the new app created. The browser uploader takes files up to 100 MB each and can unpack a zip or tar archive; use SFTP for anything bigger.
  6. Start the app and sign in. Check that your data is there, then connect your own domain from the Domain tab if you use one.
  7. If something is not right, restore the backup from step 2 and try again, or open a support ticket with what you see. Keep your old app until you are happy with the new one.

Apps with a written guide

These apps have move instructions on their own page, under Move your existing app here.

  • Uptime Kuma: Copy kuma.db, kuma.db-wal and the upload folder.
  • ntfy: Copy user.db, cache.db and the attachments folder.
  • Actual Budget: Export data on the old server, Import file on the new one.
  • ByteStash: Export snippets as JSON, then Import Snippets.
  • BookStack: Portable ZIP per book, then Import on the Books page.
  • linkding: Import your HTML bookmarks file under Settings.
  • FreshRSS: Import your OPML file.
  • Mealie: Data Migrations imports Paprika, Tandoor and more.

Notes for particular apps

Uptime Kuma
Copy kuma.db, kuma.db-wal if it exists, and the upload folder. This works when the old instance uses the built-in SQLite database. If it uses MariaDB or MySQL, open a ticket first.
ntfy
Copy user.db and cache.db to the top folder and your attachments into the attachments folder. Your users, passwords and access tokens come with them.
Apps with their own import screen
Often the easiest route, with no files to copy. wallabag and Linkwarden import from Pocket, linkding imports standard bookmark files, Actual Budget and Sure import YNAB exports and CSV files, TriliumNext Notes imports Markdown, Evernote, Notion and Obsidian exports, and Gitea and Forgejo import repositories from GitHub and GitLab.
Media libraries
For Audiobookshelf, Navidrome, Kavita and Calibre-Web, copy your media files over SFTP and let the app scan them. A large library takes a while over a home connection, so add storage before you start.
Paperless-ngx
The simplest move is to copy your documents into the consume folder, where they are read and filed again. To keep your tags and history as they are, open a ticket first.
Apps with a database server
Apps that keep their data in PostgreSQL or MariaDB, such as Sure, Wiki.js, BookOrbit and RomM, cannot be moved by copying files. Use the app's own export and import where it has one, or open a ticket before you move.
Pocket ID
Passkeys only work on the address they were created for, so a fresh start, with people registering their passkeys again, is usually simplest.

Coming from PikaPods

PikaPods gives you SFTP access to your pod's files and documents a manual one-time backup for migrations: stop the pod, copy its files and export its database (PikaPods backup docs). Settings you entered as environment variables are not part of the files, so note them down first. Our guide to moving from PikaPods has the steps, and for a side by side look at the two services, see CoreHost as a PikaPods alternative.

What you get after the move

Each app runs as its own private instance, with its own CPU, memory and storage. It is backed up daily and you can restore any backup yourself from the panel; encrypted backups are stored in the EU. You keep SFTP access to your data, so leaving is as easy as arriving. Prices are flat per app, from US$1.10 a month in Poland or US$1.50 in Sydney, drawn by the hour from a prepaid balance in USD, AUD or EUR. New apps can be deployed in Sydney, the US and Poland. See pricing.

QuestionsAbout moving to CoreHost

Try the move on our credit

Every new account starts with $5 of credit, no card needed. Deploy the app, copy your data in, and keep your old one running until you are sure.

Browse the apps