A free open-source URL Shortener written in Kotlin with Spring Boot
The Dockerfile
in
the top-level directory creates a Docker image of NekoShlink that can be used for running the
service wherever a Docker container engine is available.
Here is a list of environment variables that can be used when running NekoShlink from the Docker image.
NekoShlink can work out of the box with the default values. It will run an embedded instance of the H2 database. This is not a recommended configuration for a production environment, but can be used as a proof-of-concept or as a starting point to try configurations out.
More information on supported databases can be found in the Database README file.
NekoShlink offers different user base repositories for authentication and authorisation. You can choose
the option for your installation with the NKSHLINK_CFG_USERBASE
environment variable.
Value | Description |
---|---|
NATIVE |
JPA-based user repository: HTTP BASIC challenge for authentication, roles table for authorisation |
X509 |
Same JPA-based repository as NATIVE , but challenge is via X.509 certificates |
OIDC |
OIDC-based authentication and OAuth2-based authorisation |
The Shell script provided here is an example of how you can run NekoShlink with MariaDB. The database configuration in the script matches the database engine that would be set up by the MariaDB docker script.
The runner script assumes that the image has been built with the tag indicated in the building instructions.
Building the image for NekoShlink in the official repository is done as follows
docker build -t nekosoft/nekoshlink:v0.9.0 .
docker push nekosoft/nekoshlink:v0.9.0