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

Preprod merge to main #322

Merged
merged 43 commits into from
Aug 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
104119b
Update README.md
sprotest Dec 16, 2022
1d4d920
Alternative chains support (#281)
tafonina Dec 16, 2022
5dccd27
update readme with chains list
tafonina Dec 16, 2022
c82051f
test negative scenario
tafonina Dec 16, 2022
1f20476
return goerli cobfig
tafonina Dec 16, 2022
3f3d883
remove console metamask error (#286)
tafonina Dec 19, 2022
c029847
Merge branch 'develop' into preprod
tafonina Jan 25, 2023
eb2d4a0
Merge pull request #1 from ProxeusApp/preprod
sprotest Jan 25, 2023
33f810e
Update README.md
sprotest Jan 31, 2023
a890af1
add console logs on default accounts setup and on sign request
Feb 3, 2023
42938d9
Merge pull request #3 from sprotest/feature/test-autodeploy
tafonina Feb 3, 2023
3edb833
Test autodeploy flow (#290)
tafonina Feb 3, 2023
eb86793
add more static js to Cache-Control
epadalkin Feb 21, 2023
20e0707
Merge pull request #4 from epadalkin/feature/fix_load_preview
tafonina Feb 22, 2023
e84518f
Merge pull request #5 from ProxeusApp/preprod
tafonina Feb 22, 2023
942a06b
Fix preview document bug (#295)
tafonina Feb 22, 2023
e5ad6bc
fix open prevuew
epadalkin Feb 23, 2023
1d5722f
Merge pull request #6 from epadalkin/feature/fix_load_preview
tafonina Feb 23, 2023
8a26ab7
Update docker-compose-cloud.override.yml
sprotest Feb 24, 2023
5fe455a
Merge pull request #7 from ProxeusApp/preprod
tafonina Feb 24, 2023
b4a3e86
Update docker-compose-cloud.override.yml
sprotest Feb 24, 2023
cbfc147
The Watchtower service will never be used (#296)
sprotest Feb 24, 2023
2cd2ee7
back merge master to preprod
Mar 31, 2023
7513ff3
Merge pull request #8 from ProxeusApp/preprod
tafonina Mar 31, 2023
17eca00
add configuration for polygon and update addresses
Mar 31, 2023
448e920
Merge pull request #9 from sprotest/feature/polygon
tafonina Mar 31, 2023
045c662
update configs atrribute for polygon
Mar 31, 2023
82d3a82
Merge pull request #10 from sprotest/feature/polygon
tafonina Mar 31, 2023
5e6e35f
Add polygon configs (#301)
tafonina Apr 3, 2023
6691fb5
Documentation changes, Yarn update (#303)
loleg Jun 8, 2023
0d6bccc
update support for sopelia network in the code and docs
Jun 9, 2023
0d70290
Merge pull request #11 from sprotest/feature/sepolia-support
tafonina Jun 9, 2023
a24335a
Merge branch 'develop' into preprod
tafonina Jun 9, 2023
c7d7858
Merge branch 'main' into preprod
tafonina Jun 9, 2023
f7ab5b0
update go mod
Jun 9, 2023
6547457
Light script for Docker
loleg Jun 13, 2023
07edf75
Network usage notes
loleg Jun 13, 2023
31d7c8a
Go modules updated
loleg Jun 13, 2023
6482176
Feature/fix web3 method from ascii (#312)
tafonina Jun 13, 2023
b183b2a
Update from ascii call in web3 (#313)
tafonina Jun 13, 2023
f83ddf7
Update CircleCI build config
loleg Jun 14, 2023
5d9ec48
Merge branch 'preprod' of github.com:proxeusapp/proxeus-core into pre…
loleg Jun 14, 2023
9df4364
yarn lock conflicts resolve
Jul 20, 2023
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
40 changes: 20 additions & 20 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ executors:
environment:
PROJECT_ROOT_FOLDER: ~/project
docker:
- image: cimg/go:1.17-node
- image: cimg/go:1.20
docker-image-golang-dependencies:
environment:
PROJECT_ROOT_FOLDER: ~/project
docker:
- image: cimg/go:1.17-node
- image: cimg/go:1.20
- image: proxeus/node-crypto-forex-rates
- image: proxeus/document-service
- image: proxeus/mongo-dev-cluster
Expand All @@ -25,7 +25,7 @@ executors:
jobs:
build-ui:
docker:
- image: cimg/go:1.17-node
- image: cimg/node:16.20
steps:
- checkout
- restore_cache:
Expand Down Expand Up @@ -151,17 +151,17 @@ jobs:
- restore_cache:
keys:
- go-mod-v2-{{ checksum "go.sum" }}
- run: curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
- run: curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
- run:
name: Node.js
command: curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
- run:
name: Yarn
command: curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
- run: echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
- run: sudo apt-get update && sudo apt-get install yarn
- run: sudo apt-get install libgtk2.0-0
- run: sudo apt-get install libnotify-dev
- run: sudo apt-get install libgconf-2-4
- run: sudo apt-get install libnss3
- run: sudo apt-get install libxss1
- run: sudo apt-get install libasound2
- run: sudo apt-get install xvfb
- run:
name: Cypress dependencies
command: sudo apt-get install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb
- run:
name: Test UI
command: make init test-ui
Expand Down Expand Up @@ -309,49 +309,49 @@ workflows:
- test-ui
filters:
branches:
only: master
only: main
- publish-latest:
requires:
- build-docker-image
filters:
branches:
only: master
only: main
- approve-staging:
type: approval
requires:
- build-docker-image
filters:
branches:
only: master
only: main
- publish-staging:
requires:
- approve-staging
filters:
branches:
only: master
only: main
- approve-demo:
type: approval
requires:
- publish-staging
filters:
branches:
only: master
only: main
- publish-demo:
requires:
- approve-demo
filters:
branches:
only: master
only: main
- approve-handelsregister:
type: approval
requires:
- publish-staging
filters:
branches:
only: master
only: main
- publish-handelsregister:
requires:
- approve-handelsregister
filters:
branches:
only: master
only: main
10 changes: 5 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
SHELL:= /bin/bash
DEBUG_FLAG?=false
GO_VERSION=1.16
GO_VERSION=1.20

ifeq ($(DEBUG), "true")
BINDATA_OPTS="-debug"
Expand Down Expand Up @@ -78,12 +78,12 @@ all: ui server
.PHONY: init
init:
@for d in $(dependencies); do (echo "Checking $$d is installed... " && which $$d ) || ( echo "Please install $$d before continuing" && exit 1 ); done
go get -u golang.org/x/tools/...
go get -u github.com/wadey/gocovmerge
go get -u github.com/go-bindata/go-bindata/v3/...
go install golang.org/x/tools/cmd/goimports
@go version
go install github.com/go-bindata/go-bindata/...
go install github.com/golang/mock/mockgen
go install github.com/wadey/gocovmerge
go install golang.org/x/tools/...
go install golang.org/x/tools/cmd/goimports
go install golang.org/x/tools/cmd/godoc

.PHONY: update
Expand Down
43 changes: 23 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
![](docs/_media/logo.png)

# Proxeus Core
----------------
--------------

Proxeus combines a powerful automation tool with a form builder, document generator and blockchain connection - enabling you to digitize, secure, and tap into the value of data flows. Access the full source code of available modules and extensions [@ProxeusApp](https://github.com/ProxeusApp).

Expand All @@ -13,41 +13,37 @@ Get help to make the most of the platform in the **[User Handbook](https://githu

To learn more about Smart Contracts using Solidity, see the documentation in the [proxeus-contract](https://github.com/ProxeusApp/proxeus-contract).

For detailed information about payment setup (currently unsupported), check the [XES-Payment](docs/xes-payment.md) project.
For detailed information about token setup, check the [XES-Payment](docs/xes-payment.md) project. Software architecture and other details are in the [Developer Manual](https://doc.proxeus.com).

## Installation

Proxeus is primarily a Web application, intended for access with a web browser. The [Proxeus Association](https://proxeus.org) maintains a demo instances you can use to test the product, and can recommend a service provider to help you or your business get set up. There is also a prototype [desktop application](https://github.com/ProxeusApp/storage-app/blob/master/docs/overview.md).

In addition to the developer guidelines below, several "one-click" deployment configurations are available for select cloud platforms:

- [Docker Compose](docker-compose.yml)
- [Docker Compose](docs/docker.md)
- [Linode StackScript](deploy/linode/README.md)
- [DigitalOcean Droplet](deploy/digitalocean/README.md)

Please [contact us](https://github.com/ProxeusApp/community/discussions/3) if you are interested in seeing additional providers on this list.
Join the [Discussions](https://github.com/ProxeusApp/community/discussions/3) if you are interested in seeing additional providers on this list.

## Development
If you wish to build the project form the source code, follow the instructions in [Build all](docs/build_all.md).

Please read the [Developer Manual](https://doc.proxeus.com) to learn more about the Proxeus platform.

If you wish to build the project form the source code, follow the instructions in [Build all](docs/build_all.md)

### Installation using Docker
### Infura and SparkPost

The quickest way to set up Proxeus for development is to use Docker, and the `docker-compose` tool.
The Proxeus platform currently depends on [Infura](https://infura.io/) for blockchain services. Supported chains include:

1. [Install Docker Engine](https://docs.docker.com/install/)
2. [Install docker-compose](https://docs.docker.com/compose/install/)
- ethereum: sepolia
- ethereum: goerli
- ethereum: mainnet
- polygon: mumbai
- polygon: mainnet

See further deployment instructions in [docs/docker](docs/docker.md) to set up your server using Docker.
Create an account to get an API Keys. These keys need to be added to corresponding environment variables, or entered when deploying a "one-click" instance.

### Infura and SparkPost

The Proxeus platform currently depends on [Infura](https://infura.io/) and [SparkPost](https://www.sparkpost.com/)
for Ethereum and email integration respectively. Create an account on those platforms
to get API Keys. These keys need to be added to corresponding environment variables, or
entered when deploying a "one-click" instance.
Proxeus works best with [SparkPost](https://www.sparkpost.com/) for email integration.

Please note that the domain you set up on SparkPost MUST match the **reply-to** e-mail address that you configure in the next step in order to create accounts and receive e-mails on your instance.

Expand All @@ -74,7 +70,14 @@ Like so many projects, this effort has roots in many places. The list can be fou

## Supported Chains

Ethereum

- mainnet
- sepolia
- goerli

Polygon

- mainnet
- polygon-mumbai
- polygon
- mumbai

2 changes: 1 addition & 1 deletion deploy/digitalocean/deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ cd /srv

cat <<END >.env
PROXEUS_BLOCKCHAIN_CONTRACT_ADDRESS=0x1d3e5c81bf4bc60d41a8fbbb3d1bae6f03a75f71
PROXEUS_ENCRYPTION_SECRET_KEY=`dd bs=32 count=1 if="/dev/urandom" | base64 | tr +/ _.`
PROXEUS_ENCRYPTION_SECRET_KEY=`hexdump -n 16 -e '4/4 "%08X"' /dev/random`
PROXEUS_DATA_DIR=./data
PROXEUS_ALLOW_HTTP=true
PROXEUS_INFURA_API_KEY=$INFURA
Expand Down
6 changes: 3 additions & 3 deletions deploy/linode/stackscript.sh
Original file line number Diff line number Diff line change
Expand Up @@ -97,13 +97,13 @@ ufw logging off
## ----------------------------------------------
## Install & configure proxeus

log "Installing Proxeus"
log "Installing Proxeus with demo smart contract"
mkdir -p /srv
cd /srv

cat <<END >.env
PROXEUS_BLOCKCHAIN_CONTRACT_ADDRESS=0x1d3e5c81bf4bc60d41a8fbbb3d1bae6f03a75f71
PROXEUS_ENCRYPTION_SECRET_KEY=`dd bs=32 count=1 if="/dev/urandom" | base64 | tr +/ _.`
PROXEUS_BLOCKCHAIN_CONTRACT_ADDRESS=0x66FF4FBF80D4a3C85a54974446309a2858221689
PROXEUS_ENCRYPTION_SECRET_KEY=`hexdump -n 16 -e '4/4 "%08X"' /dev/random`
PROXEUS_DATA_DIR=./data
PROXEUS_ALLOW_HTTP=true
PROXEUS_INFURA_API_KEY=$INFURA
Expand Down
145 changes: 145 additions & 0 deletions docker-compose-light.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
---
# Slim version of the Docker Compose cloud deployment

version: '3.7'

networks:
xes-platform-network:
name: xes-platform-network
reverse-proxy:
name: reverse-proxy
driver: bridge

services:
platform:
image: proxeus/proxeus-core:latest
container_name: xes-platform
depends_on:
- document-service
networks:
- xes-platform-network
- reverse-proxy
restart: unless-stopped
environment:
TZ: Europe/Zurich
PROXEUS_PLATFORM_DOMAIN: "${PROXEUS_PLATFORM_DOMAIN:-http://xes-platform:1323}"
PROXEUS_DOCUMENT_SERVICE_URL: "http://document-service:2115/"
PROXEUS_BLOCKCHAIN_CONTRACT_ADDRESS: "${PROXEUS_BLOCKCHAIN_CONTRACT_ADDRESS}"
PROXEUS_INFURA_API_KEY: "${PROXEUS_INFURA_API_KEY}"
PROXEUS_SPARKPOST_API_KEY: "${PROXEUS_SPARKPOST_API_KEY}"
PROXEUS_ENCRYPTION_SECRET_KEY: "${PROXEUS_ENCRYPTION_SECRET_KEY}"
PROXEUS_EMAIL_FROM: "${PROXEUS_EMAIL_FROM:[email protected]}"
PROXEUS_DATABASE_ENGINE: "${PROXEUS_DATABASE_ENGINE:-storm}"
PROXEUS_DATABASE_URI: "${PROXEUS_DATABASE_URI:-mongodb://root:root@mongo:27017}"
PROXEUS_TEST_MODE: "${PROXEUS_TEST_MODE:-false}"
PROXEUS_ALLOW_HTTP: "${PROXEUS_ALLOW_HTTP:-true}"
# Replace values for reverse-proxy
VIRTUAL_HOST: ${PROXEUS_VIRTUAL_HOST:-proxeus.example.com}
VIRTUAL_PORT: 1323
# Replace values for letsencrypt
LETSENCRYPT_HOST: ${PROXEUS_VIRTUAL_HOST:-proxeus.example.com}
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL:[email protected]}
ports:
- "1323:1323"
volumes:
- ${PROXEUS_DATA_DIR:-./data}/proxeus-platform/data:/data/hosted
- ${PROXEUS_DATA_DIR:-./data}/proxeus-platform/settings:/root/.proxeus/settings

# Add Nginx reverse-proxy
# https://hub.docker.com/r/jwilder/nginx-proxy/
# Automated Nginx reverse proxy for docker containers
nginx-proxy:
container_name: nginx-proxy
image: jwilder/nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- nginx-share:/etc/nginx/vhost.d
- nginx-share:/usr/share/nginx/html
- ./nginx-timeout.conf:/etc/nginx/conf.d/nginx-timeout.conf
- ${PROXEUS_DATA_DIR:-./data}/certs:/etc/nginx/certs:ro
- ${DOCKER_SOCK:-/var/run/docker.sock}:/tmp/docker.sock:ro
networks:
- reverse-proxy
labels:
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
restart: unless-stopped

# Add Letsencrypt
# https://hub.docker.com/r/jrcs/letsencrypt-nginx-proxy-companion/
# LetsEncrypt container to use with nginx as proxy
letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
depends_on:
- nginx-proxy
networks:
- reverse-proxy
volumes:
- nginx-share:/etc/nginx/vhost.d
- nginx-share:/usr/share/nginx/html
- ${PROXEUS_DATA_DIR:-./data}/certs:/etc/nginx/certs:rw
- ${DOCKER_SOCK:-/var/run/docker.sock}:/var/run/docker.sock:ro
restart: unless-stopped

document-service:
image: proxeus/document-service:latest
container_name: xes_document_service
networks:
- xes-platform-network
- reverse-proxy
restart: unless-stopped
environment:
TZ: Europe/Zurich
# Replace values for reverse-proxy
VIRTUAL_HOST: ${DOCUMENT_SERVICE_VIRTUAL_HOST:-proxeus.example.com}
VIRTUAL_PORT: 2115
# Replace values for letsencrypt
LETSENCRYPT_HOST: ${DOCUMENT_SERVICE_VIRTUAL_HOST:-proxeus.example.com}
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL:[email protected]}
ports:
- "2115:2115"
volumes:
- ${PROXEUS_DATA_DIR:-./data}/document-service/logs:/document-service/logs
- ${PROXEUS_DATA_DIR:-./data}/document-service/fonts:/document-service/fonts

node-mail-sender:
image: proxeus/node-mail-sender:latest
container_name: xes_node-mail-sender
networks:
- xes-platform-network
restart: unless-stopped
environment:
PROXEUS_INSTANCE_URL: "${PROXEUS_PLATFORM_DOMAIN:-http://xes-platform:1323}"
SERVICE_SECRET: secret
SERVICE_PORT: 8013
SERVICE_URL: "${NODE_CRYPTO_RATES_URL:-http://node-mail-sender:8013}"
TZ: Europe/Zurich
PROXEUS_SPARKPOST_API_KEY: "${PROXEUS_SPARKPOST_API_KEY}"
ports:
- "8013:8013"

node-json-sender:
image: proxeus/node-json-sender:latest
container_name: xes_node-json-sender
networks:
- xes-platform-network
restart: unless-stopped
environment:
PROXEUS_INSTANCE_URL: "${PROXEUS_PLATFORM_DOMAIN:-http://xes-platform:1323}"
SERVICE_SECRET: secret
SERVICE_PORT: 8015
SERVICE_URL: "${SERVICE_DOMAIN:-http://node-json-sender:8015}"
JSON_SENDER_URL: http://url:123/endpoint
JSON_SENDER_HEADER_clientid: client_id
JSON_SENDER_HEADER_tenantid: tenant_id
JSON_SENDER_HEADER_secret: secret
JSON_SENDER_HEADER_oauthserverurl: oauth_url
TZ: Europe/Zurich
ports:
- "8015:8015"

volumes:
# Add volume for nginx-proxy and letsencrypt
nginx-share:

2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ services:
restart: unless-stopped
environment:
PROXEUS_INSTANCE_URL: "${PROXEUS_PLATFORM_DOMAIN:-http://xes-platform:1323}"
PROXEUS_ETH_CLIENT_URL: "${PROXEUS_ETH_CLIENT_URL:-https://goerli.infura.io/v3/}"
PROXEUS_ETH_CLIENT_URL: "${PROXEUS_ETH_CLIENT_URL:-https://sepolia.infura.io/v3/}"
PROXEUS_INFURA_API_KEY: ${PROXEUS_INFURA_API_KEY}
SERVICE_SECRET: secret
SERVICE_PORT: 8012
Expand Down
Loading