A Spring Boot application that serves Auspice static content with proper URL routing support.
This server is designed to serve Auspice visualization files in the "Auspice way", meaning it correctly routes UUID-based paths to serve the appropriate index.html file while handling all other static content (HTML, CSS, JS, etc.) normally.
The server handles two types of Auspice-specific routes:
-
UUID pattern:
/{uuid:[a-f0-9-]+}- Example:
/b42a72fa-0123-4ff5-9c46-11961e9aa565→ servesindex.html
- Example:
-
UUID with dataset suffix:
/{uuid:[a-f0-9-]+}_{dataset:[a-zA-Z0-9]+}- Example:
/b42a72fa-0123-4ff5-9c46-11961e9aa565_myDataset→ servesindex.html
- Example:
All other paths serve static content directly from the public directory.
- Java 8 or higher
- Maven 3.x
- Built Auspice files (see Auspice documentation)
-
Clone this repository:
git clone https://github.com/genpat-it/cohesive-auspice-server.git cd cohesive-auspice-server -
Place your built Auspice files in:
src/main/resources/public/ -
Build the WAR file:
mvn clean package
The WAR file will be generated at:
target/auspice.war
mvn spring-boot:runThe server will start on http://localhost:8080
Deploy the generated auspice.war file to any servlet container (Tomcat, Jetty, etc.).
The application uses Spring Boot's default configuration. You can customize settings in src/main/resources/application.yml.
This project includes a GitHub Action that automatically:
- Builds the WAR file on every push to
main - Runs on pull requests
- Uploads the WAR as a downloadable artifact
- Creates releases with attached WAR files when you push a version tag
git tag v1.0.0
git push origin v1.0.0The WAR file will be automatically attached to the GitHub release.
auspice-server/
├── src/
│ └── main/
│ ├── java/
│ │ └── it/izs/bioinfo/auspice/
│ │ ├── Application.java # Spring Boot main class
│ │ └── AuspiceController.java # URL routing controller
│ └── resources/
│ ├── application.yml # Configuration
│ └── public/ # Place Auspice files here
│ └── error/
│ ├── 404.html
│ └── 500.html
├── .github/
│ └── workflows/
│ └── build.yml # GitHub Actions workflow
├── pom.xml # Maven configuration
├── LICENSE # MIT License
└── README.md
Auspice is an open-source interactive tool for visualizing phylogenomic data, developed by the Nextstrain team. This server application provides a convenient way to deploy and serve Auspice visualizations with proper URL routing support.
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
- Auspice by Nextstrain team
- Spring Boot
For questions or support, please contact: cohesive@izs.it