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é, | ||
| + | |||
| + | |||