SSL zmiana domyślnej ścieżki

Witam!
Mam pytanie czy można zmienić domyślną ścieżkę do certyfikatów SSL, jeśli tak to jak to zrobić?
Pytam bo ja mam na rasberry zainstalowany HA w dokerze i w dokerze mam też zainstalowany Nginx Proxy Manager (nie ten co jest dostępny w HA) który pobiera mi certyfikaty do innych domen i tu wszystko działa jak należy.
problem jes w tym że jak podam w configuration.yaml ścieżkę do certyfikatów

http:
  ssl_certificate: /home/pi/nginx/letsencrypt/live/npm-41/fullchain.pem
  ssl_key: /home/pi/nginx/letsencrypt/live/npm-41/privkey.pem

To przy sprawdzaniu konfiguracji wywala że nie ma takiego pliku.
Da się to jakoś ogarnąć, czy pozamiatane?

https://community.home-assistant.io/t/configure-ssl-with-docker/196878/3

@mario026
Ścieżka która wpisujesz nie jest zmapowana w HA więc konfiguracja jej nie widzi, główna ścieżką
jest /config czyli rzeczywistym katalogiem jest /usr/share/hassio/homeassistant

przekopiuj pliki fullchain.pem i privkey.pem do katalogu /usr/share/hassio/homeassistant

Twoja ścieżką będzie /usr/share/hassio/homeassistant/privkey.pem

dzięki za odzew, ale nie bardzo rozumiem co mam zrobić
To rozumiem, tylko trzeba to robić co 2 miesiące a mi zależy na tym aby po odnowieniu certyfikatu nie trzeba było tego robić

A jak te pliki mają Ci się same przenieść ?
Możesz to zwalić na Linuksa żeby raz na 24h przekopiowywał Ci te pliki z nginxa do katalogu HA w przypadku gdy wpadną nowe certyfikaty.

Nie chodzi o to aby same się przeniosly tylko aby w jakiś sposób zmienić ścieżkę bo te pliki po aktualizacji zmieniają nazwę tj. na końcu nazwy dodaje się numer 1,2, 3 i tak dalej

Czyli jak odświeża Ci się certyfikat to wpadają pliki privkey1.pem i fullchain1.pem ?

tak pożniej privkey2.pem i privkey3.pem ale w katalogu /home/pi/nginx/letsencrypt/live/npm-41 jest jest plik (simlink) privkey.pem który prowadzi do najnowszego czyli privkey3.pem i potrzeba jest aby HA widział katalog /home/pi/nginx/letsencrypt/live/npm-41

@artpc Ci napisał. Nie da się bo HA tak nie działa , Twórcy tego nie uwzględnili.
Musisz sam to zrobić czyli zwalić to na Linuksa aby sam kopiował Ci pliki do HA z właściwymi nazwami.

@Krzyszof_K możesz podpowiedzieć jak powinno to wyglądać w corn.

Z poleceń konsoli jestem cieńki.
Posłużę się przykładem :

mv \*1.pem #.pem

Uzyskasz właściwą nazwę a potem tylko ( jak dobrze to zrozumiałem bo brałem z przykładu tylko akurat na odwrót ):

cp *.pem  /usr/share/hassio/homeassistant/

Wypróbuj najpierw w innym katalogu.

I prawdopodobnie na końcu trzeba będzie jeszcze zrobić:

chmod 644  /usr/share/hassio/homeassistant/*.pem

dzieki @Krzyszof_K
podpowie ktoś jak powinna wyglądać linia w cron aby kopiował się plik co tydzień?
plik źródłowy:

/home/pi/nginx/letsencrypt/live/npm-41/privkey.pem

plik docelowy:

/usr/share/hassio/ssl/privkey.pem

Jakoś tak
* * */7 * * cp /home/pi/nginx/letsencrypt/live/npm-41/privkey.pem /usr/share/hassio/ssl/privkey.pem

ale możliwe, że będziesz chciał to zrobić inaczej niż co 7 dni (w najgorszym przypadku będziesz czekał na prawidłowy plik niemal cały tydzień, jeśli wiesz kiedy konkretnie odnawia się ten certyfikat, to można stworzyć lepszą regułę)
Tu są świetne przykłady

Można spróbować tak ale nie wiem czy to zadziała

Wpis w configuration.yaml HA

homeassistant:
  allowlist_external_dirs:
    - /home/pi/nginx/letsencrypt/live/npm-41

@artpc niestety nie chce zadziałać

Not a directory @ data['allowlist_external_dirs'][0]

Na mój chłopski rozum. HA jest w docker’ze. A to oznacza, że z docker’a nie ma możliwości dostępu do plików systemowych. Odwrotnie tak. Czyli np. HA generuje certyfikaty i robisz linka do serwera www. Ale jeśli masz więcej domen… Zostaje grzebanie w docker’ze i dodanie ścieżki w systemie do certyfikatów. Ale czy jest to możliwe i jak to zrobić nie powiem Ci na tę chwilę. Za mało wiem o docker’ze. Może za miesiąc… (kupiłem książkę Docker w miesiąc) :slight_smile:
P.S. Sam poległem na tym problemie.

1 Like

Ogarnięte dzienki @Krzyszof_K co prawda musiałem to zrobić w systemowym cron-ie, bo tylko root może kopiować te certyfikaty i teraz co 7 dni pobiera mi certyfikady do katalogu ssl w HA.
Certyfikaty odnawiają mi się 30 dni przed końcem więc zapas czasu jest.
tak wygląda linia w systemowym cron-ie

0 02 */7 * * root cp /home/pi/nginx/letsencrypt/live/npm-41/privkey.pem /usr/share/hassio/ssl/privkey.pem

i analogicznie dla pliku fullchain.pem