Giter VIP home page Giter VIP logo

plantuml-server's Introduction

PlantUML Server

Build Status Docker Pull PlantUML Server is a web application to generate UML diagrams on-the-fly.

To know more about PlantUML, please visit http://plantuml.com/.

Requirements

  • jre/jdk 1.6.0 or above
  • apache maven 3.0.2 or above

How to run the server

Just run:

mvn jetty:run

The server is now listing to http://localhost:8080/plantuml. In this way the server is run on an embedded jetty server.

You can specify the port at which it runs:

mvn jetty:run -Djetty.port=9999

How to run the server with Docker

You can run Plantuml with jetty or tomcat container

docker run -d -p 8080:8080 plantuml/plantuml-server:jetty
docker run -d -p 8080:8080 plantuml/plantuml-server:tomcat

The server is now listing to http://localhost:8080.

To run plantuml using different base url, change the docker-compose.yml file:

args:
  BASE_URL: plantuml

And run docker-compose up --build. This will build a modified version of the image using the base url /plantuml, e.g. http://localhost/plantuml

How to set PlantUML options

You can apply some option to your PlantUML server with environement variable.

If you run the directly the jar, you can pass the option with -D flag

java -D THE_ENV_VARIABLE=THE_ENV_VALUE -Djetty.contextpath=/ -jar target/dependency/jetty-runner.jar target/plantuml.war

or

mvn jetty:run -D THE_ENV_VARIABLE=THE_ENV_VALUE -Djetty.port=9999

If you use docker, you can use the -e flag:

docker run -d -p 8080:8080 -e THE_ENV_VARIABLE=THE_ENV_VALUE plantuml/plantuml-server:jetty

You can set all the following variables:

  • PLANTUML_LIMIT_SIZE
    • Limits image width and height
    • Default value 4096
  • GRAPHVIZ_DOT
    • Link to 'dot' executable
    • Default value /usr/local/bin/dot or /usr/bin/dot
  • PLANTUML_STATS
  • HTTP_AUTHORIZATION
    • when calling the proxy endpoint, the value of HTTP_AUTHORIZATION will be used to set the HTTP Authorization header
    • Default value: null

Alternate: How to build your docker image

This method uses maven to run the application. That requires internet connectivity. So, you can use following command to create a self-contained docker image that will "just-work".

Note: Generate the WAR (instructions further below) prior to running "docker build"

docker image build -t plantuml-server .
docker run -d -p 8080:8080 plantuml-server

The server is now listing to http://localhost:8080/plantuml.

You may specify the port in -p Docker command line argument.

How to generate the war

To build the war, just run:

mvn package

at the root directory of the project to produce plantuml.war in the target/ directory.

plantuml-server's People

Contributors

adamwalach avatar archydragon avatar arnaudroques avatar ducatel avatar esler avatar fabianhauser avatar ftomassetti avatar halindrome avatar jarv avatar je2ryw avatar jessetan avatar kumy avatar lalloni avatar marcelhuberfoo avatar maximesinclair avatar morotti avatar mrausch avatar norbertnogacki-tomtom avatar paddy-hack avatar roxspring avatar secularbird avatar skuro avatar slavisah avatar srotman avatar thiyagaraj avatar tnguyen14 avatar translucens avatar woopla avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.