Dockerization!

This commit is contained in:
Bastian Meissner 2020-05-20 18:46:58 +02:00
parent ad2e2698cb
commit 4f6f479134
2 changed files with 47 additions and 13 deletions

6
Dockerfile Normal file
View file

@ -0,0 +1,6 @@
FROM node:current-slim
WORKDIR /app
COPY . .
RUN yarn
EXPOSE 3000
CMD [ "yarn", "start" ]

View file

@ -2,7 +2,6 @@
![screenshot](screenshot.png "screenshot") ![screenshot](screenshot.png "screenshot")
Dashboard is just that - a dashboard. It's inspired by [SUI](https://github.com/jeroenpardon/sui) and has all the same features as SUI. Dashboard is just that - a dashboard. It's inspired by [SUI](https://github.com/jeroenpardon/sui) and has all the same features as SUI.
## Features ## Features
@ -14,24 +13,51 @@ So what makes this thing better than SUI?
- Search providers customizable through JSON (SUI has them both in a JSON and hardcoded) - Search providers customizable through JSON (SUI has them both in a JSON and hardcoded)
## Installation ## Installation
Getting Dashboard to run is fairly simple:
git clone https://github.com/phntxx/dashboard.git Getting Dashboard to run is fairly simple and can be accomplished with two techniques:
cd dashboard
yarn
yarn start
Alternatively, if you want to get static files, simply run: 1. Locally
**Prerequisites: node, npm, yarn**
To get Dashboard to run, just clone the repository, download the dependencies using yarn, then start using `yarn start`.
```
git clone https://github.com/phntxx/dashboard.git
cd dashboard
yarn
yarn start
```
alternatively, if you want to work using static files (requires a rebuild for
every change in the JSON-files), just replace `yarn start` with `yarn build`.
Then you can copy the files inside the `build` directory onto the webroot of
your webserver of choice.
2. Using Docker
Using Docker requires building the container manually. Fortunately, this can be accomplished fairly easily:
```
git clone https://github.com/phntxx/dashboard.git
cd dashboard
docker build -t dashboard:1.0
docker run -d \
-t \
-p 3000:3000 \
-v ./src/components/data:/app/src/components/data \
dashboard:1.0
```
**NOTE: The `-t` flag is very important, as the Dockerfile requires standard TTY.**
git clone https://github.com/phntxx/dashboard.git
cd dashboard
yarn
yarn build
and then put the files in the build-folder onto your web server.
## Customization ## Customization
Dashboard is designed to be customizable. Everything is handled using four .json-files, which can be found at /src/components/data Dashboard is designed to be customizable. Everything is handled using four .json-files, which can be found at /src/components/data
### Applications ### Applications
To add an application, append the following to applications.json or simply edit one of the examples given. To add an application, append the following to applications.json or simply edit one of the examples given.
``` ```
@ -44,7 +70,7 @@ To add an application, append the following to applications.json or simply edit
... ...
``` ```
To find icons, simply go to the [Material Design Icon Library](https://material.io/icons/) and copy one of the codes for an icon there. To find icons, simply go to the [Material Design Icon Library](https://material.io/icons/) and copy one of the codes for an icon there.
### Bookmarks ### Bookmarks
@ -73,6 +99,7 @@ To add an bookmark, append the following to bookmarks.json or simply edit one of
``` ```
### Theming: ### Theming:
Dashboard also supports themes with the help of a simple JSON-file: themes.json. To add a theme, append the following to themes.json: Dashboard also supports themes with the help of a simple JSON-file: themes.json. To add a theme, append the following to themes.json:
``` ```
@ -86,6 +113,7 @@ Dashboard also supports themes with the help of a simple JSON-file: themes.json.
``` ```
### Search Providers: ### Search Providers:
The searchbar on the top supports shortcuts like "/so", just as SUI does. To add one of your own, simply append the following to search.json The searchbar on the top supports shortcuts like "/so", just as SUI does. To add one of your own, simply append the following to search.json
``` ```