From 772b1166ace7eb7cad2aea1a58bf741a6ec11163 Mon Sep 17 00:00:00 2001 From: rtrembecky Date: Tue, 20 Aug 2024 22:21:15 +0200 Subject: [PATCH] add guide to run Dockerized version on macOS --- deployment/local-mac/Dockerfile | 13 +++++++++++++ deployment/local-mac/README.md | 30 ++++++++++++++++++++++++++++++ deployment/local-mac/compose.yaml | 20 ++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 deployment/local-mac/Dockerfile create mode 100644 deployment/local-mac/README.md create mode 100644 deployment/local-mac/compose.yaml diff --git a/deployment/local-mac/Dockerfile b/deployment/local-mac/Dockerfile new file mode 100644 index 00000000..f077a757 --- /dev/null +++ b/deployment/local-mac/Dockerfile @@ -0,0 +1,13 @@ +FROM node:20 + +ARG NEXT_PUBLIC_BE_PORT +ARG NEXT_PUBLIC_BE_HOSTNAME + +WORKDIR /app + +COPY . /app + +RUN yarn && yarn build + +ENTRYPOINT [ "yarn", "start", "-H", "0.0.0.0" ] + diff --git a/deployment/local-mac/README.md b/deployment/local-mac/README.md new file mode 100644 index 00000000..67d48dc5 --- /dev/null +++ b/deployment/local-mac/README.md @@ -0,0 +1,30 @@ +# Ako pustit Docker na macOS + +## Co pustam + +- `docker-compose -f deployment/local-mac/compose.yaml up --build --force-recreate` + - da sa prihodit aj `--detach` ked chceme pustit v backgrounde (bez neho vidime server logy priamo v terminali) + +Treba mat samozrejme Docker a docker-compose atd. + +## Urobene zmeny oproti compose-test + +Ked som chcel pustit Docker na macu, musel som urobil nasledujuce zmeny (poradilo ChatGPT): + +### `compose.yml` + +- zmenil som aj meno suboru (lebo nebuildime "test" environment a.k.a test.strom.sk) +- vymena `network_mode: host` za `ports: - '3000:3000'` - network_mode vraj na macu nefunguje +- pridanie `- NEXT_PUBLIC_BE_HOSTNAME=host.docker.internal` - aby sa to vedelo pripojit na lokalny BE - Docker pouziva takyto hostname pre host machine localhost +- zmenil som porty na 3000/8000 ako standardne pouzivame pre development +- `dockerfile` a `context` cesty podla file struktury novych suborov + +### `Dockerfile` + +- host v `ENTRYPOINT`e na `"0.0.0.0"` + - od ChatGPT: You're trying to start the application with `yarn start -H localhost`. This command might not be correctly binding to all network interfaces. Usually, you'd use `-H 0.0.0.0` to ensure the app listens on all interfaces, including those available within a Docker container. (a naozaj to pomohlo, inak mi stranku browser nenacital) +- pridany `ARG NEXT_PUBLIC_BE_HOSTNAME` pre nacitanie env varu z compose + +### BE `settings.py` + +- `ALLOWED_HOSTS = ['host.docker.internal']` - BE krical, ze treba :shrug: diff --git a/deployment/local-mac/compose.yaml b/deployment/local-mac/compose.yaml new file mode 100644 index 00000000..d65dbe24 --- /dev/null +++ b/deployment/local-mac/compose.yaml @@ -0,0 +1,20 @@ +services: + webstrom-frontend: + build: + dockerfile: deployment/local-mac/Dockerfile + context: ../.. + args: + - NEXT_PUBLIC_BE_PORT=8000 + - NEXT_PUBLIC_BE_HOSTNAME=host.docker.internal + + image: webstrom-test-frontend + + environment: + - PORT=3000 + - NEXT_PUBLIC_BE_PORT=8000 + - NEXT_PUBLIC_BE_HOSTNAME=host.docker.internal + + ports: + - '3000:3000' + + restart: always