h_HIRAX.

HIRAX / PRAKTICKÝ NÁVOD

Databáze pro tvoji appku. Ne pro celý internet.

Soukromý PostgreSQL, trvalá data a skutečný postup zálohování a testu obnovy.

KROK 01Nech databázi v privátní síti

V Compose se aplikace připojí na název služby db a port 5432. Publikovat port na hostu není potřeba. Následující fragment přidej do Compose projektu; pg_data a pg_password patří také do hlavní úrovně souboru.

PŘÍKLAD / PŘIZPŮSOB SVÉMU PROJEKTU
services:
  db:
    image: postgres:18-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: app
      POSTGRES_USER: app_owner
      POSTGRES_PASSWORD_FILE: /run/secrets/pg_password
    secrets:
      - pg_password
    volumes:
      - pg_data:/var/lib/postgresql
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U app_owner -d app"]
      interval: 10s
      timeout: 5s
      retries: 5
volumes:
  pg_data:
secrets:
  pg_password:
    file: ./secrets/pg_password.txt

KROK 02Chraň přístupy a vytvoř aplikační roli

Soubor s tajným údajem vytvoř mimo Git s omezenými právy a silným generovaným heslem. app_owner je v tomto image počáteční databázový superuživatel; aplikaci vytvoř samostatnou omezenou runtime roli. Připojovací tajný údaj předej aplikaci bezpečně, host je db. Healthcheck nevytvoří schéma ani nenahradí plán migrace.

KROK 03Volume uchovává data. Nezálohuje je.

PostgreSQL 18 image používá verzované datové adresáře pod /var/lib/postgresql. Starší návody proto nekopíruj automaticky. Hlavní verzi image nikdy neměň bez plánovaného upgradu databáze. Smazáním volume smažeš databázi.

KROK 04Vytvoř a prohlédni logickou zálohu

Spusť ze složky Compose. Vznikne dump ve vlastním formátu s omezeným přístupem. Zálohy kopíruj do odděleného chráněného úložiště a stanov retenci. Dump může obsahovat citlivé údaje.

PŘÍKLAD / PŘIZPŮSOB SVÉMU PROJEKTU
umask 077
mkdir -p backups
docker compose exec -T db pg_dump -U app_owner -d app -Fc > backups/app.dump
docker compose exec -T db pg_restore --list < backups/app.dump

KROK 05Obnov do oddělené testovací databáze

Výpis obsahu není test obnovy. Dump obnov do samostatné testovací databáze s kompatibilní verzí PostgreSQL a rozšířeními, pak ověř aplikační dotazy. Zapiš dobu obnovy a porovnej ji s cílem. Destruktivní restore nikdy nezkoušej proti živé databázi.

COPY → YOUR AI

Vezmi si další krok do svého chatu.

Bezpečný kontext k tomuto návodu. Žádné tajné údaje. Funguje pro ChatGPT, Claude i další asistenty.

Zdroje a technická dokumentace

PostgreSQL backup documentationOfficial PostgreSQL container

Postup je vzor pro uvedené předpoklady. Před použitím na živém serveru ověř kompatibilitu svého projektu a konkrétní konfiguraci.

Připravený na vlastní server?

Vyber výchozí bod podle projektu a porovnej skutečné konfigurace u WVG.

Vybrat další krok