diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 97cdb3155..0235f5053 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -57,6 +57,20 @@ services: - external-net volumes: - /sessions + + ######################################################### + ## skeema for updating dbs if changes happend ########### + ######################################################### + skeema: + build: + context: . + dockerfile: ./skeema/Dockerfile + target: skeema_run + container_name: skeema + depends_on: + - mariadb + networks: + - internal-net volumes: frontend_node_modules: diff --git a/mariadb/Dockerfile b/mariadb/Dockerfile index ef2f35a46..526ebf250 100644 --- a/mariadb/Dockerfile +++ b/mariadb/Dockerfile @@ -1,29 +1,12 @@ -######################################################################################################### -# Build skeema -######################################################################################################### -FROM golang:1.14.4 as skeema_build -RUN go get -d -v github.com/skeema/skeema -WORKDIR /go/src/github.com/skeema/skeema -RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o /go/bin/skeema . - ######################################################################################################### # mariadb server ######################################################################################################### From mariadb/server:10.5 as mariadb_server ENV DOCKER_WORKDIR="/docker-entrypoint-initdb.d" -#ENV DOCKER_WORKDIR="/skeema" - -# copy skeema -#COPY --from=skeema_build /go/bin/skeema /usr/bin/ RUN mkdir -p ${DOCKER_WORKDIR} WORKDIR ${DOCKER_WORKDIR} -#COPY ./mariadb/.skeema . -#COPY ./login_server/skeema/ . -#COPY ./mariadb/.skeema.login ./gradido_login/.skeema -#COPY ./community_server/skeema/ . -#RUN for f in *.c; do cp -- "$f" "$OTHERDIR/old#$f"; done # create databases COPY ./mariadb/setup_dbs.sql a_setup_dbs.sql @@ -35,52 +18,3 @@ COPY ./community_server/skeema/ . RUN cd ./gradido_community/ && for f in *.sql; do cp -- "$f" "../d_$f"; sed -i '1i use gradido_community;' "../d_$f"; done RUN cd ./gradido_community/insert && for f in *.sql; do cp -- "$f" "../../e_$f"; sed -i '1i use gradido_community;' "../../e_$f"; done -RUN ls -ls - - -#USER mysql -#VOLUME /var/lib/mysql -#RUN mysqld -#RUN mysql -e 'CREATE DATABASE gradido_login_server;' -#RUN mysql -e 'CREATE DATABASE gradido_community_server;' - - -#RUN skeema push - -######################################################################################################### -# mariadb server selfmade -######################################################################################################### -From alpine:latest as mariadb_DIV - -ENV DOCKER_WORKDIR="/skeema" - -#VOLUME /var/lib/mysql - -#RUN apt-get update \ -# && apt-get -y --no-install-recommends install mariadb-server mariadb-client \ -# && apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* -RUN apk add mariadb mariadb-client - -# copy skeema -COPY --from=skeema_build /go/bin/skeema /usr/bin/ - -RUN mkdir -p ${DOCKER_WORKDIR} -WORKDIR ${DOCKER_WORKDIR} - -COPY ./mariadb/setup_dbs.sh . -COPY ./mariadb/.skeema . -COPY ./login_server/skeema/ . -COPY ./mariadb/.skeema.login ./gradido_login/.skeema -COPY ./community_server/skeema/ . -COPY ./mariadb/.skeema.community ./gradido_community/.skeema - -USER mysql -#VOLUME /var/lib/mysql -#RUN mysqld -#RUN chmod +x ./setup_dbs.sh -#RUN mysql < setup_dbs.sql -#RUN skeema push - -#EXPOSE 3306 - -#CMD ["mysld"] \ No newline at end of file diff --git a/skeema/.skeema b/skeema/.skeema new file mode 100644 index 000000000..dc87968d6 --- /dev/null +++ b/skeema/.skeema @@ -0,0 +1,5 @@ +[production] +flavor=mariadb:10.5 +host=mariadb +port=3306 +user=root \ No newline at end of file diff --git a/skeema/Dockerfile b/skeema/Dockerfile new file mode 100644 index 000000000..8c921ba23 --- /dev/null +++ b/skeema/Dockerfile @@ -0,0 +1,28 @@ +######################################################################################################### +# Build skeema +######################################################################################################### +FROM golang:1.14.4 as skeema_build +RUN go get -d -v github.com/skeema/skeema +WORKDIR /go/src/github.com/skeema/skeema +RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o /go/bin/skeema . + +######################################################################################################### +# Run skeema +######################################################################################################### +From alpine:latest as skeema_run + +ENV DOCKER_WORKDIR="/skeema" + +# copy skeema +COPY --from=skeema_build /go/bin/skeema /usr/bin/ + +RUN mkdir -p ${DOCKER_WORKDIR} +WORKDIR ${DOCKER_WORKDIR} + +COPY ./skeema/.skeema . +COPY ./login_server/skeema/ . +COPY ./mariadb/.skeema.login ./gradido_login/.skeema +COPY ./community_server/skeema/ . +COPY ./mariadb/.skeema.community ./gradido_community/.skeema + +CMD skeema push \ No newline at end of file