1
0

feat: https a certifikaty s ca

This commit is contained in:
2026-03-01 23:40:24 +01:00
parent a321b89111
commit 69f5bb7068
9 changed files with 225 additions and 38 deletions

View File

@@ -9,29 +9,60 @@ Docker stack s reverse proxy (Traefik) a webovým rozhraním pro správu kontejn
## Instalace
1. **Konfigurace prostředí**
```bash
# Přejmenujte soubor .env.example na .env
mv .env.example .env
### 1. Konfigurace prostředí
```bash
# Přejmenujte soubor .env.example na .env
mv .env.example .env
# Upravte .env soubor dle svých nastavení
DEV_URL=dev.linuxak.com
EXTERNAL_NETWORK=traefiknet
```
# Upravte .env soubor dle svých nastavení
DEV_URL=dev.linuxak.com
EXTERNAL_NETWORK=traefiknet
```
2. **Spuštění**
```bash
./run up # Spustit stack
./run restart # Restartovat stack
./run down # Zastavit stack
```
> **Poznámka:**
>
> Doménu `dev.linuxak.com` můžete ponechat, směřuje na `127.0.0.1` tedy na váš lokální počítač. Pokud chcete použít
> jinou doménu, nezapomeňte ji přidat do vašeho `/etc/hosts` souboru a vygenerovat novou sadu certifikátů pro tuto doménu.
### 2. Import CA do systému
Traefik používá vlastní certifikát pro HTTPS komunikaci. Pro správné fungování je potřeba importovat `rootCA.pem` do důvěryhodných certifikátů vašeho operačního systému.
#### MacOS
```bash
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain traefik/certs/rootCA.pem
```
#### Linux (Ubuntu/Debian)
```bash
sudo cp traefik/certs/rootCA.pem /usr/local/share/ca-certificates/linuxak-dev-ca.crt
sudo update-ca-certificates
```
#### Linux (CentOS/RHEL/Fedora)
```bash
sudo cp traefik/certs/rootCA.pem /etc/pki/ca-trust/source/anchors/linuxak-dev-ca.crt
sudo update-ca-trust
```
#### Windows (PowerShell jako Admin)
```bash
Import-Certificate -FilePath "traefik/certs/rootCA.pem" -CertStoreLocation Cert:\LocalMachine\Root
```
### 3. Spuštění
```bash
./run up # Spustit stack
./run restart # Restartovat stack
./run down # Zastavit stack
```
## Přístup ke službám
| Služba | URL |
|--------|-----|
| Traefik Dashboard | http://traefik.dev.linuxak.com |
| Portainer | http://portainer.dev.linuxak.com |
| Služba | URL |
|--------|-----------------------------------|
| Traefik Dashboard | https://traefik.dev.linuxak.com |
| Portainer | https://portainer.dev.linuxak.com |
## Struktura
@@ -40,26 +71,29 @@ Stack/
├── docker-compose.yml # Definice služeb
├── run # Skript pro správu
├── .env # Konfigurace prostředí
├── traefik/ # Traefik konfigurace a logy
└── portainer/ # Portainer data
├── traefik/ # Traefik konfigurace, certifikáty a logy
└── portainer/ # Portainer data
```
## Persistence
Složka `portainer` je persistentním úložištěm pro službu Portainer a všechna data této služby zůstanou uložená i po vypnutí stacku, dokud je ručně nesmažete.
## Přidání nové služby
## Připojení vaší služby do Traefiku
Do vašeho `docker-compose.yml` přidejte Traefik labels:
Hodnotu `<PORT>` nahraďte skutečným portem své služby.
> Hodnotu `<VASE_URL>` nahraďte skutečnou doménou své služby.
> Hodnotu `<VAS_PORT>` nahraďte skutečným portem své služby.
> Hodnotu `<VASE_EXTERNI_SIT>` nahraďte skutečným náyvem své externí sítě.
```yaml
labels:
- "traefik.enable=true"
- "traefik.http.routers.myapp.rule=Host(`myapp.${DEV_URL}`)"
- "traefik.http.routers.myapp.entrypoints=web"
- "traefik.http.services.myapp.loadbalancer.server.port=<PORT>"
- "traefik.http.routers.myapp.rule=Host(`myapp.<VASE_URL>`)"
- "traefik.http.routers.myapp.entrypoints=websecure"
- "traefik.http.routers.myapp.tls=true"
- "traefik.http.services.myapp.loadbalancer.server.port=<VAS_PORT>"
networks:
- ${EXTERNAL_NETWORK}
- <VASE_EXTERNI_SIT>
```