This imports App Platform apps. To manage a Droplet, connect it as a server from the Servers page instead. See Connect a server.
Before you start
- Connect a server to Symplax and make sure it is online. Everything in the import is created on that one server.
- Connect the GitHub account that owns each service’s repository. Symplax builds from GitHub only.
- Check you have room for the databases on your plan: Free allows 2, Pro 5, Team unlimited. See Databases.
Get a DigitalOcean token
In DigitalOcean, open API in the left sidebar, then Tokens, then Generate New Token. Choose Custom Scopes and include:app:readdatabase:readdatabase:view_credentials
Import an app
1
Open Integrations
Click Integrations in the sidebar. On the DigitalOcean card, click Connect and import.
2
Connect DigitalOcean
Paste the token into API token and click Connect.
3
Choose an app
Pick the App Platform app. Symplax reads its app spec and databases.
4
Review what will be created
Check Will be created and Will not be imported. Fix anything flagged as cannot be imported, cannot be provisioned or needs a different name. Fill in Secrets to supply if you have the values (see below).
5
Choose a server and import
Pick the server, then click the import button, for example Import 2 apps and 1 database. Each app starts its first build straight away.
What comes across
Apps. Each service that builds from GitHub becomes an app, with its branch, source directory, build command, run command and health check path. The app uses the service’s HTTP port (8080 if none is set), andPORT is set to match.
Databases. Each PostgreSQL, MySQL, Redis, Valkey or MongoDB database becomes a new, empty Symplax database. Symplax uses the nearest version it offers at or above DigitalOcean’s, and the review shows a note when it cannot match exactly.
Variables. App-level and service-level variables come across. Variables marked for build time are passed to the build as well. Bindings such as ${db.DATABASE_URL}, ${db.HOSTNAME} or ${db.PASSWORD} are rewritten to point at the new Symplax database over the server’s private network.
Encrypted secrets
DigitalOcean encrypts variables of type Secret and does not give their values back to anyone, including you. They appear under Secrets to supply with one field each. Fill in what you have to hand. Anything left blank arrives unset and is listed after the import, so you can set it later.What does not come across
A production database cluster blocks the import if Symplax cannot read its credentials, or if the cluster only accepts connections from trusted sources. The review tells you which one and how to fix it.
After importing
1
Watch the first builds
Each app shows Building now, watch the log. Apps linked to a database start building once that database is running.
2
Fill in unset variables
Set any secrets and variables listed under Some variables were left unset on the app’s Variables tab, then redeploy.
3
Move your data
Dump each DigitalOcean database and load it into the new one, for example over public access with your usual tools.
4
Recreate what was skipped
Recreate jobs as cron jobs, deploy static sites and image services as their own apps, and fix any relative-path calls between services.
5
Move your domains
When everything works on the
*.symplax.app address, point your DNS at the server and add your custom domains.