Etiqueta: phpmyadmin

  • phpMyAdmin o pgAdmin al proyecto Laravel en Sail

    phpMyAdmin o pgAdmin al proyecto Laravel en Sail

    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.