mirror of
https://github.com/oceanprotocol/commons.git
synced 2023-03-15 18:03:00 +01:00
docker-compose + dockerfiles
This commit is contained in:
parent
a7346b970c
commit
3d071161da
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,
|
faucetHost,
|
||||||
faucetPort,
|
faucetPort,
|
||||||
faucetScheme
|
faucetScheme
|
||||||
} from './config'
|
} from './config/config'
|
||||||
|
|
||||||
declare global {
|
declare global {
|
||||||
interface Window {
|
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,
|
secretStorePort,
|
||||||
secretStoreScheme,
|
secretStoreScheme,
|
||||||
verbose
|
verbose
|
||||||
} from './config'
|
} from './config/config'
|
||||||
|
|
||||||
export async function provideOcean() {
|
export async function provideOcean() {
|
||||||
const nodeUri = `${nodeScheme}://${nodeHost}:${nodePort}`
|
const nodeUri = `${nodeScheme}://${nodeHost}:${nodePort}`
|
||||||
|
@ -6,7 +6,7 @@ import ItemForm from './ItemForm'
|
|||||||
import Item from './Item'
|
import Item from './Item'
|
||||||
import styles from './index.module.scss'
|
import styles from './index.module.scss'
|
||||||
|
|
||||||
import { serviceHost, servicePort, serviceScheme } from '../../../config'
|
import { serviceHost, servicePort, serviceScheme } from '../../../config/config'
|
||||||
|
|
||||||
interface File {
|
interface File {
|
||||||
url: string
|
url: string
|
||||||
|
@ -15,5 +15,5 @@
|
|||||||
"noEmit": true,
|
"noEmit": true,
|
||||||
"jsx": "preserve"
|
"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