induzo/gostorage

View on GitHub
docker-compose.yml

Summary

Maintainability
Test Coverage
version: "3.6"

services:
  percona:
    image: percona:8
    command:
      - "mysqld"
      - "--max-connections=1000"
      - "--innodb_buffer_pool_size=2G"
      - "--innodb_log_file_size=1G"
      - "--innodb_flush_method=O_DIRECT"
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ALLOW_EMPTY_PASSWORD=yes
      - MYSQL_USER=internal
      - MYSQL_PASSWORD=dev
      - MYSQL_DATABASE=test
    deploy:
      mode: replicated
      replicas: 1

  redis:
    image: redis:6.0.9-alpine
    command:
      - "redis-server"
      - "--appendonly yes"
      - "--requirepass dev"
      - "--maxmemory 256mb"
      - "--maxmemory-policy volatile-lru"
    ports:
      - "6379:6379"
    deploy:
      mode: replicated
      replicas: 1

  parity:
    image: parity/parity:v2.7.2-stable
    command:
      - "--config=dev"
      - "--port=30304"
      - "--jsonrpc-port=8645"
      - "--ws-port=8646"
      - "--reseal-min-period=0"
      - "--min-gas-price=0"
      - "--unsafe-expose"
    ports:
      - "8645:8645"
      - "8646:8646"
      - "30304:30304"
    deploy:
      mode: replicated
      replicas: 1

  postgres:
    image: postgres:13-alpine
    ports:
      - "5432:5432"
    environment:
      - POSTGRES_USER=internal
      - POSTGRES_PASSWORD=dev
    deploy:
      mode: replicated
      replicas: 1

  cockroachdb:
    image: cockroachdb/cockroach:v20.1.8
    command:
      - start
      - --insecure
    ports:
      - "26257:26257"
    deploy:
      mode: replicated
      replicas: 1

  mongo:
    image: mongo:4.4.1-bionic
    ports:
      - "27017:27017"
    environment:
      MONGO_INITDB_ROOT_USERNAME: internal
      MONGO_INITDB_ROOT_PASSWORD: dev
      MONGO_INITDB_DATABASE: test
    deploy:
      mode: replicated
      replicas: 1
# Usage
# docker stack deploy --compose-file=infra/compose.yml storage;

# To create your own DB, for example dev
# CONTAINER_NAME=$(docker container ls --format '{{.Names}}' | grep percona) && docker exec -i $CONTAINER_NAME mysql -u root -e "DROP DATABASE IF EXISTS dev;CREATE DATABASE dev;GRANT ALL PRIVILEGES ON dev.* TO 'internal'@'%';";