Skip to content

Instalacja Adminer

Instalacja

Adminer to lekki panel webowy do administracji bazami danych.

Założenia konfiguracyjne:

  • Plik Compose znajduje się w /srv/docker/compose/adminer
  • Adminer jest udostępniany wyłącznie lokalnie na 127.0.0.1:8080 (dostęp przez tunel SSH)
  • Adminer łączy się z bazami wewnętrznie po sieci Dockera internal
  • PostgreSQL i MariaDB muszą być podłączone do tej samej sieci internal
  • Logi dostępne są przez docker logs (bez osobnego katalogu logów)

Dostęp do sieci Docker

Wymagany dostęp do sieci internal

Aby komunikować się z innymi kontenerami, aplikacja wymaga dostępu do wewnętrznej sieci Docker internal.

Tworzenie sieci Docker

Sieć internal służy do komunikacji Adminer z kontenerami bazodanowymi postgres i mariadb.


Tworzenie katalogów

Tworzymy katalog aplikacji:

sudo mkdir -p /srv/docker/compose/adminer
sudo chown -R "$USER:$USER" /srv/docker/compose/adminer

Konfiguracja Docker Compose

Przechodzimy do katalogu Compose:

cd /srv/docker/compose/adminer

Tworzymy i edytujemy plik compose.yaml:

micro compose.yaml

W pliku umieszczamy:

compose.yaml
services:
  adminer:
    image: adminer:latest
    container_name: adminer
    restart: unless-stopped

    ports:
      - "127.0.0.1:8080:8080"

    networks:
      - internal

networks:
  internal:
    external: true

Zapisujemy plik i wychodzimy z edytora.


Uruchomienie kontenera

Uruchamiamy Adminer:

docker compose up -d

Sprawdzamy, czy kontener działa:

docker ps | grep adminer

Test (dostęp przez SSH tunnel)

Na komputerze lokalnym tworzymy tunel SSH:

ssh -L 8080:127.0.0.1:8080 USER@IP_SERWERA

W przeglądarce otwieramy:

http://localhost:8080

Połączenie z bazami danych

PostgreSQL:

System: PostgreSQL
Server: postgres
Port: 5432
User: postgres
Database: postgres

MariaDB / MySQL:

System: MySQL
Server: mariadb
Port: 3306
User: root

Podgląd logów

Podglądamy logi Adminer:

docker logs -f adminer

Uwagi utrzymaniowe

  • Adminer nie przechowuje żadnych danych — kontener można bezpiecznie usuwać i odtwarzać
  • Dostęp do UI jest ograniczony do localhosta (zalecane z punktu widzenia bezpieczeństwa)
  • Kontenery bazodanowe muszą być osiągalne po nazwach serwisów (postgres, mariadb) w sieci internal
  • Do użytku produkcyjnego nie należy wystawiać Adminera publicznie