adding my stuff for login_server and community_server

This commit is contained in:
einhornimmond 2021-02-16 14:23:53 +01:00
parent ed53ee7cf4
commit 46daa8fc8a
5 changed files with 269 additions and 245 deletions

@ -1 +1 @@
Subproject commit 9fa87aac2053af28c5efaf57148461d8a8c85195
Subproject commit 912c1f4d11f30bd5671c7e512fff02602c5d91b4

View File

@ -1,48 +1,61 @@
version: "3.4"
services:
########################################################
# FRONTEND #############################################
########################################################
frontend:
image: gradido/frontend:development
build:
target: development
environment:
- NODE_ENV="development"
# - DEBUG=true
- NUXT_BUILD=/tmp/nuxt # avoid file permission issues when `rm -rf .nuxt/`
volumes:
# This makes sure the docker container has its own node modules.
# Therefore it is possible to have a different node version on the host machine
- frontend_node_modules:/app/node_modules
# bind the local folder to the docker to allow live reload
- ./frontend:/app
########################################################
# BACKEND ##############################################
########################################################
## login server
login-server:
build:
target: login_server_debug
#backend:
# image: ocelotsocialnetwork/backend:development
# build:
# target: development
# environment:
# - NODE_ENV="development"
# - DEBUG=true
# volumes:
# # This makes sure the docker container has its own node modules.
# # Therefore it is possible to have a different node version on the host machine
# - backend_node_modules:/app/node_modules
# # bind the local folder to the docker to allow live reload
# - ./backend:/app
volumes:
frontend_node_modules:
version: "3.4"
services:
########################################################
# FRONTEND #############################################
########################################################
frontend:
image: gradido/frontend:development
build:
target: development
environment:
- NODE_ENV="development"
# - DEBUG=true
- NUXT_BUILD=/tmp/nuxt # avoid file permission issues when `rm -rf .nuxt/`
volumes:
# This makes sure the docker container has its own node modules.
# Therefore it is possible to have a different node version on the host machine
- frontend_node_modules:/app/node_modules
# bind the local folder to the docker to allow live reload
- ./frontend:/app
########################################################
# BACKEND ##############################################
########################################################
## login server
login-server:
build:
context: ./login_server/
target: login_server_debug
security_opt:
- seccomp:unconfined
#cap-add:SYS_PTRACE
depends_on:
- mariadb
networks:
- internal-net
ports:
- 1200:1200
- 1201:1201
volumes:
- ./configs/login_server:/etc/grd_login
- ./logs:/var/log/grd_login
# image: ocelotsocialnetwork/backend:development
# build:
# target: development
# environment:
# - NODE_ENV="development"
# - DEBUG=true
# volumes:
# # This makes sure the docker container has its own node modules.
# # Therefore it is possible to have a different node version on the host machine
# - backend_node_modules:/app/node_modules
# # bind the local folder to the docker to allow live reload
# - ./backend:/app
volumes:
frontend_node_modules:
# backend_node_modules:

View File

@ -1,123 +1,123 @@
# This file defines the production settings. It is overwritten by docker-compose.override.yml,
# which defines the development settings. The override.yml is loaded by default. Therefore it
# is required to explicitly define if you want an production build:
# > docker-compose -f docker-compose.yml up
version: "3.4"
services:
########################################################
# FRONTEND #############################################
########################################################
frontend:
image: gradido/frontend:latest
build:
context: ./frontend
target: production
networks:
- external-net
#depends_on:
# - backend
ports:
- 8080:8080
environment:
# Envs used in Dockerfile
# - DOCKER_WORKDIR="/app"
# - PORT="8080"
- BUILD_DATE
- BUILD_VERSION
- BUILD_COMMIT
- NODE_ENV="production"
# Application only envs
#- HOST=0.0.0.0 # This is nuxt specific, alternative value is HOST=webapp
#env_file:
# - ./frontend/.env
#########################################################
## BACKEND ##############################################
#########################################################
## mariadb
mariadb:
build:
context: .
dockerfile: ./mariadb/Dockerfile
target: mariadb_DIV
environment:
- MARIADB_ALLOW_EMPTY_PASSWORD=1
- MARIADB_USER='root'
- MARIADB_DATABASE='gradido_login'
networks:
- internal-net
ports:
- 3306:3306
volumes:
- db_vol:/var/lib/mysql
## login server
login-server:
build:
context: ./login_server/
target: login_server
depends_on:
- mariadb
networks:
- internal-net
ports:
- 1200:1200
- 1201:1201
volumes:
- ./configs/login_server:/etc/grd_login
## community server (cakephp with php-fpm and nginx)
community-server:
build:
context: ./community_server/
environment:
- DB_PASSWORD=''
- DB_USER='root'
- DB_DATABASE='gradido_community'
depends_on:
- mariadb
ports:
- 80:80
networks:
- internal-net
- external-net
#backend:
# image: ocelotsocialnetwork/backend:latest
# build:
# context: ./backend
# target: production
# networks:
# - external-net
# - internal-net
# depends_on:
# - neo4j
# ports:
# - 4000:4000
# volumes:
# - backend_uploads:/app/public/uploads
# environment:
# # Envs used in Dockerfile
# # - DOCKER_WORKDIR="/app"
# # - PORT="4000"
# - BUILD_DATE
# - BUILD_VERSION
# - BUILD_COMMIT
# - NODE_ENV="production"
# # Application only envs
# - DEBUG=false
# - NEO4J_URI=bolt://neo4j:7687
# - GRAPHQL_URI=http://backend:4000
# - CLIENT_URI=http://webapp:3000
# env_file:
# - ./backend/.env
networks:
external-net:
internal-net:
internal: true
volumes:
# This file defines the production settings. It is overwritten by docker-compose.override.yml,
# which defines the development settings. The override.yml is loaded by default. Therefore it
# is required to explicitly define if you want an production build:
# > docker-compose -f docker-compose.yml up
version: "3.4"
services:
########################################################
# FRONTEND #############################################
########################################################
frontend:
image: gradido/frontend:latest
build:
context: ./frontend
target: production
networks:
- external-net
#depends_on:
# - backend
ports:
- 8080:8080
environment:
# Envs used in Dockerfile
# - DOCKER_WORKDIR="/app"
# - PORT="8080"
- BUILD_DATE
- BUILD_VERSION
- BUILD_COMMIT
- NODE_ENV="production"
# Application only envs
#- HOST=0.0.0.0 # This is nuxt specific, alternative value is HOST=webapp
#env_file:
# - ./frontend/.env
#########################################################
## BACKEND ##############################################
#########################################################
## mariadb
mariadb:
build:
context: .
dockerfile: ./mariadb/Dockerfile
target: mariadb_server
environment:
- MARIADB_ALLOW_EMPTY_PASSWORD=1
- MARIADB_USER='root'
- MARIADB_DATABASE='gradido_login'
networks:
- internal-net
ports:
- 3306:3306
volumes:
- db_vol:/var/lib/mysql
## login server
login-server:
build:
context: ./login_server/
target: login_server
depends_on:
- mariadb
networks:
- internal-net
ports:
- 1200:1200
- 1201:1201
volumes:
- ./configs/login_server:/etc/grd_login
## community server (cakephp with php-fpm and nginx)
community-server:
build:
context: ./community_server/
environment:
- DB_PASSWORD=''
- DB_USER='root'
- DB_DATABASE='gradido_community'
depends_on:
- mariadb
ports:
- 80:80
networks:
- internal-net
- external-net
#backend:
# image: ocelotsocialnetwork/backend:latest
# build:
# context: ./backend
# target: production
# networks:
# - external-net
# - internal-net
# depends_on:
# - neo4j
# ports:
# - 4000:4000
# volumes:
# - backend_uploads:/app/public/uploads
# environment:
# # Envs used in Dockerfile
# # - DOCKER_WORKDIR="/app"
# # - PORT="4000"
# - BUILD_DATE
# - BUILD_VERSION
# - BUILD_COMMIT
# - NODE_ENV="production"
# # Application only envs
# - DEBUG=false
# - NEO4J_URI=bolt://neo4j:7687
# - GRAPHQL_URI=http://backend:4000
# - CLIENT_URI=http://webapp:3000
# env_file:
# - ./backend/.env
networks:
external-net:
internal-net:
internal: true
volumes:
db_vol:

@ -1 +1 @@
Subproject commit 75c672369f10423a916421c82eb987a8205a376c
Subproject commit fa936dbc80860472a5cbc3d877cf130a0be916b3

View File

@ -1,74 +1,85 @@
#########################################################################################################
# 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/ .
#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"
#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"]
#########################################################################################################
# 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
# login server db
COPY ./login_server/skeema/ .
RUN cd ./gradido_login/ && for f in *.sql; do cp -- "$f" "../b_$f"; done
# community server db
COPY ./community_server/skeema/ .
RUN cd ./gradido_community/ && for f in *.sql; do cp -- "$f" "../c_$f"; done
RUN cd ./gradido_community/insert && for f in *.sql; do cp -- "$f" "../../d_$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"]