Ktor applications can be self-hosted or hosted on an Application Server. This section shows you how to host Ktor applications externally.
Table of contents:
When you need to run a Ktor application in an independently maintained host (for instance Tomcat), you will need an application.conf
file
to tell Ktor how to start your application.
In the resources folder, create a file named application.conf
with the following contents
ktor {
deployment {
port = 8080
}
application {
modules = [ my.company.MyApplication.ApplicationKt.main ]
}
}
Replace my.company.MyApplication
with your application’s package, and ApplicationKt
with the name of the
file your Application.main
function is contained in.
// TODO
Running applications in a development environment such as IntelliJ IDEA, is supported by using development engines.
io.ktor.server.netty.EngineMain
io.ktor.server.jetty.EngineMain
Once the configuration is saved, you can now run your application for development/debug purposes from inside IntelliJ IDEA, without having to deploy to a container or setup any application servers.
See also: Configuration
Ktor can automatically reload the application when changes to the class files are detected, i.e. when you build the Application.
Enable this feature by adding watch
configuration to application.conf
:
ktor {
deployment {
port = 8080
watch = [ my.company ]
}
…
}
Check Automatic Reloading article for more details.