Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
it:server:docker [2025/02/11 17:29] – [Tvorba docker composer souboru] Petr Nosek | it:server:docker [2025/08/02 12:09] (aktuální) – Petr Nosek | ||
---|---|---|---|
Řádek 491: | Řádek 491: | ||
Návod na zabezpečení Node-Redu přes SSL a autentizace: | Návod na zabezpečení Node-Redu přes SSL a autentizace: | ||
+ | |||
+ | |||
+ | ===== Redmine a databáze na hostitelském systému ===== | ||
+ | |||
+ | Řešil jsem instalaci Redmine, kde samotný Redmine běží v Dockeru, ale databáze (MySQL/ | ||
+ | |||
+ | ==== Nastavení databáze ==== | ||
+ | |||
+ | Nejprve jsem si musel ověřit, na jakých adresách MySQL/ | ||
+ | |||
+ | < | ||
+ | bind-address = 127.0.0.1 | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Zjištění IP adresy docker0 ==== | ||
+ | |||
+ | Aby Redmine z Dockeru mohl přistupovat k databázi na hostitelském systému, zjistil jsem IP adresu rozhraní docker0 příkazem: | ||
+ | |||
+ | <code bash> | ||
+ | ip addr show docker0 | ||
+ | </ | ||
+ | |||
+ | Je potřeba myslet na to, že tato IP adresa se může po restartu systému změnit, takže je dobré počítat s tím do budoucna. | ||
+ | |||
+ | ==== Konfigurace docker-compose.yml ==== | ||
+ | |||
+ | Redmine jsem nastavil v docker-compose.yml takto: | ||
+ | |||
+ | <code yaml> | ||
+ | redmine: | ||
+ | container_name: | ||
+ | image: redmine | ||
+ | restart: always | ||
+ | ports: | ||
+ | - ' | ||
+ | environment: | ||
+ | REDMINE_DB_MYSQL: | ||
+ | REDMINE_DB_PORT: | ||
+ | REDMINE_DB_USERNAME: | ||
+ | REDMINE_DB_PASSWORD: | ||
+ | REDMINE_DB_DATABASE: | ||
+ | REDMINE_SECRET_KEY_BASE: | ||
+ | volumes: | ||
+ | - ' | ||
+ | - ' | ||
+ | </ | ||
+ | |||
+ | Klíčový je zde parametr REDMINE_DB_MYSQL, | ||
+ | |||
+ | ==== Konfigurace reverse proxy (Apache) ==== | ||
+ | |||
+ | V konfiguraci Apache jsem pro přístup na Redmine přes webový server přidal tuto část: | ||
+ | |||
+ | < | ||
+ | # Reverse proxy konfigurace | ||
+ | ProxyPreserveHost On | ||
+ | ProxyPass / http:// | ||
+ | ProxyPassReverse / http:// | ||
+ | </ | ||
+ | |||
+ | Takto jsem úspěšně rozchodil Redmine v Dockeru s databází na hostiteli a přístupem přes Apache reverse proxy. | ||
+ | |||
+ | |||
+ | ==== konfigurace firewallu ==== | ||
+ | |||
+ | Musel jsem nakonfigurovat ještě firewall a povolit komunikaci z Redmine na MySQL databázi. | ||
+ | |||
+ | IP adresu Redmine jsem zjistil pomocí tohoto příkazu: | ||
+ | |||
+ | <code bash> | ||
+ | docker inspect redmine | grep -i ipaddress | ||
+ | </ | ||
+ | |||
+ | Pro firewall jsem přidal tyto příkazy: | ||
+ | |||
+ | <code bash> | ||
+ | ufw allow proto tcp from 172.19.0.2 to any port 33060 | ||
+ | ufw allow proto udp from 172.19.0.2 to any port 33060 | ||
+ | </ | ||
+ | |||
+ | Tohle znamená: | ||
+ | |||
+ | * Povoluje veškerý provoz (příchozí) na port 33060 přes TCP a UDP pouze z IP adresy 172.19.0.2. | ||
+ | |||
+ | V kontextu Dockeru je 172.19.0.2 adresa Redmine. Opět po restartu může být jiná a tohle ještě nemám dořešené, | ||
+ | |||
+ |