LogoLogo
PAO DocsCommunity DocsInfrastructure DocsPeerplays.com
  • Developer Documentation
  • API Reference
    • Peerplays Core API
      • Popular API Calls
      • Account History
      • Asset API
      • Block API
      • Crypto API
      • Database API
      • Network Broadcast API
      • Network Nodes API
      • Orders API
    • Wallet API
      • Account Calls
      • Asset Calls
      • Blockchain Inspection
      • General Calls
      • Governance
      • Privacy Mode
      • Trading Calls
      • Transaction Builder
      • Wallet Calls
    • Bookie API
      • General Calls
      • Listeners
      • Tournaments
  • Peerplays API Libraries
    • Python Peerplays
      • Installation
      • Creating an Account
      • Creating a Peerplays Wallet
      • NFT API
      • Marketplace API
      • Role Based Permissions API
  • Development Guides
    • Creating User Issued Assets
    • Introduction to Permissions
    • NFT Minting
    • Calculating Costs
  • The Cookbook
    • NFTs for Staking Creator Tokens
  • Tools and Integrations
    • PeerID
      • 1.0.0
        • Infrastructure
          • Deployment on a Linux Serve
          • Deployment to AWS ECS
            • Building the Docker Images
            • Storing Secrets in Amazon Parameter Store to use in ECS
            • Creating the Task Definition
            • Creating the Cluster
            • Creating the Service
        • Development
          • How does PeerID work without storing the keys ?
          • Authentication with PeerID
          • Brain Storming
          • Software Requirements
      • Authentication with PeerID
      • Requirements Specification
    • Random Number Generator
      • RNG Technical Summary
      • RNG API
  • Supporting & Reference Docs
    • Peerplays Development FAQs
    • Sidechain Operator Node (SON) Development
      • Generic Sidechain Docs
        • Quick joining GLADIATOR
        • Changes to Peerplaysjs-lib
        • Requirements Specification
        • Low Level Designs
          • bitcoin-deposit-handling-lld
          • bitcoin-operations-draft
          • bitcoin-sidechain-handler-lld
          • bitcoin-sidechain-multisig-bitcoin-wallet-and-bitcoin-addresses-pw
          • bitcoin-withdrawal-handling-lld
          • btc-address-scripting-mechanism
          • comparison-between-scenarios-for-handling-deposits-and-withdrawals
          • exchange-rate-list
          • generic-sidechain-deposit-hld
          • generic-sidechain-high-level-design
          • generic-sidechain-listener-hld
          • generic-sidechain-withdrawal-hld
          • refund-btc-mechanism
          • son-configuration
          • son-consensus-communication-and-transaction-signing-on-chain-lld
          • son-de-register-proposals-lld
          • son-objects-and-operators
          • son-rewards-lld
          • son-voting-lld
          • son-wallet-list_sons-lld
          • creation of a multi-sig bitcoin address lld
          • claiming initial son vesting lld
          • changeover and SON maintenance scenarios lld
          • user-sidechain-addresses-mapping
          • wallet-commands-for-son
        • Functional Specs
          • SON Configuration
          • SON rewards
          • SON Voting and Consensus
          • SONs switchover scenarios
          • SON Status Operations & Monitoring
          • Proposals
          • SON Smart Contracts
      • Bitcoin Sidechain Docs
        • Functional Specs
          • btc-refunds
          • voting-and-consensus
          • son-switchover
          • son-rewards
          • son-proposals
          • son-configuration
          • heartbeat-monitoring
          • BTC Transaction Processing & Signing
          • Bitcoin Withdrawal Handling
          • Bitcoin Deposit Handling
          • SON Multisig Bitcoin Wallet
      • Hive Sidechain Docs
        • Functional Specs
          • HIVE Deposit Handling
          • HIVE Withdrawal Handling
    • Peerplays DEX Development
      • Peerplays NEX
        • Functional Specifications
          • NEX-FS01 Dashboard Page
            • NEX-FS12 ETH-SONs Deposit/Withdraw Functionality
          • NEX-FS02 Login and Account Creation
          • NEX-FS03 Menus and Nav
          • NEX-FS04 Notifications
          • NEX-FS05a Market Page (alpha)
          • NEX-FS05 Market Page
          • NEX-FS06 Profile Page
          • NEX-FS07 Wallet Functions
          • NEX-FS08 App Settings
          • NEX-FS09 Blockchain Page
          • NEX-FS10 GPOS Page
          • NEX-FS11 WhaleVault Integration
      • Requirements Specification
      • Functional Specs
        • Asset Info Page and Asset Lists
        • Dashboard
        • Exchange Page
        • Login and Account Creation
        • User Account Page
        • Voting Page
    • SPK Network
      • Functional Specs
        • Claimdrop Snapshot Functional Specification
        • Initial Claimdrop Functional Specification
    • NFT Development
      • NFT Store
        • NFT Store User Stories
        • NFT Store UI HLD
        • NFT Store Requirements Specification
        • Functional Specifications
          • APP-FS01 App Header
          • APP-FS02 App Body
          • APP-FS03 App Footer
          • APP-FS04 App Navigation
          • APP-FS05 Wallet Functions
          • APP-FS06 App Home Page
          • APP-FS07 Account Page
          • APP-FS08 Browse View
        • App Page List
        • Requirement Traceability Matrix
    • Operation IDs List
    • Sidechain Flow Diagram (HIVE coin)
    • Sidechain Flow Diagram (Bitcoin)
    • Sidechain Flow Diagram (Ethereum coin)
    • TradeHands Explorer
      • User Personas
      • User stories
      • APP-FS01 Detailed View
      • Draft: APP-FS02 Front Page
      • APP-FS03 Collection Details Page
    • Grafana
      • Grafana Installation
      • Install Grafana Behind reverse proxy
      • Loki Installation
      • Promtail agent Installation
      • Grafana Explorer
    • NEX Deployment & Configuration
      • NEX Deployment
      • NEX - Blockchain API configuration
      • Deploying NEX in a HA scenario
    • API Node
      • MarketCap API
    • TOTO Application
      • FS-Subscription Plan
      • FS-Achievements
  • Development Workflow Docs
    • Development Workflow
  • Other Documentation
    • Peerplays Home
    • Community Docs
    • Infrastructure Docs
    • Site Reliability Engineering
Powered by GitBook
On this page
  • Attach the Task Role
  • Attach the Task Execution Role
  • Adjust the Task Size
  • Adding the Containers

Was this helpful?

Export as PDF
  1. Tools and Integrations
  2. PeerID
  3. 1.0.0
  4. Infrastructure
  5. Deployment to AWS ECS

Creating the Task Definition

PreviousStoring Secrets in Amazon Parameter Store to use in ECSNextCreating the Cluster

Last updated 1 year ago

Was this helpful?

This article will be referencing the following repositories as the Docker image codebase:

In ECS, create a new Task Definition and choose the desired launch type compatibility (Fargate or EC2)

Attach the Task Role

Attach the Task Execution Role

This role is required by tasks to pull container images and publish container logs to Amazon CloudWatch on your behalf. You can use the default one created by Amazon.

Adjust the Task Size

We can assign total memory and CPU to the task. For PeerID, choose:

  • 2GB Task Memory (GB)

  • 1 vCPU Task CPU (vCPU)

Adding the Containers

Create two containers:

  • PeerID Backend

  • PeerID Frontend + Webserver (we will be using NGINX)

PeerID Backend

  1. Enter the container name.

  2. Enter the path to the Docker registry with the container Image.

  3. Enter 1024 for a soft limit for the memory.

  4. Enter 3000 tcp for the port mappings.

  5. Enter 756 CPU units.

  6. Tick the essential box.

  7. Enter /peerid-backend/docker-entrypoint.sh for the entry point.

  8. Enter npm,run,start for the command.

  9. Enter peerid-backend for the working directory.

  10. Enter the environment variables for PeerID Backend using ValueFrom and referencing the parameters from Systems Manager Parameter Store.

# List of variables

## Auth for a PostgreSQL database
DB_DATABASE
DB_HOST
DB_PASSWORD
DB_PORT
DB_USER

## Third party login
DISCORD_ID
DISCORD_SECRET
FACEBOOK_ID
FACEBOOK_SECRET
GOOGLE_ID
GOOGLE_SECRET

## Routes
FRONTEND_CALLBACK_URL # https://example.com/callback
FRONTEND_URL # https://example.com
BACKEND_URL # https://example.com/api

## Mailer settings
MAILER_HOST
MAILER_PASS
MAILER_PORT
MAILER_SENDER
MAILER_USER

## Peerplays Settings

PEERPLAYS_FAUCET_URL
PEERPLAYS_PAYMENT_ACCOUNT_ID
PEERPLAYS_PAYMENT_ACCOUNT_WIF
PEERPLAYS_REFERRER
PEERPLAYS_WS # node api endpoint
PEERPLAYS_ASSET_ID

## NodeJS
MODULE # API
SESSION_SECRET # randoms string

PeerID Frontend

  1. Enter the container name.

  2. Enter the path to the Docker registry with the container Image.

  3. Enter 256 for a soft limit for the memory.

  4. Enter 80 and 443 tcp for the port mappings.

  5. Enter 256 CPU units.

  6. Tick the essential box.

  7. Enter /docker-entrypoint.sh for the entry point.

  8. Enter nginx,-g,daemon off; for the command.

  9. Enter the environment variables for PeerID GUI using ValueFrom and referencing the values created from Systems Manager Parameter Store.

# List of variables

BACKEND_NAME # peerid-backend
BACKEND_PORT # 3000
FRONTEND_NAME # peerid-gui
VHOST # DNS/localhost

Attach the task role created from .

Storing Secrets in Amazon Parameter Store to use in ECS
LogoFiles · support/docker · PBSA / Peerplays_1.0 / PeerID / PeerID-backend · GitLabGitLab
LogoFiles · support/docker · PBSA / Peerplays_1.0 / PeerID / PeerID-GUI · GitLabGitLab