Explanation
What strackt detects in your repository
When you add an application, strackt reads your repository and works out what it needs to run — then asks you to confirm before setting anything up.
What strackt detects in your repository
When you point strackt at an application's repository, it reads the code and works out what your application needs to run. You don't fill in a configuration form listing your language version, database, and cache — strackt detects all of that from your repository and shows you what it found. You review the list, confirm it, and strackt sets everything up.
What strackt looks for
From your repository, strackt detects:
- the language version your application targets, and the extensions it needs
- a database — MySQL, PostgreSQL, or SQLite
- a cache — Redis, when your application uses one
- queue workers, if your application processes background jobs
- a scheduler, if your application runs scheduled tasks
- Node.js, if your application builds front-end assets
Each thing strackt detects becomes a requirement on your application — a short list of what needs to exist before the application can run.
Review and confirm
Detected requirements show up in your application's Services section. Anything strackt found but hasn't set up yet waits there with a Confirm action. Nothing is provisioned until you approve it, so you always see what strackt intends to do before it does it. Once you confirm a requirement, strackt sets up the matching service and connects it to your application.
SQLite is the exception: if your application uses it, strackt just creates the database file for you on the first deploy. There's no separate service to confirm or set up.
Your environment variables steer detection
Detection isn't only based on your code's defaults. If you've set environment variables — your database connection, cache store, or queue connection — strackt uses those values instead of guessing. So the services strackt detects reflect how you've actually configured the application, not just what its defaults imply.
Saving environment variables re-runs detection automatically in the background. The detected list keeps up with your changes on its own — you don't have to re-scan the repository by hand each time you adjust a setting.
When a deploy asks you to confirm a service first
Because detection follows your environment variables, changing one can introduce a new requirement. For example, switching your database connection to SQLite, or pointing your cache at Redis, makes strackt detect a service your application now needs.
If you change an environment variable so your application requires something that isn't set up yet, and then deploy before confirming it, strackt stops the deploy and tells you what to do:
Your environment variables now require SQLite, but it is not set up yet. Open Services to confirm and provision it, then deploy again.
Open your Services section, confirm and provision the new requirement, and deploy again. Removing a service this way never blocks a deploy — only newly required ones do.
What to do next
- New to adding applications? Start with Add and deploy an application.
- Ready to connect what strackt detected? See Add a service.
- Setting the environment variables that steer detection? See Environment secrets.
Was this helpful?