@@ -0,0 +1,2 @@ | |||
.env | |||
client/.npmrc |
@@ -0,0 +1,6 @@ | |||
#!/bin/sh | |||
source .env | |||
docker build -t sim-client:$VERSION --build-arg VERSION=$VERSION --build-arg GRAPHQL_SERVER=$GRAPHQL_SERVER client | |||
docker build -t sim-server:$VERSION --build-arg VERSION=$VERSION server |
@@ -0,0 +1,37 @@ | |||
FROM nginx:1.21.1-alpine | |||
ARG VERSION | |||
ARG GRAPHQL_SERVER | |||
ADD https://git.it-kimmig.de/akimmig/TurnenAufZeit/archive/v${VERSION}.zip /tmp.zip | |||
RUN set -eux; \ | |||
unzip -q /tmp.zip -d /; \ | |||
rm -f /tmp.zip; | |||
WORKDIR /turnenaufzeit/client | |||
RUN apk update; \ | |||
apk add nodejs; \ | |||
apk add npm; | |||
COPY ./.npmrc* /turnenaufzeit/client/ | |||
RUN if [[ -f "./.npmrc" ]]; then \ | |||
echo "OK" > /dev/null; \ | |||
else \ | |||
sed -i 's/fontawesome-pro/fontawesome-free/g' ./src/main.js; \ | |||
sed -i 's/fontawesome-pro/fontawesome-free/g' ./package.json; \ | |||
fi; | |||
RUN echo "export const GRAPHQLserver = '${GRAPHQL_SERVER}'" > ./src/env.js | |||
RUN npm install; \ | |||
npm run build; | |||
RUN sed -i 's#root /usr/share/nginx/html;#root /turnenaufzeit/client/dist;#g' /etc/nginx/conf.d/default.conf; \ | |||
sed -i 's#index index.html index.htm;#try_files $uri $uri/ /index.html;#g' /etc/nginx/conf.d/default.conf; | |||
EXPOSE 80 | |||
#CMD [ "nginx", "-g", "daemon off;" ] |
@@ -1,11 +1,42 @@ | |||
version: '3.1' | |||
version: '3.6' | |||
services: | |||
mongo: | |||
image: mongo | |||
restart: unless-stopped | |||
environment: | |||
MONGO_INITDB_ROOT_USERNAME: root | |||
MONGO_INITDB_ROOT_PASSWORD: TurnenAufZeit | |||
MONGO_INITDB_ROOT_USERNAME: ${DB_USER:-root} | |||
MONGO_INITDB_ROOT_PASSWORD: ${DB_PWD:-TurnenAufZeit} | |||
server: | |||
image: sim-server:${VERSION} | |||
ports: | |||
- "3000:${SERVER_PORT:-3000}" | |||
environment: | |||
SYSTEM_NAME: ${SYSTEM_NAME:-TurnenAufZeit} | |||
DB_USER: ${DB_USER:-root} | |||
DB_PWD: ${DB_PWD:-TurnenAufZeit} | |||
DB_HOST: ${DB_HOST:-mongo} | |||
DB_PORT: ${DB_PORT:-27017} | |||
DB_SOURCE: ${DB_SOURCE:-admin} | |||
DB_DB: ${DB_DB:-TurnenAufZeit} | |||
MAIL_HOST: ${MAIL_HOST:-} | |||
MAIL_PORT: ${MAIL_PORT:-25} | |||
MAIL_SECURE: ${MAIL_SECURE:-false} | |||
MAIL_USER: ${MAIL_USER:-} | |||
MAIL_PWD: ${MAIL_PWD:-} | |||
MAIL_ADDRESS: ${MAIL_ADDRESS:-} | |||
MAIL_NAME: ${MAIL_NAME:-} | |||
SERVER_PORT: ${SERVER_PORT:-3000} | |||
SERVER_LISTEN: ${SERVER_LISTEN:-0.0.0.0} | |||
SERVER_HOST: ${SERVER_HOST:-http://localhost:8080} | |||
ADMIN_MAIL: ${ADMIN_MAIL:-} | |||
depends_on: | |||
- mongo | |||
client: | |||
image: sim-client:${VERSION} | |||
ports: | |||
- 127.0.0.1:27017:27017 | |||
- 80:80 | |||
depends_on: | |||
- server |
@@ -0,0 +1,26 @@ | |||
VERSION=0.9.1 | |||
SYSTEM_NAME='Turnen Auf Zeit' | |||
#DB_USER='root' | |||
#DB_PWD='TurnenAufZeit' | |||
#DB_HOST='mongo' | |||
#DB_PORT=27017 | |||
#DB_SOURCE='admin' | |||
#DB_DB='TurnenAufZeit' | |||
MAIL_HOST='' | |||
MAIL_PORT=25 | |||
MAIL_SECURE=false | |||
MAIL_USER='' | |||
MAIL_PWD='' | |||
MAIL_ADDRESS='' | |||
MAIL_NAME='' | |||
#SERVER_PORT=3000 | |||
#SERVER_LISTEN='0.0.0.0' | |||
#SERVER_HOST='http://localhost:8080' | |||
GRAPHQL_SERVER='ws://localhost:3000/graphql' | |||
ADMIN_MAIL='' |
@@ -0,0 +1,29 @@ | |||
FROM node:14.17.5-alpine3.14 | |||
ARG VERSION | |||
ADD https://git.it-kimmig.de/akimmig/TurnenAufZeit/archive/v${VERSION}.zip /tmp.zip | |||
RUN set -eux; \ | |||
unzip -q /tmp.zip -d /; \ | |||
rm -f /tmp.zip; | |||
WORKDIR /turnenaufzeit/server | |||
RUN npm install; | |||
RUN apk update; \ | |||
apk add openssh-keygen; \ | |||
apk add openssl; \ | |||
mkdir -p assets/keys; \ | |||
cd assets/keys; \ | |||
ssh-keygen -t rsa -b 4096 -f ./jwt.key -m pem; \ | |||
openssl rsa -in ./jwt.key -pubout -out ./jwt.key.pub; | |||
EXPOSE 3000 | |||
ADD ./entry.sh / | |||
ENTRYPOINT [ "/bin/sh", "/entry.sh" ] | |||
CMD npm run start |
@@ -0,0 +1,33 @@ | |||
#!/bin/sh | |||
cd /turnenaufzeit/server | |||
echo "export const SYSTEMname = '$SYSTEM_NAME';" > src/env.ts | |||
echo "export const DBuser = '$DB_USER';" >> src/env.ts | |||
echo "export const DBpwd = '$DB_PWD';" >> src/env.ts | |||
echo "export const DBhost = '$DB_HOST';" >> src/env.ts | |||
echo "export const DBport = $DB_PORT;" >> src/env.ts | |||
echo "export const DBsource = '$DB_SOURCE';" >> src/env.ts | |||
echo "export const DBdb = '$DB_DB';" >> src/env.ts | |||
echo "export const MAILhost = '$MAIL_HOST';" >> src/env.ts | |||
echo "export const MAILport = $MAIL_PORT;" >> src/env.ts | |||
echo "export const MAILsecure = $MAIL_SECURE;" >> src/env.ts | |||
echo "export const MAILuser = '$MAIL_USER';" >> src/env.ts | |||
echo "export const MAILpwd = '$MAIL_PWD';" >> src/env.ts | |||
echo "export const MAILaddress = '$MAIL_ADDRESS';" >> src/env.ts | |||
echo "export const MAILname = '$MAIL_NAME';" >> src/env.ts | |||
echo "export const SERVERport = $SERVER_PORT;" >> src/env.ts | |||
echo "export const SERVERlisten = '$SERVER_LISTEN';" >> src/env.ts | |||
echo "export const SERVERhost = '$SERVER_HOST';" >> src/env.ts | |||
echo "export const ADMINmail = '$ADMIN_MAIL';" >> src/env.ts | |||
if [ "$MAIL_HOST" = "" ] || [ "$MAIL_HOST" = "nomail" ]; then | |||
echo "no mail specified! exiting..." | |||
exit | |||
fi | |||
exec "$@" |