phpMyAdmin o pgAdmin al proyecto Laravel en Sail

Laravel Sail Linux

Lo más limpio es agregar un docker-compose.override.yml en tu proyecto Sail (así no tocas el docker-compose.yml generado). Ahí definís phpMyAdmin (para MySQL/MariaDB) o pgAdmin (para PostgreSQL).

Sail carga automáticamente los *-override.yml si están en la raíz del proyecto.


Opción A — phpMyAdmin (MySQL/MariaDB)

Crea docker-compose.override.yml con:

services:
  phpmyadmin:
    image: phpmyadmin:latest
    depends_on:
      - mysql   # o "mariadb" si usás ese servicio
    environment:
      PMA_HOST: ${DB_HOST:-mysql}              # host del servicio MySQL/MariaDB
      PMA_PORT: ${FORWARD_DB_PORT:-3306}       # puerto interno del contenedor DB
      # Opcional si querés autologin con root (si definís root pass en tu DB):
      # MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-secret}
    ports:
      - "${FORWARD_PHPMYADMIN_PORT:-8081}:80"  # http://localhost:8081
    networks:
      - sail

networks:
  sail:
    external: true
    name: ${APP_SERVICE:-sail} # red que crea Sail (normalmente "sail")

Luego:

./vendor/bin/sail up -d

Entrás en http://localhost:8081.
Servidor: mysql (o mariadb), Usuario/Clave: los de tu .env (DB_USERNAME / DB_PASSWORD).

Si usás mariadb en Sail, cambia depends_on a mariadb y PMA_HOST a mariadb.


Opción B — pgAdmin (PostgreSQL)

En el mismo docker-compose.override.yml (o en otro), agrega:

services:
  pgadmin:
    image: dpage/pgadmin4:latest
    depends_on:
      - pgsql
    environment:
      PGADMIN_DEFAULT_EMAIL: [email protected]
      PGADMIN_DEFAULT_PASSWORD: admin123
    ports:
      - "${FORWARD_PGADMIN_PORT:-8082}:80"     # http://localhost:8082
    volumes:
      - pgadmin_data:/var/lib/pgadmin
    networks:
      - sail

volumes:
  pgadmin_data:
    driver: local

networks:
  sail:
    external: true
    name: ${APP_SERVICE:-sail}

Levanta:

./vendor/bin/sail up -d

Entrás en http://localhost:8082 con el email/clave de arriba.
Dentro de pgAdmin, Add New Server y usa:

  • Name: Local
  • Host name/address: pgsql
  • Port: 5432
  • Username/Password: los de tu .env (DB_USERNAME / DB_PASSWORD)

Notas útiles

  • Si cambiás los puertos, podés setear variables en .env del host: FORWARD_PHPMYADMIN_PORT=8081 FORWARD_PGADMIN_PORT=8082
  • Si ya tenías los contenedores arriba y no aparecen los nuevos servicios: ./vendor/bin/sail down ./vendor/bin/sail up -d
  • Con mysql en Sail, el root suele no tener password. Usá el usuario app (DB_USERNAME) o configura MYSQL_ROOT_PASSWORD en el servicio DB y reflotalo.

Comentarios

Dejá una respuesta