mirror of
https://github.com/shlinkio/shlink-web-client.git
synced 2024-12-23 01:20:24 +03:00
Updated dockerfile to be used to build a distributable docker image
This commit is contained in:
parent
a2f174f687
commit
a5fb505aff
3 changed files with 43 additions and 8 deletions
4
.dockerignore
Normal file
4
.dockerignore
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
./build
|
||||||
|
./dist
|
||||||
|
./node_modules
|
||||||
|
./test
|
25
Dockerfile
25
Dockerfile
|
@ -1,12 +1,23 @@
|
||||||
FROM node:10.4.1-alpine
|
FROM nginx:1.15.2-alpine
|
||||||
MAINTAINER Alejandro Celaya <alejandro@alejandrocelaya.com>
|
MAINTAINER Alejandro Celaya <alejandro@alejandrocelaya.com>
|
||||||
|
|
||||||
# Install yarn
|
# Install node and yarn
|
||||||
RUN apk add --no-cache --virtual yarn
|
RUN apk add --no-cache --virtual nodejs && apk add --no-cache --virtual yarn
|
||||||
|
|
||||||
# Make home dir writable by anyone
|
ADD . ./shlink-web-client
|
||||||
RUN chmod 777 /home
|
|
||||||
|
|
||||||
CMD cd /home/shlink/www && \
|
# Install dependencies and build project
|
||||||
|
RUN cd ./shlink-web-client && \
|
||||||
yarn install && \
|
yarn install && \
|
||||||
yarn start
|
yarn build && \
|
||||||
|
|
||||||
|
# Move build contents to document root
|
||||||
|
cd .. && \
|
||||||
|
rm -r /usr/share/nginx/html/* && \
|
||||||
|
mv ./shlink-web-client/build/* /usr/share/nginx/html && \
|
||||||
|
rm -r ./shlink-web-client && \
|
||||||
|
|
||||||
|
# Delete and uninstall build tools
|
||||||
|
yarn cache clean && apk del yarn && apk del nodejs
|
||||||
|
|
||||||
|
WORKDIR /usr/share/nginx/html
|
||||||
|
|
22
README.md
22
README.md
|
@ -2,4 +2,24 @@
|
||||||
|
|
||||||
[![Build Status](https://travis-ci.org/shlinkio/shlink-web-client.svg?branch=master)](https://travis-ci.org/shlinkio/shlink-web-client)
|
[![Build Status](https://travis-ci.org/shlinkio/shlink-web-client.svg?branch=master)](https://travis-ci.org/shlinkio/shlink-web-client)
|
||||||
|
|
||||||
A React-based client application for [Shlink](https://shlink.io)
|
A ReactJS-based progressive web application for [Shlink](https://shlink.io).
|
||||||
|
|
||||||
|
## 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 use that instance and access any shlink instance from it.
|
||||||
|
|
||||||
|
* Self hosting the application yourself.
|
||||||
|
|
||||||
|
Get the [latest release](https://github.com/shlinkio/shlink-web-client/releases/latest) 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 (just take into account that all the files are served using absolute paths, so you have to serve it from the root of your domain, not from a subpath).
|
||||||
|
|
||||||
|
* Use the official [docker image](https://hub.docker.com/r/shlinkio/shlink-web-client/)
|
||||||
|
|
||||||
|
If you want to deploy shlink-web-client in a container-based cluster (docker swarm, kubernetes, etc), just pick the image and do it.
|
||||||
|
|
||||||
|
It's a lightweight [nginx:alpine image](https://hub.docker.com/r/library/nginx/) serving the assets on port 80.
|
||||||
|
|
Loading…
Reference in a new issue