PlantUML diagram server setup guide - PlantUML for Confluence

Introduction

AppsFoundry's PlantUML for Confluence app allows you to create and integrate UML diagrams into Confluence pages. Setting up a self-managed PlantUML server can enhance security and performance. This guide covers setting up both a PlantUML PicoWeb Server and a full PlantUML Server on a JEE 5 web server.

Requirements

Steps for Setup

PlantUML PicoWeb Server Installation:

  1. Download PlantUML.jar:

  2. Run PlantUML PicoWeb Server:

    • Open a command line interface.

    • Navigate to the plantuml.jar location.

    • Start the server:

      java -jar plantuml.jar -picoweb
  3. Testing the Server Locally:

    • Access http://127.0.0.1:8080 in a web browser.

  4. Expose the Server to the Internet:

    • Utilize a reverse proxy like Nginx.

    • Configure HTTPS using your SSL certificate.

  5. Customizing Server Configuration (Optional):

    • Modify port and bind address settings.

  6. Interactive Interface and Diagram Generation:

    • Enter and submit diagram descriptions.

    • Generate PNG or SVG files.

PlantUML JEE Server Installation:

  1. Download PlantUML.war:

  2. Install on JEE 5 Web Server:

    • Copy plantuml.war into the webapps folder of your Tomcat 10 server.

  3. Note on Compatibility:

    • PlantUML Server requires Tomcat 10 due to the transition from javax.* to jakarta.*.

    • It is not compatible with Tomcat 6/7/8/9.

Integration with PlantUML for Confluence App

Adjust the PlantUML for Confluence app settings to use your externally accessible, HTTPS-secured server by configuring the Custom URL in the apps settings, found under:
Confluence AdministrationPlantUML for Confluence

For more information, checkout https://appsfoundry.atlassian.net/wiki/spaces/PLANTUML/pages/478248969

Source Code and Further Information

Conclusion

Your self-managed PlantUML server, either through PicoWeb or a full JEE 5 server, is now ready for use with the PlantUML for Confluence app. This setup ensures better control over your UML diagrams' security and performance. For additional support, consult the respective documentation for PlantUML, AppsFoundry, Nginx, and Tomcat 10.