Ispravljene greške i dodanja poboljšanja vezana uz #58#59
Merged
senko merged 1 commit intosenko:mainfrom Oct 30, 2025
Merged
Conversation
…alth check on different port
Owner
|
Hvala na detaljnoj analizi i poslanom PRu @CookieTheory ! Osobno ne pokrećem cijene kroz docker tako da nisam naletio na ove probleme (a unaccent dio sam dodao nedavno tako da nisam niti primjetio da ne radi u docker verziji). Kreirao sam issue #60 da možda u budućnosti imamo testove za to, bilo bi super ako bi se netko bio voljan toga primiti. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #58
PostgreSQL verzija
Nadovezujući se uz issue, smanjio sam verziju PostgreSQL baze radi kompatibilnosti na najnoviju 16 verziju. Smatram da je bitno omogućiti rad, a kasnije detaljnije pogledati i riješiti korijen problem s unaccent funkcijom u 17+ verzijama.
Ponašanje portova i Logičko odvajanje eksternog i internog porta
Nadovezujući se na grešku za ponašanje portova, unutar docker-compose.yml bi mijenjao pod ports sa
- "${PORT:-8000}:8000"na
- "${EXTERNAL_PORT:-8000}:${PORT:-8000}"tako da i bez namještanja varijabli default vrijednost se može namjestiti i uredno pokrenuti docker.
Unutar .env.docker.example sam dodao
EXTERNAL_PORT=8000, te bi ova promjena trebala lagano korisniku omogućiti promjenu i kontrolu na eksternim i internim portovima aplikacije kao i u drugim većim open source projektima i aplikacijama.Healthcheck
Odmah uz portove, unutar docker-compose.yml sam doradio healthcheck sa
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]na
test: ["CMD-SHELL", "curl -f http://localhost:${PORT:-8000}/health"]CMD-SHELL se koristi i unutar postgresql checka, tako da je tu čisto proširivanje funkcionalnosti na interni port kakav i postgresql docker ima. Tu nije bitno dodavanje root patha koji ću dodatno objasniti u sljedećoj točki pošto python omogućava health endpoint i na običnom / rootu.
Root path
Stvar koju sam najmanje u issue objasnio, Tu je promjena vezana i uz .env.docker.example i unutar pythona.
Problem je kod reverse proxy konfiguracije da bi me možda api namještavao na drugačiji root, npr ako želimo imati na
http://custom-domain.com/cijene-api, aplikacija ne bi mogla dohvaćati svoj json i prikazivati na primjer docs i pristupiti drugim endpointima jer bi smatrala da i dalje živi pod "/" rootom, odnosno na primjeruhttp://custom-domain.com.Tu je promjena dodavanjem varijable "ROOT_PATH" u .env.docker.example s default vrijednošću od "/" (standardna vrijednost koja se sada postavi bez varijable), a dopušta korisniku da precizira root port i time prilagodi sa svojom reverse proxy konfiguracijom. Unutar python datoteka config.py i main.py su samo dodane linije za root path logiku, male su promjene koje su samo potrebne prilikom pokretanja aplikacije i ne mijenjaju druge dijelove api-ja. Dodano je:
self.root_path: str = os.getenv("ROOT_PATH", "/")u config za dohvat varijable iz .env iroot_path=settings.root_path,za samo namještavanje root patha u apiju.Dodatne linije na kraju su zbog linux line-feeda na nano i kate.
Nadam se da sam dovoljno dobro objasnio promjene i da će se commit implementirati u master kako bi svima olakšalo rad s docker verzijom aplikacije. Također se nadam da nisam previše razdužio :).