mirror of
https://github.com/joaovitoriasilva/endurain.git
synced 2026-01-10 08:17:59 -05:00
Backend requirements bump
[README] README file updated [frontend] Updated dockerfile for frontend image [backend] Updated dockerfile for backend image [backend] Removed .env file. Env variables loaded on docker build process [frontend] Fixed .env file for frontend docker image [frontend] Added nginx-custom.conf to fix reloads [frontend] Added frontend_env.sh to fix env variables loading on docker image start [docker] Updated docker compose example file
This commit is contained in:
@@ -17,13 +17,13 @@ RUN pip install --no-cache-dir --upgrade -r requirements.txt \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Make port 80 available to the world outside this container
|
||||
EXPOSE 80
|
||||
|
||||
# Copy the directory backend contents to /app
|
||||
COPY backend /app
|
||||
|
||||
# Define environment variable
|
||||
# Make port 80 available to the world outside this container
|
||||
EXPOSE 80
|
||||
|
||||
# Define environment variables
|
||||
ENV DB_HOST="mariadb"
|
||||
ENV DB_PORT=3306
|
||||
ENV DB_USER="endurain"
|
||||
|
||||
@@ -21,7 +21,14 @@ RUN npm run build
|
||||
FROM nginx:alpine as production-stage
|
||||
|
||||
COPY --from=build-stage /app/dist /usr/share/nginx/html
|
||||
COPY nginx-custom.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
COPY frontend_env.sh /docker-entrypoint.d/frontend_env.sh
|
||||
RUN chmod +x /docker-entrypoint.d/frontend_env.sh
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
ENV MY_APP_BACKEND_PROTOCOL=http
|
||||
ENV MY_APP_BACKEND_HOST=backend
|
||||
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
|
||||
@@ -59,8 +59,8 @@ Table bellow shows supported environemnt variables. Variables marked with option
|
||||
|
||||
Environemnt variable | Default value | Optional
|
||||
--- | --- | ---
|
||||
BACKEND_PROTOCOL* | http | Yes
|
||||
BACKEND_HOST** | backend | Yes
|
||||
MY_APP_BACKEND_PROTOCOL* | http | Yes
|
||||
MY_APP_BACKEND_HOST** | backend | Yes
|
||||
|
||||
*BACKEND_PROTOCOL needs to be https if you want to enable Strava integration
|
||||
**BACKEND_HOST needs to be set and be Internet faced/resolved if you want to enable Strava integration. Strava callback relies on this.
|
||||
|
||||
19
backend/.env
19
backend/.env
@@ -1,19 +0,0 @@
|
||||
# .env
|
||||
DB_HOST=mariadb
|
||||
DB_PORT=3306
|
||||
DB_USER=endurain
|
||||
DB_PASSWORD=changeme
|
||||
DB_DATABASE=endurain
|
||||
SECRET_KEY=changeme # openssl rand -hex 32
|
||||
ALGORITHM=HS256
|
||||
ACCESS_TOKEN_EXPIRE_MINUTES=30
|
||||
STRAVA_CLIENT_ID=changeme
|
||||
STRAVA_CLIENT_SECRET=changeme
|
||||
STRAVA_AUTH_CODE=changeme
|
||||
JAEGER_ENABLED=true
|
||||
JAEGER_PROTOCOL=http
|
||||
JAEGER_HOST=jaeger
|
||||
JAGGER_PORT=4317
|
||||
STRAVA_DAYS_ACTIVITIES_ONLINK=30
|
||||
FRONTEND_HOST=frontend
|
||||
GEOCODES_MAPS_API=changeme
|
||||
@@ -5,15 +5,13 @@ services:
|
||||
container_name: frontend
|
||||
image: ghcr.io/joaovitoriasilva/endurain/frontend:latest
|
||||
#environment:
|
||||
#- VITE_BACKEND_PROTOCOL=http # http or https, default is http
|
||||
#- VITE_BACKEND_HOST=backend # api host, default is backend
|
||||
#- MY_APP_BACKEND_PROTOCOL=http # http or https, default is http
|
||||
#- MY_APP_BACKEND_HOST=backend # api host, default is backend
|
||||
# Configure volume if you want to edit the code locally by clomming the repo
|
||||
#volumes:
|
||||
# - <local_path>/endurain/frontend:/app
|
||||
ports:
|
||||
- "8080:80" # frontend port, change per your needs
|
||||
env_file:
|
||||
- ./frontend/.env
|
||||
restart: unless-stopped
|
||||
|
||||
# API logic
|
||||
@@ -33,8 +31,6 @@ services:
|
||||
# Configure volume if you want to edit the code locally by clomming the repo
|
||||
#volumes:
|
||||
# - <local_path>/endurain/backend:/app
|
||||
env_file:
|
||||
- ./backend/.env
|
||||
depends_on:
|
||||
- mariadb
|
||||
- jaeger
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
VITE_BACKEND_PROTOCOL=http
|
||||
VITE_BACKEND_HOST=backend
|
||||
VITE_BACKEND_PROTOCOL=MY_APP_BACKEND_PROTOCOL
|
||||
VITE_BACKEND_HOST=MY_APP_BACKEND_HOST
|
||||
12
frontend_env.sh
Normal file
12
frontend_env.sh
Normal file
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
for i in $(env | grep MY_APP_)
|
||||
do
|
||||
key=$(echo $i | cut -d '=' -f 1)
|
||||
value=$(echo $i | cut -d '=' -f 2-)
|
||||
echo $key=$value
|
||||
# sed All files
|
||||
# find /usr/share/nginx/html -type f -exec sed -i "s|${key}|${value}|g" '{}' +
|
||||
|
||||
# sed JS and CSS only
|
||||
find /usr/share/nginx/html -type f \( -name '*.js' -o -name '*.css' \) -exec sed -i "s|${key}|${value}|g" '{}' +
|
||||
done
|
||||
15
nginx-custom.conf
Normal file
15
nginx-custom.conf
Normal file
@@ -0,0 +1,15 @@
|
||||
server {
|
||||
listen 80;
|
||||
|
||||
location / {
|
||||
root /usr/share/nginx/html;
|
||||
index index.html index.htm;
|
||||
try_files $uri $uri/ /index.html =404;
|
||||
}
|
||||
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
|
||||
location = /50x.html {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user