mirror of
https://github.com/oceanprotocol/commons.git
synced 2023-03-15 18:03:00 +01:00
Merge pull request #61 from oceanprotocol/feature/dockerize
docker-compose + dockerfiles
This commit is contained in:
commit
20e5efe001
1
.dockerignore
Normal file
1
.dockerignore
Normal file
@ -0,0 +1 @@
|
||||
node_modules
|
1
client/.dockerignore
Normal file
1
client/.dockerignore
Normal file
@ -0,0 +1 @@
|
||||
node_modules
|
47
client/Dockerfile
Normal file
47
client/Dockerfile
Normal file
@ -0,0 +1,47 @@
|
||||
FROM node:11-alpine
|
||||
LABEL maintainer="Ocean Protocol <devops@oceanprotocol.com>"
|
||||
|
||||
RUN apk add --no-cache --update\
|
||||
bash\
|
||||
g++\
|
||||
gcc\
|
||||
git\
|
||||
gettext\
|
||||
make\
|
||||
python
|
||||
|
||||
COPY . /app/frontend
|
||||
WORKDIR /app/frontend
|
||||
|
||||
RUN npm install -g npm serve
|
||||
RUN npm install
|
||||
|
||||
# Default ENV values
|
||||
# src/config/config.ts
|
||||
ENV SERVICE_SCHEME='http'
|
||||
ENV SERVICE_HOST='localhost'
|
||||
ENV SERVICE_PORT='4000'
|
||||
ENV NODE_SCHEME='http'
|
||||
ENV NODE_HOST='localhost'
|
||||
ENV NODE_PORT='8545'
|
||||
ENV AQUARIUS_SCHEME='http'
|
||||
ENV AQUARIUS_HOST='localhost'
|
||||
ENV AQUARIUS_PORT='5000'
|
||||
ENV BRIZO_SCHEME='http'
|
||||
ENV BRIZO_HOST='localhost'
|
||||
ENV BRIZO_PORT='8030'
|
||||
ENV BRIZO_ADDRESS='0x00bd138abd70e2f00903268f3db08f2d25677c9e'
|
||||
ENV PARITY_SCHEME='http'
|
||||
ENV PARITY_HOST='localhost'
|
||||
ENV PARITY_PORT='8545'
|
||||
ENV SECRET_STORE_SCHEME='http'
|
||||
ENV SECRET_STORE_HOST='localhost'
|
||||
ENV SECRET_STORE_PORT='12001'
|
||||
ENV FAUCET_SCHEME='http'
|
||||
ENV FAUCET_HOST='localhost'
|
||||
ENV FAUCET_PORT='3001'
|
||||
|
||||
ENV LISTEN_ADDRESS='0.0.0.0'
|
||||
ENV LISTEN_PORT='3000'
|
||||
|
||||
ENTRYPOINT ["/app/frontend/scripts/docker-entrypoint.sh"]
|
37
client/scripts/docker-entrypoint.sh
Executable file
37
client/scripts/docker-entrypoint.sh
Executable file
@ -0,0 +1,37 @@
|
||||
#!/bin/sh
|
||||
|
||||
SERVICE_SCHEME=${SERVICE_SCHEME:-http}
|
||||
SERVICE_HOST=${SERVICE_HOST:-localhost}
|
||||
SERVICE_PORT=${SERVICE_PORT:-8545}
|
||||
|
||||
NODE_SCHEME=${NODE_SCHEME:-http}
|
||||
NODE_HOST=${NODE_HOST:-localhost}
|
||||
NODE_PORT=${NODE_PORT:-8545}
|
||||
AQUARIUS_SCHEME=${AQUARIUS_SCHEME:-http}
|
||||
AQUARIUS_HOST=${AQUARIUS_HOST:-localhost}
|
||||
AQUARIUS_PORT=${AQUARIUS_PORT:-5000}
|
||||
BRIZO_SCHEME=${BRIZO_SCHEME:-http}
|
||||
BRIZO_HOST=${BRIZO_HOST:-localhost}
|
||||
BRIZO_PORT=${BRIZO_PORT:-8030}
|
||||
BRIZO_PASSWORD=${BRIZO_PASSWORD:-0x00bd138abd70e2f00903268f3db08f2d25677c9e}
|
||||
PARITY_SCHEME=${PARITY_SCHEME:-http}
|
||||
PARITY_HOST=${PARITY_HOST:-localhost}
|
||||
PARITY_PORT=${PARITY_PORT:-8545}
|
||||
SECRET_STORE_SCHEME=${SECRET_STORE_SCHEME:-http}
|
||||
SECRET_STORE_HOST=${SECRET_STORE_HOST:-localhost}
|
||||
SECRET_STORE_PORT=${SECRET_STORE_PORT:-12001}
|
||||
|
||||
FAUCET_SCHEME=${FAUCET_SCHEME:-http}
|
||||
FAUCET_HOST=${FAUCET_HOST:-localhost}
|
||||
FAUCET_PORT=${FAUCET_PORT:-443}
|
||||
|
||||
envsubst < /app/frontend/src/config/config.ts.template > /app/frontend/src/config/config.ts
|
||||
if [ "${LOCAL_CONTRACTS}" = "true" ]; then
|
||||
echo "Waiting for contracts to be generated..."
|
||||
while [ ! -f "/app/frontend/node_modules/@oceanprotocol/keeper-contracts/artifacts/ready" ]; do
|
||||
sleep 2
|
||||
done
|
||||
fi
|
||||
echo "Starting Commons..."
|
||||
npm run build
|
||||
serve -l tcp://"${LISTEN_ADDRESS}":"${LISTEN_PORT}" -s /app/frontend/build/
|
@ -18,7 +18,7 @@ import {
|
||||
faucetHost,
|
||||
faucetPort,
|
||||
faucetScheme
|
||||
} from './config'
|
||||
} from './config/config'
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
|
36
client/src/config/config.ts.template
Normal file
36
client/src/config/config.ts.template
Normal file
@ -0,0 +1,36 @@
|
||||
//
|
||||
// commons-server connection
|
||||
//
|
||||
export const serviceScheme = '${SERVICE_SCHEME}'
|
||||
export const serviceHost = '${SERVICE_HOST}'
|
||||
export const servicePort = '${SERVICE_PORT}'
|
||||
|
||||
//
|
||||
// OCEAN REMOTE CONNECTIONS
|
||||
//
|
||||
export const nodeScheme = '${NODE_SCHEME}'
|
||||
export const nodeHost = '${NODE_HOST}'
|
||||
export const nodePort = '${NODE_PORT}'
|
||||
|
||||
export const aquariusScheme = '${AQUARIUS_SCHEME}'
|
||||
export const aquariusHost = '${AQUARIUS_HOST}'
|
||||
export const aquariusPort = '${AQUARIUS_PORT}'
|
||||
|
||||
export const brizoScheme = '${BRIZO_SCHEME}'
|
||||
export const brizoHost = '${BRIZO_HOST}'
|
||||
export const brizoPort = '${BRIZO_ADDRESS}'
|
||||
export const brizoAddress = '${BRIZO_ADDRESS}'
|
||||
|
||||
export const parityScheme = '${PARITY_SCHEME}'
|
||||
export const parityHost = '${PARITY_HOST}'
|
||||
export const parityPort = '${PARITY_PORT}'
|
||||
|
||||
export const secretStoreScheme = '${SECRET_STORE_SCHEME}'
|
||||
export const secretStoreHost = '${SECRET_STORE_HOST}'
|
||||
export const secretStorePort = '${SECRET_STORE_PORT}'
|
||||
|
||||
export const faucetScheme = '${FAUCET_SCHEME}'
|
||||
export const faucetHost = '${FAUCET_HOST}'
|
||||
export const faucetPort = '${FAUCET_PORT}'
|
||||
|
||||
export const verbose = true
|
@ -18,7 +18,7 @@ import {
|
||||
secretStorePort,
|
||||
secretStoreScheme,
|
||||
verbose
|
||||
} from './config'
|
||||
} from './config/config'
|
||||
|
||||
export async function provideOcean() {
|
||||
const nodeUri = `${nodeScheme}://${nodeHost}:${nodePort}`
|
||||
|
@ -6,7 +6,7 @@ import ItemForm from './ItemForm'
|
||||
import Item from './Item'
|
||||
import styles from './index.module.scss'
|
||||
|
||||
import { serviceHost, servicePort, serviceScheme } from '../../../config'
|
||||
import { serviceHost, servicePort, serviceScheme } from '../../../config/config'
|
||||
|
||||
interface File {
|
||||
url: string
|
||||
|
@ -15,5 +15,5 @@
|
||||
"noEmit": true,
|
||||
"jsx": "preserve"
|
||||
},
|
||||
"include": ["src"]
|
||||
"include": ["src", "config/config.ts"]
|
||||
}
|
||||
|
24
docker-compose.yml
Normal file
24
docker-compose.yml
Normal file
@ -0,0 +1,24 @@
|
||||
version: '3.4'
|
||||
|
||||
services:
|
||||
|
||||
client:
|
||||
build:
|
||||
context: ./client
|
||||
dockerfile: ./Dockerfile
|
||||
ports:
|
||||
- 3000:3000
|
||||
depends_on:
|
||||
- server
|
||||
environment:
|
||||
- SERVICE_SCHEME=http
|
||||
- SERVICE_HOST=localhost
|
||||
- SERVICE_PORT=4000
|
||||
|
||||
server:
|
||||
build:
|
||||
context: ./server
|
||||
dockerfile: ./Dockerfile
|
||||
ports:
|
||||
- 4000:4000
|
||||
command: npm run start
|
10
server/Dockerfile
Normal file
10
server/Dockerfile
Normal file
@ -0,0 +1,10 @@
|
||||
FROM node:11-alpine
|
||||
LABEL maintainer="Ocean Protocol <devops@oceanprotocol.com>"
|
||||
|
||||
WORKDIR /app/backend/
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN npm install
|
||||
|
||||
RUN npm run build
|
Loading…
Reference in New Issue
Block a user