Sign inSign up

tiaojonas/monio

By tiaojonas

•Updated 9 months ago

Image
Security
0

283

tiaojonas/monio repository overview

⁠MonIO

Imagem Docker oficial do MonIO, uma aplicação Node.js projetada para execução em ambientes conteinerizados, com configuração baseada em arquivo .env e integração nativa com MongoDB e armazenamento compatível com S3.


⁠Quick reference

  • Image: tiaojonas/monio
  • Tag: latest
  • Exposed port: 8080
  • Config path: /app/.env

⁠Configuration

O MonIO utiliza um arquivo .env localizado em /app/.env dentro do container.

Mapeie o arquivo .env do host para o container:

-v ./.env:/app/.env

⁠Example .env

DB_USERNAME=
DB_PASSWORD=
DB_SRV=
DB_HOST=mongodb
DB_PORT=27017
DB_DATABASE=monio
DB_TIMEOUT=5000
RECORDING_DIR=/recordings

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_MINIO_ENDPOINT=
AWS_REGION=

AWS_BUCKET_RECORDINGS=
AWS_BUCKET_THUMBNAILS=

O valor DB_HOST=mongodb corresponde ao nome do serviço MongoDB dentro da mesma network Docker ou cluster Kubernetes.


⁠Usage with Docker

docker run -d \
  --name monio \
  -p 8080:8080 \
  -v ./.env:/app/.env \
  --network monio-network \
  tiaojonas/monio:latest

⁠Usage with Docker Compose

Exemplo completo com MonIO + MongoDB na mesma network:

version: "3.9"

services:
  monio:
    image: tiaojonas/monio:latest
    container_name: monio
    ports:
      - "8080:8080"
    volumes:
      - ./.env:/app/.env
    depends_on:
      - mongodb
    networks:
      - monio-network

  mongodb:
    image: mongo:7
    container_name: monio-mongodb
    restart: unless-stopped
    ports:
      - "27017:27017"
    volumes:
      - mongo-data:/data/db
    networks:
      - monio-network

volumes:
  mongo-data:

networks:
  monio-network:
    driver: bridge

Subir o ambiente:

docker compose up -d

⁠Usage with Kubernetes

⁠MongoDB
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mongodb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mongodb
  template:
    metadata:
      labels:
        app: mongodb
    spec:
      containers:
        - name: mongodb
          image: mongo:7
          ports:
            - containerPort: 27017
apiVersion: v1
kind: Service
metadata:
  name: mongodb
spec:
  selector:
    app: mongodb
  ports:
    - port: 27017
      targetPort: 27017

⁠MonIO
apiVersion: apps/v1
kind: Deployment
metadata:
  name: monio
spec:
  replicas: 1
  selector:
    matchLabels:
      app: monio
  template:
    metadata:
      labels:
        app: monio
    spec:
      containers:
        - name: monio
          image: tiaojonas/monio:latest
          ports:
            - containerPort: 8080
          volumeMounts:
            - name: env-file
              mountPath: /app/.env
              subPath: .env
      volumes:
        - name: env-file
          configMap:
            name: monio-env
apiVersion: v1
kind: Service
metadata:
  name: monio
spec:
  type: NodePort
  selector:
    app: monio
  ports:
    - port: 8080
      targetPort: 8080
      nodePort: 30080

⁠Notes

  • O arquivo .env é obrigatório
  • Nenhuma credencial sensível é embutida na imagem
  • MongoDB deve estar acessível via hostname configurado em DB_HOST
  • Recomendado uso de volumes persistentes para o MongoDB

⁠License

Consulte o repositório do projeto para informações de licença.

Tag summary

Content type

Image

Digest

sha256:7e746f974…

Size

368.8 MB

Last updated

9 months ago

docker pull tiaojonas/monio