ironcrypt 0.1.0

A Rust library for secure password hashing, RSA key generation, and managing the encryption and verification of passwords and binary files.
Documentation
services:

  ironcrypt:
    build: .
    container_name: ironcrypt
    command: sh -c "ironcrypt --help && tail -f /dev/null"
    ports:
      - "${IRONCRYPT_PORT}:${IRONCRYPT_PORT}"
      - "${IRONCRYPT_METRICS_PORT}:${IRONCRYPT_METRICS_PORT}"
    environment:
      - IRONCRYPT_PORT=${IRONCRYPT_PORT}
      - IRONCRYPT_METRICS_ENABLED=${IRONCRYPT_METRICS_ENABLED}
      - IRONCRYPT_METRICS_PORT=${IRONCRYPT_METRICS_PORT}
    logging:
      driver: loki
      options:
        loki-url: "https://${GRAFANA_CLOUD_LOKI_USER}:${GRAFANA_CLOUD_LOKI_API_KEY}@logs-prod-eu-west-0.grafana.net/loki/api/v1/push"
    labels:
      env: prod
      app: monitoring
    networks:
      - monitoring_net

  prometheus:
    image: prom/prometheus
    env_file: .env
    ports:
      - "${PROMETHEUS_PORT}"
    volumes:
      - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
    labels:
      env: prod
      app: monitoring
    networks:
      - monitoring_net

  loki:
    image: grafana/loki:2.9.4
    env_file: .env
    volumes:
      - ./loki/loki-config.yml.template:/etc/loki/local-config.yml.template:ro
      - ./loki/entrypoint.sh:/entrypoint.sh:ro
      - /var/lib/docker/containers:/var/lib/docker/containers:ro
    entrypoint: /entrypoint.sh
    ports:
      - "${PROMETHEUS_PORT}"
    labels:
      env: prod
      app: monitoring
    networks:
      - monitoring_net

  alertmanager:
    image: prom/alertmanager
    env_file: .env
    volumes:
      - ./alertmanager/config.yml.template:/etc/alertmanager/config.yml.template:ro
      - ./alertmanager/entrypoint.sh:/entrypoint.sh:ro
    entrypoint: /entrypoint.sh
    ports:
      - "${ALERTMANAGER_PORT}"
    labels:
      env: prod
      app: monitoring
    networks:
      - monitoring_net

# Réseau dédié pour la communication entre les services
networks:
  monitoring_net:
    driver: bridge