Brin AMONKONAN 1 anno fa
commit
901c50bf2d
7 ha cambiato i file con 165 aggiunte e 0 eliminazioni
  1. 0 0
      .env
  2. 0 0
      .env.dev
  3. 0 0
      .env.prod
  4. 0 0
      Dockerfile
  5. 0 0
      Dockerfile.dev
  6. 154 0
      docker-compose.yml
  7. 11 0
      package.json

+ 0 - 0
.env


+ 0 - 0
.env.dev


+ 0 - 0
.env.prod


+ 0 - 0
Dockerfile


+ 0 - 0
Dockerfile.dev


+ 154 - 0
docker-compose.yml

@@ -0,0 +1,154 @@
+version: '3.8'
+
+services:
+  # Serveur Web Nginx
+  web:
+    image: nginx:latest
+    container_name: nginx_server
+    ports:
+      - "8080:80"
+    volumes:
+      - ./html:/usr/share/nginx/html:ro
+    depends_on:
+      - app
+
+  # Serveur Web Node.js
+  node_app:
+    image: node:latest
+    container_name: node_server
+    working_dir: /usr/src/app
+    volumes:
+      - ./node_app:/usr/src/app
+    ports:
+      - "3000:3000"
+    command: bash -c "npm install && npm start"
+
+  # Serveur PHP
+  app:
+    image: php:7.4-fpm
+    container_name: php_server
+    volumes:
+      - ./html:/var/www/html
+    depends_on:
+      - db
+
+  # Serveur MySQL
+  db:
+    image: mysql:5.7
+    container_name: mysql_db
+    environment:
+      MYSQL_ROOT_PASSWORD: rootpassword
+      MYSQL_DATABASE: mydb
+      MYSQL_USER: user
+      MYSQL_PASSWORD: userpassword
+    ports:
+      - "3306:3306"
+    volumes:
+      - db_data:/var/lib/mysql
+
+  # Serveur Redis
+  cache:
+    image: redis:latest
+    container_name: redis_cache
+    ports:
+      - "6379:6379"
+
+  # Serveur de fichiers Samba
+  file_server:
+    image: dperson/samba
+    container_name: samba_server
+    environment:
+      TZ: Europe/Paris
+      USERNAME: user
+      PASSWORD: password
+    ports:
+      - "139:139"
+      - "445:445"
+    volumes:
+      - ./shared:/mount
+
+  # Serveur Proxy Squid
+  proxy:
+    image: sameersbn/squid:latest
+    container_name: squid_proxy
+    ports:
+      - "3128:3128"
+    volumes:
+      - ./squid:/etc/squid
+
+  # Serveur Email Postfix
+  mail:
+    image: mwader/postfix-relay
+    container_name: mail_server
+    environment:
+      RELAYHOST: "[smtp.gmail.com]:587"
+      RELAYUSER: "your-email@gmail.com"
+      RELAYPASS: "your-email-password"
+    ports:
+      - "587:587"
+
+  # Serveur de métriques Prometheus
+  prometheus:
+    image: prom/prometheus:latest
+    container_name: prometheus_server
+    volumes:
+      - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
+    ports:
+      - "9090:9090"
+
+  # Serveur de monitoring Grafana
+  grafana:
+    image: grafana/grafana:latest
+    container_name: grafana_server
+    environment:
+      - GF_SECURITY_ADMIN_USER=admin
+      - GF_SECURITY_ADMIN_PASSWORD=admin
+    ports:
+      - "3001:3000"
+    depends_on:
+      - prometheus
+    volumes:
+      - grafana_data:/var/lib/grafana
+
+  # Serveur de qualité de code SonarQube
+  sonarqube:
+    image: sonarqube:community
+    container_name: sonarqube_server
+    ports:
+      - "9000:9000"
+    environment:
+      SONAR_ES_BOOTSTRAP_CHECKS_DISABLE: "true"
+    volumes:
+      - sonarqube_data:/opt/sonarqube/data
+      - sonarqube_extensions:/opt/sonarqube/extensions
+      - sonarqube_logs:/opt/sonarqube/logs
+
+  # Serveur CI/CD Jenkins
+  jenkins:
+    image: jenkins/jenkins:lts
+    container_name: jenkins_server
+    user: root
+    ports:
+      - "8081:8080"
+      - "50000:50000"
+    volumes:
+      - jenkins_home:/var/jenkins_home
+
+  # Serveur Git auto-hébergé Gogs
+  gogs:
+    image: gogs/gogs:latest
+    container_name: gogs_server
+    ports:
+      - "3002:3000"
+      - "10022:22"
+    volumes:
+      - gogs_data:/data
+
+volumes:
+  db_data:
+  grafana_data:
+  sonarqube_data:
+  sonarqube_extensions:
+  sonarqube_logs:
+  jenkins_home:
+  gogs_data:

+ 11 - 0
package.json

@@ -0,0 +1,11 @@
+{
+  "name": "back",
+  "version": "1.0.0",
+  "description": "transport",
+  "main": "index.ts",
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "author": "Brin Amonkonan",
+  "license": "MIT"
+}