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.EngineMainio.ktor.server.jetty.EngineMainOnce 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.