mirror of
https://github.com/fluencelabs/dashboard
synced 2025-03-16 05:20:50 +00:00
Automate build, enable --mode production (#4)
This commit is contained in:
parent
bf9d2b5626
commit
ac360f5819
5
.dockerignore
Normal file
5
.dockerignore
Normal file
@ -0,0 +1,5 @@
|
||||
*
|
||||
**/*
|
||||
!bundle/
|
||||
!Caddyfile
|
||||
!nginx.conf
|
74
.github/workflows/container.yml
vendored
Normal file
74
.github/workflows/container.yml
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
name: container
|
||||
on:
|
||||
push:
|
||||
# branches:
|
||||
# - master
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
### extract branch name
|
||||
- name: Extract branch name
|
||||
if: github.event_name != 'pull_request'
|
||||
shell: bash
|
||||
run: echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV
|
||||
id: extract_branch
|
||||
|
||||
- name: Extract branch name
|
||||
if: github.event_name == 'pull_request'
|
||||
run: echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node.js 14
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 14
|
||||
|
||||
- run: npm install
|
||||
- run: npm run pack
|
||||
env:
|
||||
CI: true
|
||||
|
||||
### Prepare docker & login to Dockerhub
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Cache Docker layers
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: /tmp/.buildx-cache
|
||||
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-buildx-
|
||||
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
### Set container tag to 'latest' if branch is master, and to $BRANCH_NAME otherwise
|
||||
- if: ${{ env.BRANCH_NAME }} == 'master'
|
||||
run: echo "CONTAINER_TAG=latest" >> $GITHUB_ENV
|
||||
- if: ${{ env.BRANCH_NAME }} != 'master'
|
||||
run: echo "CONTAINER_TAG=${{ env.BRANCH_NAME }}" >> $GITHUB_ENV
|
||||
|
||||
### Build and push docker image
|
||||
- name: Build and push
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: .
|
||||
file: ./caddy.Dockerfile
|
||||
push: true
|
||||
tags: fluencelabs/dashboard:${{ env.CONTAINER_TAG }}
|
||||
- name: Image digest
|
||||
run: echo ${{ steps.docker_build.outputs.digest }}
|
||||
|
||||
# docker commit --change='ENTRYPOINT ["caddy", "file-server", "--root", "/build", "--browse"]' caddy fluencelabs/fluence:demo
|
18
.github/workflows/deploy.yml
vendored
Normal file
18
.github/workflows/deploy.yml
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
name: deploy
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Deploy dashboard@master to DigitalOcean via SSH
|
||||
uses: appleboy/ssh-action@v0.1.4
|
||||
with:
|
||||
HOST: ${{ secrets.DASHBOARD_HOST }}
|
||||
USERNAME: ${{ secrets.DASHBOARD_USERNAME }}
|
||||
KEY: ${{ secrets.DASHBOARD_SSHKEY }}
|
||||
script: |
|
||||
docker pull fluencelabs/dashboard:latest
|
||||
docker rm -f dashboard
|
||||
docker run -d --name dashboard -p443:443 -p80:80 -v caddy_data:/data fluencelabs/dashboard:latest
|
13
Caddyfile
Normal file
13
Caddyfile
Normal file
@ -0,0 +1,13 @@
|
||||
:8080, dash.fluence.dev {
|
||||
|
||||
log {
|
||||
output stderr
|
||||
format console
|
||||
}
|
||||
|
||||
tls alexey@fluence.one
|
||||
encode zstd gzip
|
||||
file_server
|
||||
root * /bundle
|
||||
try_files {path} /index.html
|
||||
}
|
20
caddy.Dockerfile
Normal file
20
caddy.Dockerfile
Normal file
@ -0,0 +1,20 @@
|
||||
FROM caddy
|
||||
WORKDIR /
|
||||
COPY ./bundle /bundle
|
||||
COPY Caddyfile /Caddyfile
|
||||
|
||||
#RUN printf '\n\
|
||||
#dash.fluence.dev {\n\
|
||||
# try_files /bundle/{path} /bundle/index.html?{query}&p={path}\n\
|
||||
#}\n\
|
||||
#'\
|
||||
#>> /tmp/hello
|
||||
|
||||
#RUN echo 'try_files /bundle/{path} /bundle/index.html?{query}&p={path}' > Caddyfile
|
||||
|
||||
VOLUME /data
|
||||
|
||||
#CMD ["caddy", "file-server", "--root", "/bundle", "--browse"]
|
||||
CMD ["caddy", "run", "--config", "/Caddyfile"]
|
||||
|
||||
# DO NOT FORGET TO USE VOLUME OR CERTBOT WILL BAN: -v caddy_data:/data
|
2
elm.json
2
elm.json
@ -23,7 +23,7 @@
|
||||
"elm-community/intdict": "3.0.0",
|
||||
"elm-community/list-extra": "8.2.4",
|
||||
"elm-community/maybe-extra": "5.2.0",
|
||||
"ivadzy/bbase64": "1.1.1",
|
||||
"chelovek0v/bbase64": "1.0.1",
|
||||
"lukewestby/elm-string-interpolate": "1.0.4",
|
||||
"mpizenberg/elm-pointer-events": "4.0.2",
|
||||
"rtfeldman/elm-iso8601-date-strings": "1.1.3"
|
||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
@ -1,7 +1,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<link rel="favicon" type="image/ico" href="favicon.ico" />
|
||||
<link rel="favicon" type="image/ico" href="images/favicon.ico" />
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@100;200&display=swap" rel="stylesheet">
|
||||
|
||||
@ -16,9 +16,7 @@
|
||||
<title>Fluence Network Dashboard</title>
|
||||
</head>
|
||||
<body>
|
||||
<script src="/bundle/bundle.js"></script>
|
||||
<script src="/bundle.js"></script>
|
||||
<div id="root"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
4
nginx.Dockerfile
Normal file
4
nginx.Dockerfile
Normal file
@ -0,0 +1,4 @@
|
||||
FROM nginx
|
||||
COPY ./nginx.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
COPY ./bundle /usr/share/nginx/html
|
9
nginx.conf
Normal file
9
nginx.conf
Normal file
@ -0,0 +1,9 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name frontend;
|
||||
location / {
|
||||
# This would be the directory where your React app's static files are stored at
|
||||
root /usr/share/nginx/html;
|
||||
try_files $uri /index.html;
|
||||
}
|
||||
}
|
87
package-lock.json
generated
87
package-lock.json
generated
@ -1937,12 +1937,6 @@
|
||||
"integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
|
||||
"dev": true
|
||||
},
|
||||
"acorn-walk": {
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.0.0.tgz",
|
||||
"integrity": "sha512-oZRad/3SMOI/pxbbmqyurIx7jHw1wZDcR9G44L8pUVFEomX/0dH89SrM1KaDXuv1NpzAXz6Op/Xu/Qd5XXzdEA==",
|
||||
"dev": true
|
||||
},
|
||||
"address": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/address/-/address-1.0.3.tgz",
|
||||
@ -15903,87 +15897,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"webpack-bundle-analyzer": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.2.0.tgz",
|
||||
"integrity": "sha512-gmjpdL/AJeGAftSzA+bjIPiChUffjBelcH2+3woCUiRpQfuwrTJuWRyZuqegiwBAroMJp7gIwcJaGeol039zbQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"acorn": "^8.0.4",
|
||||
"acorn-walk": "^8.0.0",
|
||||
"chalk": "^4.1.0",
|
||||
"commander": "^6.2.0",
|
||||
"express": "^4.17.1",
|
||||
"filesize": "^6.1.0",
|
||||
"gzip-size": "^6.0.0",
|
||||
"lodash": "^4.17.20",
|
||||
"opener": "^1.5.2",
|
||||
"ws": "^7.3.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"acorn": {
|
||||
"version": "8.0.4",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz",
|
||||
"integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"color-convert": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
|
||||
"integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"color-name": "~1.1.4"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"dev": true
|
||||
},
|
||||
"commander": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz",
|
||||
"integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==",
|
||||
"dev": true
|
||||
},
|
||||
"filesize": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz",
|
||||
"integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==",
|
||||
"dev": true
|
||||
},
|
||||
"gzip-size": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz",
|
||||
"integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"duplexer": "^0.1.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"webpack-cli": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.2.0.tgz",
|
||||
|
@ -5,8 +5,7 @@
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"start": "webpack-serve --open",
|
||||
"pack": "webpack",
|
||||
"dev": "parcel index.html",
|
||||
"pack": "webpack --mode production",
|
||||
"prettier-format": "prettier --config .prettierrc 'src/**/*.ts' --write"
|
||||
},
|
||||
"repository": {
|
||||
@ -50,7 +49,6 @@
|
||||
"ts-loader": "8.0.11",
|
||||
"typescript": "4.1.2",
|
||||
"webpack": "5.7.0",
|
||||
"webpack-bundle-analyzer": "^4.2.0",
|
||||
"webpack-cli": "4.2.0",
|
||||
"webpack-nano": "^1.1.0",
|
||||
"webpack-plugin-serve": "^1.2.0",
|
||||
|
@ -1,4 +1,6 @@
|
||||
export const stage: { peerId: string; multiaddr: string }[] = [
|
||||
export type Node = { peerId: string; multiaddr: string };
|
||||
|
||||
export const stage: Node[] = [
|
||||
{
|
||||
multiaddr: '/dns4/stage.fluence.dev/tcp/19001/wss/p2p/12D3KooWEXNUbCXooUwHrHBbrmjsrpHXoEphPwbjQXEGyzbqKnE9',
|
||||
peerId: '12D3KooWEXNUbCXooUwHrHBbrmjsrpHXoEphPwbjQXEGyzbqKnE9',
|
||||
@ -29,53 +31,117 @@ export const stage: { peerId: string; multiaddr: string }[] = [
|
||||
},
|
||||
];
|
||||
|
||||
export const faasNet: { peerId: string; multiaddr: string }[] = [
|
||||
// net01.fluence.dev /ip4/165.227.164.206/tcp/9001/ws 12D3KooWEXNUbCXooUwHrHBbrmjsrpHXoEphPwbjQXEGyzbqKnE9
|
||||
// net01.fluence.dev /ip4/165.227.164.206/tcp/9990/ws 12D3KooWMhVpgfQxBLkQkJed8VFNvgN4iE6MD7xCybb1ZYWW2Gtz
|
||||
// net01.fluence.dev /ip4/165.227.164.206/tcp/9100/ws 12D3KooWPnLxnY71JDxvB3zbjKu9k1BCYNthGZw6iGrLYsR1RnWM
|
||||
// net02.fluence.dev /ip4/138.197.189.50/tcp/9001/ws 12D3KooWHk9BjDQBUqnavciRPhAYFvqKBe4ZiPPvde7vDaqgn5er
|
||||
// net03.fluence.dev /ip4/157.230.23.49/tcp/9001/ws 12D3KooWBUJifCTgaxAUrcM9JysqCcS4CS8tiYH5hExbdWCAoNwb
|
||||
// net04.fluence.dev /ip4/159.65.126.102/tcp/9001/ws 12D3KooWJbJFaZ3k5sNd8DjQgg3aERoKtBAnirEvPV8yp76kEXHB
|
||||
// net05.fluence.dev /ip4/142.93.169.49/tcp/9001/ws 12D3KooWCKCeqLPSgMnDjyFsJuWqREDtKNHx1JEBiwaMXhCLNTRb
|
||||
// net06.fluence.dev /ip4/139.59.148.53/tcp/9001/ws 12D3KooWKnRcsTpYx9axkJ6d69LPfpPXrkVLe96skuPTAo76LLVH
|
||||
// net07.fluence.dev /ip4/206.81.30.129/tcp/9001/ws 12D3KooWBSdm6TkqnEFrgBuSkpVE3dR1kr6952DsWQRNwJZjFZBv
|
||||
// net08.fluence.dev /ip4/157.230.98.51/tcp/9001/ws 12D3KooWGzNvhSDsgFoHwpWHAyPf1kcTYCGeRBPfznL8J6qdyu2H
|
||||
// net09.fluence.dev /ip4/159.89.2.70/tcp/9001/ws 12D3KooWF7gjXhQ4LaKj6j7ntxsPpGk34psdQicN2KNfBi9bFKXg
|
||||
// net10.fluence.dev /ip4/157.230.98.75/tcp/9001/ws 12D3KooWB9P1xmV3c7ZPpBemovbwCiRRTKd3Kq2jsVPQN4ZukDfy
|
||||
|
||||
export const faasNet: Node[] = [
|
||||
{
|
||||
multiaddr: '/ip4/138.68.102.254/tcp/9001/ws/p2p/12D3KooWB9P1xmV3c7ZPpBemovbwCiRRTKd3Kq2jsVPQN4ZukDfy',
|
||||
peerId: '12D3KooWB9P1xmV3c7ZPpBemovbwCiRRTKd3Kq2jsVPQN4ZukDfy',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/165.227.165.192/tcp/9001/ws/p2p/12D3KooWJbJFaZ3k5sNd8DjQgg3aERoKtBAnirEvPV8yp76kEXHB',
|
||||
peerId: '12D3KooWJbJFaZ3k5sNd8DjQgg3aERoKtBAnirEvPV8yp76kEXHB',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/165.227.167.87/tcp/9001/ws/p2p/12D3KooWF7gjXhQ4LaKj6j7ntxsPpGk34psdQicN2KNfBi9bFKXg',
|
||||
peerId: '12D3KooWF7gjXhQ4LaKj6j7ntxsPpGk34psdQicN2KNfBi9bFKXg',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/138.68.70.143/tcp/9001/ws/p2p/12D3KooWKnRcsTpYx9axkJ6d69LPfpPXrkVLe96skuPTAo76LLVH',
|
||||
peerId: '12D3KooWKnRcsTpYx9axkJ6d69LPfpPXrkVLe96skuPTAo76LLVH',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/165.227.161.121/tcp/9001/ws/p2p/12D3KooWBUJifCTgaxAUrcM9JysqCcS4CS8tiYH5hExbdWCAoNwb',
|
||||
peerId: '12D3KooWBUJifCTgaxAUrcM9JysqCcS4CS8tiYH5hExbdWCAoNwb',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/159.89.12.142/tcp/9001/ws/p2p/12D3KooWCKCeqLPSgMnDjyFsJuWqREDtKNHx1JEBiwaMXhCLNTRb',
|
||||
peerId: '12D3KooWCKCeqLPSgMnDjyFsJuWqREDtKNHx1JEBiwaMXhCLNTRb',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/139.59.146.127/tcp/9001/ws/p2p/12D3KooWEXNUbCXooUwHrHBbrmjsrpHXoEphPwbjQXEGyzbqKnE9',
|
||||
multiaddr: '/ip4/165.227.164.206/tcp/9001/ws/p2p/12D3KooWEXNUbCXooUwHrHBbrmjsrpHXoEphPwbjQXEGyzbqKnE9',
|
||||
peerId: '12D3KooWEXNUbCXooUwHrHBbrmjsrpHXoEphPwbjQXEGyzbqKnE9',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/159.89.9.74/tcp/9001/ws/p2p/12D3KooWHk9BjDQBUqnavciRPhAYFvqKBe4ZiPPvde7vDaqgn5er',
|
||||
peerId: '12D3KooWHk9BjDQBUqnavciRPhAYFvqKBe4ZiPPvde7vDaqgn5er',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/159.89.6.161/tcp/9001/ws/p2p/12D3KooWGzNvhSDsgFoHwpWHAyPf1kcTYCGeRBPfznL8J6qdyu2H',
|
||||
peerId: '12D3KooWGzNvhSDsgFoHwpWHAyPf1kcTYCGeRBPfznL8J6qdyu2H',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/165.227.163.146/tcp/9001/ws/p2p/12D3KooWBSdm6TkqnEFrgBuSkpVE3dR1kr6952DsWQRNwJZjFZBv',
|
||||
peerId: '12D3KooWBSdm6TkqnEFrgBuSkpVE3dR1kr6952DsWQRNwJZjFZBv',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/139.59.146.127/tcp/9990/ws/p2p/12D3KooWMhVpgfQxBLkQkJed8VFNvgN4iE6MD7xCybb1ZYWW2Gtz',
|
||||
multiaddr: '/ip4/165.227.164.206/tcp/9990/ws/p2p/12D3KooWMhVpgfQxBLkQkJed8VFNvgN4iE6MD7xCybb1ZYWW2Gtz',
|
||||
peerId: '12D3KooWMhVpgfQxBLkQkJed8VFNvgN4iE6MD7xCybb1ZYWW2Gtz',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/139.59.146.127/tcp/9100/ws/p2p/12D3KooWPnLxnY71JDxvB3zbjKu9k1BCYNthGZw6iGrLYsR1RnWM',
|
||||
multiaddr: '/ip4/165.227.164.206/tcp/9100/ws/p2p/12D3KooWPnLxnY71JDxvB3zbjKu9k1BCYNthGZw6iGrLYsR1RnWM',
|
||||
peerId: '12D3KooWPnLxnY71JDxvB3zbjKu9k1BCYNthGZw6iGrLYsR1RnWM',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/138.197.189.50/tcp/9001/ws/p2p/12D3KooWHk9BjDQBUqnavciRPhAYFvqKBe4ZiPPvde7vDaqgn5er',
|
||||
peerId: '12D3KooWHk9BjDQBUqnavciRPhAYFvqKBe4ZiPPvde7vDaqgn5er',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/157.230.23.49/tcp/9001/ws/p2p/12D3KooWBUJifCTgaxAUrcM9JysqCcS4CS8tiYH5hExbdWCAoNwb',
|
||||
peerId: '12D3KooWBUJifCTgaxAUrcM9JysqCcS4CS8tiYH5hExbdWCAoNwb',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/159.65.126.102/tcp/9001/ws/p2p/12D3KooWJbJFaZ3k5sNd8DjQgg3aERoKtBAnirEvPV8yp76kEXHB',
|
||||
peerId: '12D3KooWJbJFaZ3k5sNd8DjQgg3aERoKtBAnirEvPV8yp76kEXHB',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/142.93.169.49/tcp/9001/ws/p2p/12D3KooWCKCeqLPSgMnDjyFsJuWqREDtKNHx1JEBiwaMXhCLNTRb',
|
||||
peerId: '12D3KooWCKCeqLPSgMnDjyFsJuWqREDtKNHx1JEBiwaMXhCLNTRb',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/139.59.148.53/tcp/9001/ws/p2p/12D3KooWKnRcsTpYx9axkJ6d69LPfpPXrkVLe96skuPTAo76LLVH',
|
||||
peerId: '12D3KooWKnRcsTpYx9axkJ6d69LPfpPXrkVLe96skuPTAo76LLVH',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/206.81.30.129/tcp/9001/ws/p2p/12D3KooWBSdm6TkqnEFrgBuSkpVE3dR1kr6952DsWQRNwJZjFZBv',
|
||||
peerId: '12D3KooWBSdm6TkqnEFrgBuSkpVE3dR1kr6952DsWQRNwJZjFZBv',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/157.230.98.51/tcp/9001/ws/p2p/12D3KooWGzNvhSDsgFoHwpWHAyPf1kcTYCGeRBPfznL8J6qdyu2H',
|
||||
peerId: '12D3KooWGzNvhSDsgFoHwpWHAyPf1kcTYCGeRBPfznL8J6qdyu2H',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/159.89.2.70/tcp/9001/ws/p2p/12D3KooWF7gjXhQ4LaKj6j7ntxsPpGk34psdQicN2KNfBi9bFKXg',
|
||||
peerId: '12D3KooWF7gjXhQ4LaKj6j7ntxsPpGk34psdQicN2KNfBi9bFKXg',
|
||||
},
|
||||
{
|
||||
multiaddr: '/ip4/157.230.98.75/tcp/9001/ws/p2p/12D3KooWB9P1xmV3c7ZPpBemovbwCiRRTKd3Kq2jsVPQN4ZukDfy',
|
||||
peerId: '12D3KooWB9P1xmV3c7ZPpBemovbwCiRRTKd3Kq2jsVPQN4ZukDfy',
|
||||
},
|
||||
];
|
||||
|
||||
export const faasNetHttps: Node[] = [
|
||||
{
|
||||
multiaddr: '/dns4/net01.fluence.dev/tcp/19001/wss/p2p/12D3KooWEXNUbCXooUwHrHBbrmjsrpHXoEphPwbjQXEGyzbqKnE9',
|
||||
peerId: '12D3KooWEXNUbCXooUwHrHBbrmjsrpHXoEphPwbjQXEGyzbqKnE9',
|
||||
},
|
||||
{
|
||||
multiaddr: '/dns4/net01.fluence.dev/tcp/19990/wss/p2p/12D3KooWMhVpgfQxBLkQkJed8VFNvgN4iE6MD7xCybb1ZYWW2Gtz',
|
||||
peerId: '12D3KooWMhVpgfQxBLkQkJed8VFNvgN4iE6MD7xCybb1ZYWW2Gtz',
|
||||
},
|
||||
{
|
||||
multiaddr: '/dns4/net01.fluence.dev/tcp/19100/wss/p2p/12D3KooWPnLxnY71JDxvB3zbjKu9k1BCYNthGZw6iGrLYsR1RnWM',
|
||||
peerId: '12D3KooWPnLxnY71JDxvB3zbjKu9k1BCYNthGZw6iGrLYsR1RnWM',
|
||||
},
|
||||
{
|
||||
multiaddr: '/dns4/net02.fluence.dev/tcp/19001/wss/p2p/12D3KooWHk9BjDQBUqnavciRPhAYFvqKBe4ZiPPvde7vDaqgn5er',
|
||||
peerId: '12D3KooWHk9BjDQBUqnavciRPhAYFvqKBe4ZiPPvde7vDaqgn5er',
|
||||
},
|
||||
{
|
||||
multiaddr: '/dns4/net03.fluence.dev/tcp/19001/wss/p2p/12D3KooWBUJifCTgaxAUrcM9JysqCcS4CS8tiYH5hExbdWCAoNwb',
|
||||
peerId: '12D3KooWBUJifCTgaxAUrcM9JysqCcS4CS8tiYH5hExbdWCAoNwb',
|
||||
},
|
||||
{
|
||||
multiaddr: '/dns4/net04.fluence.dev/tcp/19001/wss/p2p/12D3KooWJbJFaZ3k5sNd8DjQgg3aERoKtBAnirEvPV8yp76kEXHB',
|
||||
peerId: '12D3KooWJbJFaZ3k5sNd8DjQgg3aERoKtBAnirEvPV8yp76kEXHB',
|
||||
},
|
||||
{
|
||||
multiaddr: '/dns4/net05.fluence.dev/tcp/19001/wss/p2p/12D3KooWCKCeqLPSgMnDjyFsJuWqREDtKNHx1JEBiwaMXhCLNTRb',
|
||||
peerId: '12D3KooWCKCeqLPSgMnDjyFsJuWqREDtKNHx1JEBiwaMXhCLNTRb',
|
||||
},
|
||||
{
|
||||
multiaddr: '/dns4/net06.fluence.dev/tcp/19001/wss/p2p/12D3KooWKnRcsTpYx9axkJ6d69LPfpPXrkVLe96skuPTAo76LLVH',
|
||||
peerId: '12D3KooWKnRcsTpYx9axkJ6d69LPfpPXrkVLe96skuPTAo76LLVH',
|
||||
},
|
||||
{
|
||||
multiaddr: '/dns4/net07.fluence.dev/tcp/19001/wss/p2p/12D3KooWBSdm6TkqnEFrgBuSkpVE3dR1kr6952DsWQRNwJZjFZBv',
|
||||
peerId: '12D3KooWBSdm6TkqnEFrgBuSkpVE3dR1kr6952DsWQRNwJZjFZBv',
|
||||
},
|
||||
{
|
||||
multiaddr: '/dns4/net08.fluence.dev/tcp/19001/wss/p2p/12D3KooWGzNvhSDsgFoHwpWHAyPf1kcTYCGeRBPfznL8J6qdyu2H',
|
||||
peerId: '12D3KooWGzNvhSDsgFoHwpWHAyPf1kcTYCGeRBPfznL8J6qdyu2H',
|
||||
},
|
||||
{
|
||||
multiaddr: '/dns4/net09.fluence.dev/tcp/19001/wss/p2p/12D3KooWF7gjXhQ4LaKj6j7ntxsPpGk34psdQicN2KNfBi9bFKXg',
|
||||
peerId: '12D3KooWF7gjXhQ4LaKj6j7ntxsPpGk34psdQicN2KNfBi9bFKXg',
|
||||
},
|
||||
{
|
||||
multiaddr: '/dns4/net10.fluence.dev/tcp/19001/wss/p2p/12D3KooWB9P1xmV3c7ZPpBemovbwCiRRTKd3Kq2jsVPQN4ZukDfy',
|
||||
peerId: '12D3KooWB9P1xmV3c7ZPpBemovbwCiRRTKd3Kq2jsVPQN4ZukDfy',
|
||||
},
|
||||
];
|
||||
|
@ -22,17 +22,17 @@ import { registerService } from 'fluence/dist/globalState';
|
||||
import { ServiceOne } from 'fluence/dist/service';
|
||||
import * as serviceWorker from './serviceWorker';
|
||||
import { Elm } from './Main.elm';
|
||||
import {faasNet, stage} from './environments';
|
||||
import { faasNetHttps, faasNet, stage } from './environments';
|
||||
|
||||
const relayIdx = 1;
|
||||
|
||||
export const relays: { peerId: string; multiaddr: string }[] = stage;
|
||||
export const relays: { peerId: string; multiaddr: string }[] = faasNetHttps;
|
||||
|
||||
function genFlags(peerId: string): any {
|
||||
return {
|
||||
peerId,
|
||||
relayId: relays[relayIdx].peerId,
|
||||
knownPeers: relays.map((v) => v.peerId)
|
||||
knownPeers: relays.map((v) => v.peerId),
|
||||
};
|
||||
}
|
||||
|
||||
@ -98,8 +98,6 @@ function event(name: string,peer: string,peers?: string[],identify?: string[],se
|
||||
});
|
||||
})();
|
||||
|
||||
Fluence.setLogLevel('trace')
|
||||
|
||||
// If you want your app to work offline and load faster, you can change
|
||||
// unregister() to register() below. Note this comes with some pitfalls.
|
||||
// Learn more about service workers: https://bit.ly/CRA-PWA
|
||||
|
@ -1,75 +1,82 @@
|
||||
const path = require('path');
|
||||
const CopyWebpackPlugin = require('copy-webpack-plugin')
|
||||
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
||||
const webpack = require('webpack');
|
||||
const { WebpackPluginServe: Serve } = require('webpack-plugin-serve');
|
||||
const TerserPlugin = require('terser-webpack-plugin');
|
||||
|
||||
module.exports = {
|
||||
entry: {
|
||||
app: ['./src/index.ts']
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.js', '.ts', ".elm"]
|
||||
},
|
||||
devServer: {
|
||||
contentBase: './bundle',
|
||||
hot: false,
|
||||
inline: false
|
||||
},
|
||||
devtool: "eval-source-map",
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.html$/,
|
||||
use: [{loader: "file-loader?name=[name].[ext]"}]
|
||||
module.exports = (env, argv) => {
|
||||
const isDebug = argv.mode === 'development';
|
||||
const isProduction = argv.mode === 'production';
|
||||
|
||||
},
|
||||
{
|
||||
test: [/\.elm$/],
|
||||
exclude: [/elm-stuff/, /node_modules/],
|
||||
use: [
|
||||
{loader: "elm-hot-webpack-loader"},
|
||||
{
|
||||
loader: "elm-webpack-loader",
|
||||
options:
|
||||
{debug: true, forceWatch: false}
|
||||
}
|
||||
]
|
||||
},
|
||||
{test: /\.ts$/, loader: "ts-loader"},
|
||||
{
|
||||
test: /\.(png)$/,
|
||||
loader: 'file-loader',
|
||||
},
|
||||
{
|
||||
test: /\.css$/i,
|
||||
use: ['style-loader', 'css-loader'],
|
||||
},
|
||||
]
|
||||
},
|
||||
mode: "development",
|
||||
watch: true,
|
||||
output: {
|
||||
filename: 'bundle.js',
|
||||
path: path.resolve(__dirname, 'bundle'),
|
||||
publicPath: "/"
|
||||
},
|
||||
plugins: [
|
||||
new CopyWebpackPlugin({
|
||||
patterns: [
|
||||
{from: './*.html'},
|
||||
{from: './images/*.svg'},
|
||||
{from: './favicon.ico'},
|
||||
]
|
||||
}),
|
||||
new webpack.ProvidePlugin({
|
||||
process: 'process/browser.js',
|
||||
Buffer: ['buffer', 'Buffer'],
|
||||
}),
|
||||
new Serve({
|
||||
historyFallback: true,
|
||||
port: 55553,
|
||||
host: 'localhost',
|
||||
})
|
||||
]
|
||||
return {
|
||||
entry: {
|
||||
app: ['./src/index.ts'],
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.js', '.ts', '.elm'],
|
||||
},
|
||||
devServer: {
|
||||
contentBase: './bundle',
|
||||
hot: false,
|
||||
inline: false,
|
||||
},
|
||||
devtool: 'eval-source-map',
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.html$/,
|
||||
use: [{ loader: 'file-loader?name=[name].[ext]' }],
|
||||
},
|
||||
{
|
||||
test: [/\.elm$/],
|
||||
exclude: [/elm-stuff/, /node_modules/],
|
||||
use: [
|
||||
{ loader: 'elm-hot-webpack-loader' },
|
||||
{
|
||||
loader: 'elm-webpack-loader',
|
||||
options: {
|
||||
debug: isDebug,
|
||||
optimize: isProduction,
|
||||
forceWatch: false,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{ test: /\.ts$/, loader: 'ts-loader' },
|
||||
{
|
||||
test: /\.(png)$/,
|
||||
loader: 'file-loader',
|
||||
},
|
||||
{
|
||||
test: /\.css$/i,
|
||||
use: ['style-loader', 'css-loader'],
|
||||
},
|
||||
],
|
||||
},
|
||||
mode: 'development',
|
||||
watch: isDebug,
|
||||
output: {
|
||||
filename: 'bundle.js',
|
||||
path: path.resolve(__dirname, 'bundle'),
|
||||
publicPath: '/',
|
||||
},
|
||||
optimization: {
|
||||
minimize: isProduction,
|
||||
minimizer: [new TerserPlugin()],
|
||||
},
|
||||
plugins: [
|
||||
new CopyWebpackPlugin({
|
||||
patterns: [{ from: './*.html' }, { from: './images/*.svg' }],
|
||||
}),
|
||||
new webpack.ProvidePlugin({
|
||||
process: 'process/browser.js',
|
||||
Buffer: ['buffer', 'Buffer'],
|
||||
}),
|
||||
new Serve({
|
||||
historyFallback: true,
|
||||
port: 55553,
|
||||
host: 'localhost',
|
||||
}),
|
||||
],
|
||||
};
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user