Template PostgreSQL/PgAdmin

Environnement complet de développement avec PostgreSQL, PgAdmin et Visual Studio Code Web

Responsable : M. Rousseau mickael.rousseau@univ-tours.fr

Description du template

Ce template configure un environnement complet pour le développement, le test et l'exécution d'applications basées sur PostgreSQL. Il contient plusieurs services collaborant entre eux dans un réseau privé Docker.

Services inclus

PostgreSQL 17.2

Serveur PostgreSQL pour stocker les données de l'application

PgAdmin4 8.14.0

Outil web simple pour gérer les bases de données PostgreSQL

Visual Studio Code Web

Éditeur de code basé sur le web, accessible via navigateur

Réseau privé

Communication sécurisée entre tous les services

Informations du template
  • PostgreSQL : Version 17.2
  • PgAdmin : Version 8.14.0
  • VSCode : Version Web
  • Port PgAdmin : 80
  • Port VSCode : 8080
  • Type : DSI Université
DSI Université Base de données Développement

Détails des services

PostgreSQL 17.2

Fournit un serveur PostgreSQL pour stocker les données de l'application.

Login et mot de passe par défaut :
  • POSTGRES_USER : polytech
  • POSTGRES_PASSWORD : polytech
PgAdmin4 8.14.0

Fournit un outil web simple pour gérer les bases de données PostgreSQL (type phpMyAdmin mais pour Postgres). Permet à l'utilisateur de se connecter en utilisant le compte créé ci-dessus.

Login et mot de passe par défaut :
  • PGADMIN_DEFAULT_EMAIL : user-name@domain-name.com
  • PGADMIN_DEFAULT_PASSWORD : strong-password
Visual Studio Code Web

Offre un éditeur de code Visual Studio Code basé sur le web, accessible via un navigateur.

  • Protégé par un mot de passe défini dans une variable d'environnement
  • Connecté au réseau privé dédié

Avantages

  • Simplifie le déploiement d'un environnement de développement PostgreSQL complet
  • Fournit un accès sécurisé à un éditeur web et un outil de gestion de base de données
  • Permet de travailler avec des données persistantes et un code modifiable en temps réel
  • Avec ce template, un développeur dispose d'une solution prête à l'emploi pour développer et tester une application basée sur PostgreSQL

Docker Compose du Template

Configuration Docker Compose
services:
  {{ USERNAME }}-db:
    image: postgres:17.2
    container_name: {{ USERNAME }}-db
    restart: always
    environment:
      POSTGRES_USER: polytech
      POSTGRES_PASSWORD: polytech
    volumes:
      - local_pgdata-{{ USERNAME }}:/var/lib/postgresql/data
    networks:
      - internal_network_{{ USERNAME }}  # Ajout du réseau interne

  {{ USERNAME }}-pgadmin:
    image: dpage/pgadmin4:8.14.0
    container_name: {{ USERNAME }}-pgadmin
    restart: always
    ports:
      - "0:80"  # pgAdmin sera accessible en externe
    environment:
      PGADMIN_DEFAULT_EMAIL: user-name@domain-name.com
      PGADMIN_DEFAULT_PASSWORD: strong-password
    volumes:
      - pgadmin-data-{{ USERNAME }}:/var/lib/pgadmin
    depends_on:
      - {{ USERNAME }}-db
    networks:
      - internal_network_{{ USERNAME }}  # Ajout du réseau interne

  {{ USERNAME }}-vscode-web:
    image: codercom/code-server:latest
    container_name: vscode-{{ USERNAME }}
    environment:
      PASSWORD: {{ PASSWORD }} # Mot de passe pour sécuriser l'accès à VS Code Web
    ports:
      - "0:8080"
    volumes:
      - vscode-{{ USERNAME }}:/home/coder
    networks:
      - internal_network_{{ USERNAME }}

networks:
  internal_network_{{ USERNAME }}:
    driver: bridge  # Création d'un réseau interne

volumes:
  local_pgdata-{{ USERNAME }}:
  pgadmin-data-{{ USERNAME }}:
  vscode-{{ USERNAME }}:

Prêt à utiliser PostgreSQL ?

Déployez votre environnement PostgreSQL complet en quelques clics

Accéder à Portainer Retour aux templates