Giter Site home page Giter Site logo

riyastir / shlink-web-client Goto Github PK

View Code? Open in Web Editor NEW

This project forked from shlinkio/shlink-web-client

0.0 1.0 0.0 1.4 MB

A React-based client application for Shlink

Home Page: https://app.shlink.io

License: MIT License

JavaScript 94.57% HTML 2.07% CSS 3.18% Dockerfile 0.11% Shell 0.06%

shlink-web-client's Introduction

shlink-web-client

Build Status Docker build status Code Coverage Scrutinizer Code Quality GitHub release GitHub license Paypal Donate

A ReactJS-based progressive web application for Shlink.

Installation

There are three ways in which you can use this application.

  • The easiest way to use shlink-web-client is by just going to https://app.shlink.io.

    The application runs 100% in the browser, so you can safely access any shlink instance from there.

  • Self hosting the application yourself.

    Get the latest release and download the distributable zip file attached to it (shlink-web-client_X.X.X_dist.zip).

    The package contains static files only, so just put it in a folder and serve it with the web server of your choice.

    Provided dist files are configured to be served from the root of your domain. If you need to serve shlink-web-client from a subpath, you will have to build it yourself following these steps.

  • Using the official docker image

    If you want to deploy shlink-web-client in a container-based cluster (kubernetes, docker swarm, etc), just pick the shlinkio/shlink-web-client image and do it.

    It's a lightweight nginx:alpine image serving the static app on port 80.

Pre-configuring servers

The first time you access shlink-web-client from a browser, you will have to configure the list of shlink servers you want to manage, and they will be saved in the local storage.

Those servers can be exported and imported in other browsers, but if for some reason you need some servers to be there from the beginning, starting with shlink-web-client 2.1.0, you can provide a servers.json file in the project root folder (the same containing the index.html, favicon.ico, etc) with a structure like this:

[
  {
    "name": "Main server",
    "url": "https://doma.in",
    "apiKey": "09c972b7-506b-49f1-a19a-d729e22e599c"
  },
  {
    "name": "Local",
    "url": "http://localhost:8080",
    "apiKey": "580d0b42-4dea-419a-96bf-6c876b901451"
  }
]

The list can contain as many servers as you need.

If you are using the shlink-web-client docker image, you can mount the servers.json file in a volume inside /usr/share/nginx/html, which is the app's document root inside the container.

docker run --name shlink-web-client -p 8000:80 -v ${PWD}/servers.json:/usr/share/nginx/html/servers.json shlinkio/shlink-web-client

Serve project in subpath

Official distributable files have been built so that they are served from the root of a domain.

If you need to host shlink-web-client yourself and serve it from a subpath, follow these steps:

  • Download shlink-web-client source code for the version you want to build.
  • Decompress the file and cd into the resulting folder.
  • Open the package.json file in the root of the project, locate the homepage property and replace the value (which should be an empty string) by the path from which you want to serve shlink-web-client.
    • For example: "homepage": "/my-projects/shlink-web-client",.
  • Build the project:
    • For classic hosting:
      • Download node 10.15 or later.
      • Install project dependencies by running npm install.
      • Build the project by running npm run build.
      • Once the command finishes, you will have a build folder with all the static assets you need to run shlink-web-client. Just place them wherever you want them to be served from.
    • For docker image:
      • Download docker.
      • Build the docker image by running docker build . -t shlink-web-client.
      • Once the command finishes, you will have an image with the name shlink-web-client.

shlink-web-client's People

Contributors

acelaya avatar the-hotmann avatar haocen avatar

Watchers

James Cloos 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.