Introduction
Strongbox¶
Strongbox is an OpenSource artifact repository manager written in Java. We aim to provide an easy and reliable platform, for hosting your (binary) artifacts, regardless of your repository layout.
Features¶
Directory browsing
We have two types of directory browsing implemented:
-
/browse
- browsing via the user interface. -
/api/browse
- API endpoint which returns eitherJSON
or very lightweightHTML
directory listing.
Cron Tasks
We have various cron tasks available to automate almost anything like rebuilding metadata, emptying trash, etc.
- Java implementation
- Groovy implementation
Event handling
Logging
- Log tailing
- View logs without downloading
- Configure log levels globally (and per package)
- Download logs over HTTP
Repository types
- Hosted
- Proxy
- Group (including repository ordering, routing rules and nested group repositories)
Layout providers
- Maven 2.x/3.x
- NPM
- NuGet v2
- Raw
- PyPi (in progress) contributors, please, check here)
- Composer (contributors, please, check here)
- Docker (contributors, please, check here)
- DEB (contributors, please, check here)
- Gems (contributors, please, check here)
- Yum (contributors, please, check here)
Supported tools
Search providers
Search providers offer a way to execute searches against different search engines. By default, searches are executed against OrientDB, unless a search provider has been specified. Click here for more details
- Artifact Query Language (AQL) to make searching easy and consistent between layouts
- OrientDB (default implementation for all repositories and layout formats)
- Maven Indexer
Security
- HTTP Basic authentication
- JWT authentication
- LDAP
- Custom authentication provider, based on users that stored in the second-level cache backed by OrientDB
- Users are pre-defined in the
etc/conf/strongbox-security-users.xml
file
REST API
All of Strongbox's features are available via REST API end-points. You can customize a user's access to only allow specific end-points to be accessible.
- Search for artifacts
- Manage the server's core configuration
- Manage repositories
- Manage users
- Manage logging
- Manage cron tasks
We also have:
- Automated generation of documentation using Swagger
- Ready-to-use Java-based client(s) covering each REST command.
Screenshots¶
Show us some love!¶
If you like what you are seeing, please give us a star and follow our journey!