Documentation

Documentation versions (currently viewingVaadin 24)

Deploying to Production

Deploying to a production server involves compiling and packaging the application to be suitable and optimized for the server.

Deploying to a production server involves compiling and packaging the application to be suitable and optimized for the server.

Although you may have launched your server directly from your IDE during development, you need to deploy the application as a WAR file (Java Servlet) or JAR file that includes your application server (Spring Boot and other embedded servers) for production.

By default, Vaadin applications are set to run in development mode. This requires a bit more memory and CPU power but enables easier debugging. When deploying your application to your users, you want to switch to production mode instead.

The main difference between development and production mode is that, in production mode, the client resources can be optimized and minified to reduce the load on the network and browser even further. Furthermore, debug information (e.g., about the available routes) that is present in development mode is removed in production mode to ensure that no sensitive information leaks to the client.

Topics

Production Build
Create an optimized build of applications for production deployment.
Servlet Container
Deploy your application to traditional servlet containers, such as Tomcat, Jetty or any Java/Jakarta EE server.
Spring Boot
Deploying a Spring Boot based application.
Native Image Compilation
Learn how to compile a Vaadin Flow application into a native image using GraalVM.
Cloud Providers
Learn how to deploy your application to third-party cloud hosting providers.
Docker Deployment
Deploy your Vaadin application using Docker
Distributed Deployment Architecture
Application deployment on multiple servers.
Troubleshooting
Guidance if you have problems taking Vaadin applications to production.