Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update all dependencies #186

Open
wants to merge 51 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
8863f95
- problem with mysql
WhoamiHF Feb 13, 2024
505733a
- fixed problem with mysql
WhoamiHF Feb 17, 2024
1cd789f
- problem with language and account dropper
WhoamiHF Mar 6, 2024
761938b
Small fix in installation
Mnaukal Mar 7, 2024
53a843c
Fix dropdown
Mnaukal Mar 7, 2024
2ca414f
Remove CoreUI
Mnaukal Mar 7, 2024
6a222b9
Add Sidebar
Mnaukal Mar 7, 2024
d1aac41
Fix Buffer (base64-url)
Mnaukal Mar 7, 2024
680fd1a
Update alert close button
Mnaukal Mar 7, 2024
82212dc
- fixed Uncaught TypeError: jqModal.modal is not a function
WhoamiHF Mar 18, 2024
83c9383
- fixed sample 2
WhoamiHF Mar 20, 2024
a149fe8
- updated elastic search
WhoamiHF Apr 10, 2024
c1789bd
- problem with fetching data for custom panels
WhoamiHF May 13, 2024
8474aaa
Update modal buttons
Mnaukal May 14, 2024
05df119
Installable
May 20, 2024
3f43a76
Installable - replaced absolute path used for testing with relative
May 20, 2024
9da9390
Installable - fixed loading of scss
May 22, 2024
602de59
- removed node-sass
WhoamiHF May 23, 2024
d28d46a
- removed node-sass
WhoamiHF May 23, 2024
9fef72a
Remove checkcss
Mnaukal May 28, 2024
61b6843
Fix modals.js (revert unnecessary changes)
Mnaukal May 28, 2024
e360736
Update sidebar styles
Mnaukal May 28, 2024
7e61abe
Hopefully fixed `setFlashMessage` reloading panels
Mnaukal May 29, 2024
c7e02e3
Second attempt to fix `setFlashMessage` reloading panels
Mnaukal May 29, 2024
a9d1cd0
Fix breadcrumbs and sidebar for panels
Mnaukal May 29, 2024
1417c77
Fix zoom in line chart
Mnaukal May 29, 2024
ba8d109
Fix bugs in ScatterPlotBase.js
Mnaukal May 29, 2024
8a89c44
Small style fixes
Mnaukal May 30, 2024
408b0b6
Collapse sidebar on narrow screens
Mnaukal May 30, 2024
662fb82
Fix recursion error (brush+zoom) in HistogramChart.js
Mnaukal May 30, 2024
5022c79
Allow CTRL+S to save template/task code
Mnaukal May 30, 2024
628133c
Add example application for embedding
Mnaukal May 31, 2024
99674ba
- Working querying executed-workflows with characteristics
Jun 9, 2024
0bf8d47
Revert "- Working querying executed-workflows with characteristics"
Mnaukal Jun 12, 2024
25b5a2c
Fix login redirect
Mnaukal Jun 12, 2024
a78d915
Cleanup
Mnaukal Jun 12, 2024
d3b8f18
Add source maps to simplify debugging
Mnaukal Jun 12, 2024
61f35bc
Fix hiding flash message on page change
Mnaukal Jun 12, 2024
fd9de92
Fix permanent links
Mnaukal Jun 13, 2024
2f13a26
Mark TODOs in the code
Mnaukal Jun 13, 2024
f2ac034
Fix bug in job creation (when selecting default built-in task)
Mnaukal Jun 14, 2024
574c70d
Add example of builtin template, fix SubRoute
Mnaukal Jun 26, 2024
e756b06
Fix title in example builtin template
Mnaukal Jun 27, 2024
36e96c1
Fix navigation blocking when form is not saved
Mnaukal Jun 27, 2024
4f6a18b
Clean up unnecessary code after navigation blocking fix (36e96c1)
Mnaukal Jun 27, 2024
b5511f0
Remove debugging `console.log`s
Mnaukal Aug 23, 2024
6a8d13f
Clean up imports
Mnaukal Aug 23, 2024
d55d689
Remove resolved TODO
Mnaukal Aug 23, 2024
fb73ffe
Set min-height of top menu
Mnaukal Aug 23, 2024
bab0e88
Create .gitattributes to set the correct line endings for Shell scripts
Mnaukal Aug 23, 2024
0d7582f
Add basic Docker support to ivis-core
Mnaukal Aug 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Node.js
**/node_modules
**/package-lock.json

# Build files
**/dist

# IVIS files
**/server/lib/tasks/python/build/
**/server/files
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# for shell files, set LF line endings
*.sh text eol=lf
23 changes: 23 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
FROM node:20

# install git
RUN apt-get update && apt-get install -y git && apt-get clean;

WORKDIR /app

COPY . .
COPY ./server/config ./config

# install Node modules
RUN cd server && npm install --loglevel silly
RUN cd client && npm install --loglevel silly
RUN cd shared && npm install --loglevel silly

# build the client
RUN cd client && npm run build

# script for waiting for other services to start up
COPY wait-for-it.sh /usr/local/bin/wait-for-it.sh
RUN chmod +x /usr/local/bin/wait-for-it.sh

EXPOSE 8443 8444 8445
76 changes: 76 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ IVIS-CORE has been realized on top of several technologies, in particular based

## Quick Start

This section describes several ways how to install IVIS:

* [local installation with Docker](#local-installation-with-docker)
* [public website secured by SSL](#installation-on-fresh-centos-8-centos-7-or-ubuntu-1804-lts-public-website-secured-by-ssl)
* [local installation (primarily for development and testing)](#installation-on-fresh-centos-8-centos-7-or-ubuntu-1804-lts-local-installation)
* [debugger configuration](https://github.com/smartarch/ivis-core/wiki/Local-installation-for-development)

### Preparation
The project creates three URL endpoints, which are referred to as "trusted", "sandbox" and "public". This allows IVIS
to guarantee security and avoid XSS attacks in the multi-user settings. The function of these three endpoints is as follows:
Expand All @@ -42,6 +49,75 @@ The recommended deployment of IVIS is to use 3 DNS entries that all points to th
- *api.ivis.example.com* - public endpoint (CNAME record `api.ivis` under `example.com` domain that points to `ivis`)


### Local installation with Docker

**⚠️ Note that the Docker installation is considered EXPERIMENTAL at the moment and some features might not work.**

This will set up a locally accessible IVIS instance ran via Docker.

All endpoints (trusted, sandbox, public) will provide only HTTP as follows (however, a proxy server can be set up to access the endpoints publicly):

- http://localhost:8443 - trusted endpoint
- http://localhost:8444 - sandbox endpoint
- http://localhost:8445 - api endpoint

1. Install Git

For CentOS 8 type:
```
dnf install -y git
```

For CentOS 7 type:
```
yum install -y git
```

For Ubuntu 18.04 LTS type
```
apt-get install -y git
```

2. Download IVIS using Git:
```
git clone https://github.com/smartarch/ivis-core.git
cd ivis-core
```

3. If necessary, update `ivis-core` configuration:

By default, the app is set to run on localhost on HTTP (via Docker). If you want to access it via a different URL and use HTTPS (you will also need to set up a proxy), create the `server/config/local-docker.yaml` file and set the necessary configuration:

```yaml
www:
trustedPortIsHttps: true
sandboxPortIsHttps: true
apiPortIsHttps: true

trustedUrlBase: https://ivis.example.com
sandboxUrlBase: https://sbox.ivis.example.com
```

Possibly also update other configuration (e.g., `mysql.password`). See [`server/config/docker.yaml`](server/config/docker.yaml) for default values.

4. Build the Docker Images:

```bash
docker-compose build
```

5. Start the Services:

```bash
docker-compose up
```

6. Open the trusted endpoint: <http://localhost:8443>

7. Authenticate as `admin`:`test`

8. Update your password under Account/Profile

### Installation on fresh CentOS 8, CentOS 7 or Ubuntu 18.04 LTS (public website secured by SSL)

This will setup a publicly accessible IVIS instance. Endpoints trusted and sandbox will provide both HTTP (on port 80)
Expand Down
Loading
Loading