163863ac0b
A few changes are necessary for the best out-of-the-box experience on Docker-based application platforms such as OpenShift: 1. For security purposes, they run the containers as non-root. Before this change, the user was trying to write to the home dir, which is set to /root by default. 2. Deploy time is limited, and the download of dependencies by Jetty at start-up time, while convenient for testing, causes timeouts when deploying. a WAR is now created during Docker image creation, and as a result starting up the container is really fast now. In addition, it is now possible to enable debug logging for Jetty by uncommenting the relevant line in the Dockerfile. |
||
---|---|---|
screenshots | ||
src | ||
.gitignore | ||
.travis.yml | ||
COPYING | ||
Dockerfile | ||
Dockerfile.tomcat8 | ||
pom.xml | ||
README.md |
PlantUML Server
PlantUML Server is a web application to generate UML diagrams on-the-fly.
To know more about PlantUML, please visit http://plantuml.sourceforge.net/.
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
docker build -t plantuml-server .
docker run -d -p 8080:8080 plantuml-server
The server is now listing to http://localhost:8080/plantuml.
You may specity the port in -p
Docker command line argument.
Alternate: How to run the server with Tomcat + Docker?
Above method uses maven to run the application. That requires internet connectivity. That is undesireable in a corporate environment with firewalls. 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 build -t plantuml-server:tomcat8 -f Dockerfile.tomcat8 .
docker run -d -p 8080:8080 plantuml-server:tomcat8
The server is now listing to http://localhost:8080/plantuml.
You may specity 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.