# Conflicts:
#	.github/workflows/publish.yml
#	branding/constants/links.js
#	branding/constants/metadata.js
#	package.json
This commit is contained in:
Wolfgang Huß 2021-06-07 21:22:52 +02:00
commit fe0cdecffc
19 changed files with 285 additions and 28 deletions

View File

@ -1,11 +1,10 @@
name: ocelot.social publish branded CI
# on:
# push:
# branches:
# - master
# Wolle
on: [push] # for testing while developing
on:
push:
branches:
- master
- wir-social # for testing while developing
jobs:
##############################################################################
@ -42,7 +41,7 @@ jobs:
##########################################################################
- name: Neo4j | Build `community-branded` image
run: |
docker build --target community-branded -t "${DOCKER_ORGANISATION}/neo4j-community-branded:latest" -t "${DOCKER_ORGANISATION}/neo4j-community-branded:${VERSION}" -t "${DOCKER_ORGANISATION}/neo4j-community-branded:${BUILD_VERSION}" -f docker/neo4j.Dockerfile --build-arg APP_IMAGE=ocelotsocialnetwork/neo4j:${OCELOT_DOCKER_VERSION_TAG} .
docker build --target community-branded -t "${DOCKER_ORGANISATION}/neo4j-community-branded:latest" -t "${DOCKER_ORGANISATION}/neo4j-community-branded:${VERSION}" -t "${DOCKER_ORGANISATION}/neo4j-community-branded:${BUILD_VERSION}" -f docker/neo4j.Dockerfile --build-arg "APP_IMAGE_TAG=${OCELOT_DOCKER_VERSION_TAG}" .
docker save "${DOCKER_ORGANISATION}/neo4j-community-branded" > /tmp/neo4j-community-branded.tar
- name: Upload Artifact
uses: actions/upload-artifact@v2
@ -82,9 +81,9 @@ jobs:
##########################################################################
# BUILD BACKEND DOCKER IMAGE (branded) ################################
##########################################################################
- name: backend | Build `branded` image
- name: Backend | Build `branded` image
run: |
docker build --target branded -t "${DOCKER_ORGANISATION}/backend-branded:latest" -t "${DOCKER_ORGANISATION}/backend-branded:${VERSION}" -t "${DOCKER_ORGANISATION}/backend-branded:${BUILD_VERSION}" -f docker/backend.Dockerfile --build-arg APP_IMAGE=ocelotsocialnetwork/backend:${OCELOT_DOCKER_VERSION_TAG} .
docker build --target branded -t "${DOCKER_ORGANISATION}/backend-branded:latest" -t "${DOCKER_ORGANISATION}/backend-branded:${VERSION}" -t "${DOCKER_ORGANISATION}/backend-branded:${BUILD_VERSION}" -f docker/backend.Dockerfile --build-arg "APP_IMAGE_TAG_CODE=${OCELOT_DOCKER_VERSION_TAG}-code" --build-arg "APP_IMAGE_TAG_BASE=${OCELOT_DOCKER_VERSION_TAG}-base" .
docker save "${DOCKER_ORGANISATION}/backend-branded" > /tmp/backend-branded.tar
- name: Upload Artifact
uses: actions/upload-artifact@v2
@ -124,9 +123,9 @@ jobs:
##########################################################################
# BUILD WEBAPP DOCKER IMAGE (build) ######################################
##########################################################################
- name: webapp | Build `branded` image
- name: Webapp | Build `branded` image
run: |
docker build --target branded -t "${DOCKER_ORGANISATION}/webapp-branded:latest" -t "${DOCKER_ORGANISATION}/webapp-branded:${VERSION}" -t "${DOCKER_ORGANISATION}/webapp-branded:${BUILD_VERSION}" -f docker/webapp.Dockerfile --build-arg APP_IMAGE=ocelotsocialnetwork/webapp:${OCELOT_DOCKER_VERSION_TAG} .
docker build --target branded -t "${DOCKER_ORGANISATION}/webapp-branded:latest" -t "${DOCKER_ORGANISATION}/webapp-branded:${VERSION}" -t "${DOCKER_ORGANISATION}/webapp-branded:${BUILD_VERSION}" -f docker/webapp.Dockerfile --build-arg "APP_IMAGE_TAG_CODE=${OCELOT_DOCKER_VERSION_TAG}-code" --build-arg "APP_IMAGE_TAG_BASE=${OCELOT_DOCKER_VERSION_TAG}-base" .
docker save "${DOCKER_ORGANISATION}/webapp-branded" > /tmp/webapp-branded.tar
- name: Upload Artifact
uses: actions/upload-artifact@v2
@ -166,9 +165,9 @@ jobs:
##########################################################################
# BUILD MAINTENANCE DOCKER IMAGE (build) #################################
##########################################################################
- name: maintenance | Build `branded` image
- name: Maintenance | Build `branded` image
run: |
docker build --target branded -t "${DOCKER_ORGANISATION}/maintenance-branded:latest" -t "${DOCKER_ORGANISATION}/maintenance-branded:${VERSION}" -t "${DOCKER_ORGANISATION}/maintenance-branded:${BUILD_VERSION}" -f docker/maintenance.Dockerfile --build-arg APP_IMAGE=ocelotsocialnetwork/maintenance:${OCELOT_DOCKER_VERSION_TAG} .
docker build --target branded -t "${DOCKER_ORGANISATION}/maintenance-branded:latest" -t "${DOCKER_ORGANISATION}/maintenance-branded:${VERSION}" -t "${DOCKER_ORGANISATION}/maintenance-branded:${BUILD_VERSION}" -f docker/maintenance.Dockerfile --build-arg "APP_IMAGE_TAG_CODE=${OCELOT_DOCKER_VERSION_TAG}-code" --build-arg "APP_IMAGE_TAG_BASE=${OCELOT_DOCKER_VERSION_TAG}-base" .
docker save "${DOCKER_ORGANISATION}/maintenance-branded" > /tmp/maintenance-branded.tar
- name: Upload Artifact
uses: actions/upload-artifact@v2

View File

@ -0,0 +1,5 @@
<!-- this file is replaced on rebranding -->
<p>Ich bin der Inhalt vom Verhaltenskodex</p>
<br>
<p>Neu gebrandet …</p>

View File

@ -0,0 +1,5 @@
<!-- this file is replaced on rebranding -->
<p>Das hier wäre der Inhalt der Datenschutzbestimmungen</p>
<br>
<p>Neu gebrandet …</p>

View File

@ -0,0 +1,5 @@
<!-- this file is replaced on rebranding -->
<p>Hier stehen die FAQs</p>
<br>
<p>Neu gebrandet …</p>

View File

@ -0,0 +1,5 @@
<!-- this file is replaced on rebranding -->
<p>Ich bin das Impressum</p>
<br>
<p>Neu gebrandet …</p>

View File

@ -0,0 +1,5 @@
<!-- this file is replaced on rebranding -->
<p>Ich bin der Inhalt der Seite "Nutzungsbedingungen"</p>
<br>
<p>Neu gebrandet …</p>

View File

@ -0,0 +1,5 @@
<!-- this file is replaced on rebranding -->
<p>I am the content of the code of conduct</p>
<br>
<p>Rebranded …</p>

View File

@ -0,0 +1,5 @@
<!-- this file is replaced on rebranding -->
<p>This would be our data privacy section</p>
<br>
<p>Rebranded …</p>

View File

@ -0,0 +1,5 @@
<!-- this file is replaced on rebranding -->
<p>Here are the FAQs</p>
<br>
<p>Rebranded …</p>

View File

@ -0,0 +1,5 @@
<!-- this file is replaced on rebranding -->
<p>I am the imprint</p>
<br>
<p>Rebranded …</p>

View File

@ -0,0 +1,5 @@
<!-- this file is replaced on rebranding -->
<p>I am the content of the page "terms and conditions"<p>
<br>
<p>Rebranded …</p>

View File

@ -20,7 +20,7 @@ BACKEND:
SMTP_PASSWORD: "devops@ocelot.social"
SMTP_PORT: "465"
SMTP_IGNORE_TLS: 'true'
SMTP_SECURE: 'false'
SMTP_SECURE: 'false' # true for 465, false for other ports
# most likely you don't need to change this
MIN_READY_SECONDS: "15"

View File

@ -0,0 +1,80 @@
# This docker-compose file is just here for testing
version: "3.4"
services:
########################################################
# WEBAPP ###############################################
########################################################
webapp:
image: ocelotsocialnetwork/webapp-branded:latest
ports:
- 3000:3000
networks:
- test-network
depends_on:
- backend
environment:
- HOST=0.0.0.0
- GRAPHQL_URI=http://backend:4000
- MAPBOX_TOKEN="pk.eyJ1IjoiYnVzZmFrdG9yIiwiYSI6ImNraDNiM3JxcDBhaWQydG1uczhpZWtpOW4ifQ.7TNRTO-o9aK1Y6MyW_Nd4g"
- WEBSOCKETS_URI=${WEBSOCKETS_URI}
- PUBLIC_REGISTRATION=true
########################################################
# BACKEND ##############################################
########################################################
backend:
image: ocelotsocialnetwork/backend-branded:latest
networks:
- test-network
depends_on:
- neo4j
ports:
- 4000:4000
environment:
- NEO4J_URI=bolt://neo4j:7687
- GRAPHQL_URI=http://backend:4000
- CLIENT_URI=http://localhost:3000
- JWT_SECRET=b/&&7b78BF&fv/Vd
- MAPBOX_TOKEN=pk.eyJ1IjoiYnVzZmFrdG9yIiwiYSI6ImNraDNiM3JxcDBhaWQydG1uczhpZWtpOW4ifQ.7TNRTO-o9aK1Y6MyW_Nd4g
- PRIVATE_KEY_PASSPHRASE=a7dsf78sadg87ad87sfagsadg78
- EMAIL_SUPPORT=support@wir.social
- EMAIL_DEFAULT_SENDER=info@wir.social
- PUBLIC_REGISTRATION=true
- SMTP_USERNAME=${SMTP_USERNAME}
- SMTP_PASSWORD=${SMTP_PASSWORD}
- SMTP_HOST=mailserver
- SMTP_PORT=25
- SMTP_IGNORE_TLS=true
########################################################
# NEO4J ################################################
########################################################
neo4j:
image: ocelotsocialnetwork/neo4j-community-branded:latest
networks:
- test-network
environment:
- NEO4J_AUTH=none
- NEO4J_dbms_security_procedures_unrestricted=algo.*,apoc.*
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
ports:
- 7687:7687
########################################################
# MAINTENANCE ##########################################
########################################################
maintenance:
image: ocelotsocialnetwork/maintenance-branded:latest
networks:
- test-network
ports:
- 5000:80
########################################################
# MAILSERVER TO FAKE SMTP ##############################
########################################################
mailserver:
image: djfarrelly/maildev
ports:
- 1080:80
networks:
- test-network
networks:
test-network:

View File

@ -2,6 +2,9 @@
version: "3.4"
services:
########################################################
# WEBAPP ###############################################
########################################################
webapp:
build:
dockerfile: docker/webapp.Dockerfile
@ -19,6 +22,9 @@ services:
- MAPBOX_TOKEN="pk.eyJ1IjoiYnVzZmFrdG9yIiwiYSI6ImNraDNiM3JxcDBhaWQydG1uczhpZWtpOW4ifQ.7TNRTO-o9aK1Y6MyW_Nd4g"
- WEBSOCKETS_URI=${WEBSOCKETS_URI}
- PUBLIC_REGISTRATION=true
########################################################
# BACKEND ##############################################
########################################################
backend:
build:
dockerfile: docker/backend.Dockerfile
@ -45,6 +51,9 @@ services:
- SMTP_HOST=mailserver
- SMTP_PORT=25
- SMTP_IGNORE_TLS=true
########################################################
# NEO4J ################################################
########################################################
neo4j:
image: ocelotsocialnetwork/neo4j:community
networks:
@ -55,6 +64,22 @@ services:
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
ports:
- 7687:7687
########################################################
# MAINTENANCE ##########################################
########################################################
maintenance:
build:
# TODO: Separate from webapp, this must be independent
dockerfile: docker/maintenance.Dockerfile
target: branded
context: .
networks:
- test-network
ports:
- 5000:80
########################################################
# MAILSERVER TO FAKE SMTP ##############################
########################################################
mailserver:
image: djfarrelly/maildev
ports:

View File

@ -1,10 +1,44 @@
ARG APP_IMAGE=ocelotsocialnetwork/backend
ARG APP_IMAGE_TAG_BASE=latest-base
ARG APP_IMAGE_TAG_CODE=latest-code
ARG APP_IMAGE_BASE=${APP_IMAGE}:${APP_IMAGE_TAG_BASE}
ARG APP_IMAGE_CODE=${APP_IMAGE}:${APP_IMAGE_TAG_CODE}
##################################################################################
# BRANDED ########################################################################
# CODE (branded) #################################################################
##################################################################################
ARG APP_IMAGE=ocelotsocialnetwork/backend:latest
FROM $APP_IMAGE as branded
FROM $APP_IMAGE_CODE as code
# copy public constants into the Docker image to brand it
COPY branding/constants/links.js src/config/
COPY branding/constants/logos.js src/config/
COPY branding/constants/metadata.js src/config/
##################################################################################
# BUILD ##########################################################################
##################################################################################
FROM code as build
# yarn install
RUN yarn install --production=false --frozen-lockfile --non-interactive
# yarn build
RUN yarn run build
##################################################################################
# BRANDED (Does contain only "binary"- and static-files to reduce image size) ####
##################################################################################
FROM $APP_IMAGE_BASE as branded
# TODO - do all copying with one COPY command to have one layer
# Copy "binary"-files from build image
COPY --from=build ${DOCKER_WORKDIR}/dist ./dist
COPY --from=build ${DOCKER_WORKDIR}/node_modules ./node_modules
# Copy static files # Wolle comment overfluid here?
# TODO - externalize the uploads so we can copy the whole folder
COPY --from=build ${DOCKER_WORKDIR}/public/img/ ./public/img/
COPY --from=build ${DOCKER_WORKDIR}/public/providers.json ./public/providers.json
# Copy package.json for script definitions (lock file should not be needed)
COPY --from=build ${DOCKER_WORKDIR}/package.json ./package.json
# Run command
CMD /bin/sh -c "yarn run start"

View File

@ -1,9 +1,37 @@
ARG APP_IMAGE=ocelotsocialnetwork/maintenance
ARG APP_IMAGE_TAG_BASE=latest-base
ARG APP_IMAGE_TAG_CODE=latest-code
ARG APP_IMAGE_BASE=${APP_IMAGE}:${APP_IMAGE_TAG_BASE}
ARG APP_IMAGE_CODE=${APP_IMAGE}:${APP_IMAGE_TAG_CODE}
##################################################################################
# BRANDED ########################################################################
# CODE (branded) #################################################################
##################################################################################
ARG APP_IMAGE=ocelotsocialnetwork/maintenance:latest
FROM $APP_IMAGE as branded
FROM $APP_IMAGE_CODE as code
# copy public constants into the Docker image to brand it
COPY branding/static/ static/
COPY branding/constants/ constants/
COPY branding/locales/ locales/
##################################################################################
# BUILD ##########################################################################
##################################################################################
FROM code as build
# yarn install
## unnicely done in $APP_IMAGE_CODE at the moment, see main repo
# RUN yarn install --production=false --frozen-lockfile --non-interactive
# yarn generate
RUN yarn run generate
##################################################################################
# BRANDED ### TODO # TODO # TODO # TODO # TODO # TODO # TODO # TODO # TODO ####
##################################################################################
# FROM $APP_IMAGE_BASE as branded
FROM nginx:alpine as branded
COPY --from=build ./app/dist/ /usr/share/nginx/html/
RUN rm /etc/nginx/conf.d/default.conf
COPY --from=code ./app/maintenance/nginx/custom.conf /etc/nginx/conf.d/

View File

@ -1,9 +1,11 @@
ARG APP_IMAGE=ocelotsocialnetwork/neo4j:latest
ARG APP_IMAGE=ocelotsocialnetwork/neo4j
ARG APP_IMAGE_TAG=latest
ARG APP_IMAGE_COMMUNITY=${APP_IMAGE}:${APP_IMAGE_TAG}
##################################################################################
# COMMUNITY ######################################################################
##################################################################################
FROM $APP_IMAGE as community-branded
FROM $APP_IMAGE_COMMUNITY as community-branded
##################################################################################
# ENTERPRISE #####################################################################

View File

@ -1,9 +1,48 @@
ARG APP_IMAGE=ocelotsocialnetwork/webapp
ARG APP_IMAGE_TAG_BASE=latest-base
ARG APP_IMAGE_TAG_CODE=latest-code
ARG APP_IMAGE_BASE=${APP_IMAGE}:${APP_IMAGE_TAG_BASE}
ARG APP_IMAGE_CODE=${APP_IMAGE}:${APP_IMAGE_TAG_CODE}
##################################################################################
# BRANDED ########################################################################
# CODE (branded) #################################################################
##################################################################################
ARG APP_IMAGE=ocelotsocialnetwork/webapp:latest
FROM $APP_IMAGE as branded
FROM $APP_IMAGE_CODE as code
# copy public constants into the Docker image to brand it
COPY branding/static/ static/
COPY branding/constants/ constants/
COPY branding/locales/ locales/
##################################################################################
# BUILD ##########################################################################
##################################################################################
FROM code as build
# yarn install
RUN yarn install --production=false --frozen-lockfile --non-interactive
# yarn build
RUN yarn run build
##################################################################################
# BRANDED (Does contain only "binary"- and static-files to reduce image size) ####
##################################################################################
FROM $APP_IMAGE_BASE as branded
# TODO - do all copying with one COPY command to have one layer
# Copy "binary"-files from build image
COPY --from=build ${DOCKER_WORKDIR}/.nuxt ./.nuxt
COPY --from=build ${DOCKER_WORKDIR}/node_modules ./node_modules
COPY --from=build ${DOCKER_WORKDIR}/nuxt.config.js ./nuxt.config.js
# Copy static files
# TODO - this seems not be needed anymore for the new rebranding
# TODO - this should be one Folder containign all stuff needed to be copied
COPY --from=build ${DOCKER_WORKDIR}/config/ ./config/
COPY --from=build ${DOCKER_WORKDIR}/constants ./constants
COPY --from=build ${DOCKER_WORKDIR}/static ./static
COPY --from=build ${DOCKER_WORKDIR}/locales ./locales
# Copy package.json for script definitions (lock file should not be needed)
COPY --from=build ${DOCKER_WORKDIR}/package.json ./package.json
# Run command
CMD /bin/sh -c "yarn run start"

View File

@ -1,9 +1,9 @@
{
"name": "wir.social",
"version": "1.0.3",
"ocelotDockerVersionTag": "1.0.3-82",
"ocelotDockerVersionTag": "1.0.3-97",
"dockerOrganisation": "wirsocial",
"description": "wir.social ocelot.social Network",
"description": "wir.social Network driven by ocelot.social",
"author": "ocelot.social Community",
"license": "MIT",
"private": false,