mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
Merge pull request #15 from Ocelot-Social-Community/14-new-deployment-with-base-and-code
chore: [WIP] 🍰 New Deployment With 'base' And 'code' Docker Images
This commit is contained in:
commit
0babdfe8ec
28
.github/workflows/publish.yml
vendored
28
.github/workflows/publish.yml
vendored
@ -4,7 +4,7 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
# on: [push] # for testing while developing
|
||||
# - 14-new-deployment-with-base-and-code # for testing while developing
|
||||
|
||||
jobs:
|
||||
##############################################################################
|
||||
@ -31,7 +31,7 @@ jobs:
|
||||
run: echo "OCELOT_DOCKER_VERSION_TAG=$(node -p -e "require('./package.json').ocelotDockerVersionTag")" >> $GITHUB_ENV
|
||||
- name: ENV - DOCKER_ORGANISATION
|
||||
run: echo "DOCKER_ORGANISATION=$(node -p -e "require('./package.json').dockerOrganisation")" >> $GITHUB_ENV
|
||||
# this is oriented on the node docker version tag "node:12.19.0-alpine3.10" and looks like "app-branded:1.0.2-3-ocelot.social1.0.2-79"
|
||||
# this is based on the node Docker version tag "node:12.19.0-alpine3.10" and looks like "app-branded:1.0.2-3-ocelot.social1.0.2-79"
|
||||
- name: ENV - BUILD_VERSION
|
||||
run: echo "BUILD_VERSION=${VERSION}-${GITHUB_RUN_NUMBER}-ocelot.social${OCELOT_DOCKER_VERSION_TAG}" >> $GITHUB_ENV
|
||||
- name: ENV - BUILD_COMMIT
|
||||
@ -41,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
|
||||
@ -73,7 +73,7 @@ jobs:
|
||||
run: echo "OCELOT_DOCKER_VERSION_TAG=$(node -p -e "require('./package.json').ocelotDockerVersionTag")" >> $GITHUB_ENV
|
||||
- name: ENV - DOCKER_ORGANISATION
|
||||
run: echo "DOCKER_ORGANISATION=$(node -p -e "require('./package.json').dockerOrganisation")" >> $GITHUB_ENV
|
||||
# this is oriented on the node docker version tag "node:12.19.0-alpine3.10" and looks like "app-branded:1.0.2-3-ocelot.social1.0.2-79"
|
||||
# this is based on the node Docker version tag "node:12.19.0-alpine3.10" and looks like "app-branded:1.0.2-3-ocelot.social1.0.2-79"
|
||||
- name: ENV - BUILD_VERSION
|
||||
run: echo "BUILD_VERSION=${VERSION}-${GITHUB_RUN_NUMBER}-ocelot.social${OCELOT_DOCKER_VERSION_TAG}" >> $GITHUB_ENV
|
||||
- name: ENV - BUILD_COMMIT
|
||||
@ -81,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
|
||||
@ -115,7 +115,7 @@ jobs:
|
||||
run: echo "OCELOT_DOCKER_VERSION_TAG=$(node -p -e "require('./package.json').ocelotDockerVersionTag")" >> $GITHUB_ENV
|
||||
- name: ENV - DOCKER_ORGANISATION
|
||||
run: echo "DOCKER_ORGANISATION=$(node -p -e "require('./package.json').dockerOrganisation")" >> $GITHUB_ENV
|
||||
# this is oriented on the node docker version tag "node:12.19.0-alpine3.10" and looks like "app-branded:1.0.2-3-ocelot.social1.0.2-79"
|
||||
# this is based on the node Docker version tag "node:12.19.0-alpine3.10" and looks like "app-branded:1.0.2-3-ocelot.social1.0.2-79"
|
||||
- name: ENV - BUILD_VERSION
|
||||
run: echo "BUILD_VERSION=${VERSION}-${GITHUB_RUN_NUMBER}-ocelot.social${OCELOT_DOCKER_VERSION_TAG}" >> $GITHUB_ENV
|
||||
- name: ENV - BUILD_COMMIT
|
||||
@ -123,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
|
||||
@ -157,7 +157,7 @@ jobs:
|
||||
run: echo "OCELOT_DOCKER_VERSION_TAG=$(node -p -e "require('./package.json').ocelotDockerVersionTag")" >> $GITHUB_ENV
|
||||
- name: ENV - DOCKER_ORGANISATION
|
||||
run: echo "DOCKER_ORGANISATION=$(node -p -e "require('./package.json').dockerOrganisation")" >> $GITHUB_ENV
|
||||
# this is oriented on the node docker version tag "node:12.19.0-alpine3.10" and looks like "app-branded:1.0.2-3-ocelot.social1.0.2-79"
|
||||
# this is based on the node Docker version tag "node:12.19.0-alpine3.10" and looks like "app-branded:1.0.2-3-ocelot.social1.0.2-79"
|
||||
- name: ENV - BUILD_VERSION
|
||||
run: echo "BUILD_VERSION=${VERSION}-${GITHUB_RUN_NUMBER}-ocelot.social${OCELOT_DOCKER_VERSION_TAG}" >> $GITHUB_ENV
|
||||
- name: ENV - BUILD_COMMIT
|
||||
@ -165,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
|
||||
@ -202,7 +202,7 @@ jobs:
|
||||
run: echo "OCELOT_DOCKER_VERSION_TAG=$(node -p -e "require('./package.json').ocelotDockerVersionTag")" >> $GITHUB_ENV
|
||||
- name: ENV - DOCKER_ORGANISATION
|
||||
run: echo "DOCKER_ORGANISATION=$(node -p -e "require('./package.json').dockerOrganisation")" >> $GITHUB_ENV
|
||||
# this is oriented on the node docker version tag "node:12.19.0-alpine3.10" and looks like "app-branded:1.0.2-3-ocelot.social1.0.2-79"
|
||||
# this is based on the node Docker version tag "node:12.19.0-alpine3.10" and looks like "app-branded:1.0.2-3-ocelot.social1.0.2-79"
|
||||
- name: ENV - BUILD_VERSION
|
||||
run: echo "BUILD_VERSION=${VERSION}-${GITHUB_RUN_NUMBER}-ocelot.social${OCELOT_DOCKER_VERSION_TAG}" >> $GITHUB_ENV
|
||||
- name: ENV - BUILD_COMMIT
|
||||
@ -282,7 +282,7 @@ jobs:
|
||||
run: echo "OCELOT_DOCKER_VERSION_TAG=$(node -p -e "require('./package.json').ocelotDockerVersionTag")" >> $GITHUB_ENV
|
||||
- name: ENV - DOCKER_ORGANISATION
|
||||
run: echo "DOCKER_ORGANISATION=$(node -p -e "require('./package.json').dockerOrganisation")" >> $GITHUB_ENV
|
||||
# this is oriented on the node docker version tag "node:12.19.0-alpine3.10" and looks like "app-branded:1.0.2-3-ocelot.social1.0.2-79"
|
||||
# this is based on the node Docker version tag "node:12.19.0-alpine3.10" and looks like "app-branded:1.0.2-3-ocelot.social1.0.2-79"
|
||||
- name: ENV - BUILD_VERSION
|
||||
run: echo "BUILD_VERSION=${VERSION}-${GITHUB_RUN_NUMBER}-ocelot.social${OCELOT_DOCKER_VERSION_TAG}" >> $GITHUB_ENV
|
||||
- name: ENV - BUILD_COMMIT
|
||||
|
||||
@ -38,12 +38,12 @@ Afterwards you can [deploy](deployment/README.md) it on your server:
|
||||
|
||||
## Developer Chat
|
||||
|
||||
Join our friendly open-source community on [Discord](https://discordapp.com/invite/DFSjPaX) :heart_eyes_cat:
|
||||
Join our friendly open-source community on [Discord](https://discord.gg/AJSX9DCSUA) :heart_eyes_cat:
|
||||
Just introduce yourself at `#introduce-yourself` and mention `@@Mentor` to get you onboard :neckbeard:
|
||||
Check out the [contribution guideline](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/CONTRIBUTING.md), too!
|
||||
|
||||
We give write permissions to every developer who asks for it. Just text us on
|
||||
[Discord](https://discord.gg/6ub73U3).
|
||||
[Discord](https://discord.gg/AJSX9DCSUA).
|
||||
|
||||
## Technology Stack
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@ export default {
|
||||
ORGANIZATION: 'https://ocelot.social',
|
||||
SUPPORT: 'https://ocelot.social',
|
||||
|
||||
// on null or empty string internal imprint is used, see 'webapp/locales/html/'
|
||||
// on null or empty strings internal imprint is used, see 'webapp/locales/html/'
|
||||
DONATE: 'https://ocelot-social.herokuapp.com/donations', // we use 'ocelot-social.herokuapp.com' at the moment, because redirections of 'ocelot.social' subpages are not working correctly
|
||||
IMPRINT: 'https://ocelot-social.herokuapp.com/imprint', // we use 'ocelot-social.herokuapp.com' at the moment, because redirections of 'ocelot.social' subpages are not working correctly
|
||||
TERMS_AND_CONDITIONS: null,
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
// this file is duplicated in `backend/src/config/metadata.js` and `webapp/constants/metadata.js` and replaced on rebranding
|
||||
export default {
|
||||
APPLICATION_NAME: 'ocelot.social',
|
||||
APPLICATION_SHORT_NAME: 'ocelot',
|
||||
APPLICATION_SHORT_NAME: 'ocelot.social',
|
||||
APPLICATION_DESCRIPTION: 'Ocelot Social Community',
|
||||
COOKIE_NAME: 'ocelot-social-token',
|
||||
ORGANIZATION_NAME: 'busFaktor e.V.',
|
||||
ORGANIZATION_JURISDICTION: 'Somewhere',
|
||||
ORGANIZATION_JURISDICTION: 'Deutschland',
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<!-- this file is replaced on rebranding -->
|
||||
|
||||
<p>Ich bin der Inhalt vom Verhaltenskodex</p>
|
||||
|
||||
Neu gebrandet …
|
||||
<br>
|
||||
<p>Neu gebrandet …</p>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<!-- this file is replaced on rebranding -->
|
||||
|
||||
<p>Das hier wäre der Inhalt der Datenschutzbestimmungen</p>
|
||||
|
||||
Neu gebrandet …
|
||||
<br>
|
||||
<p>Neu gebrandet …</p>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<!-- this file is replaced on rebranding -->
|
||||
|
||||
<p>Hier stehen die FAQs</p>
|
||||
|
||||
Neu gebrandet …
|
||||
<br>
|
||||
<p>Neu gebrandet …</p>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<!-- this file is replaced on rebranding -->
|
||||
|
||||
<p>Ich bin das Impressum</p>
|
||||
|
||||
Neu gebrandet …
|
||||
<br>
|
||||
<p>Neu gebrandet …</p>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<!-- this file is replaced on rebranding -->
|
||||
|
||||
<p>Ich bin der Inhalt der Seite "Nutzungsbedingungen"</p>
|
||||
|
||||
Neu gebrandet …
|
||||
<br>
|
||||
<p>Neu gebrandet …</p>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<!-- this file is replaced on rebranding -->
|
||||
|
||||
<p>I am the content of the code of conduct</p>
|
||||
|
||||
Rebranded …
|
||||
<br>
|
||||
<p>Rebranded …</p>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<!-- this file is replaced on rebranding -->
|
||||
|
||||
<p>This would be our data privacy section</p>
|
||||
|
||||
Rebranded …
|
||||
<br>
|
||||
<p>Rebranded …</p>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<!-- this file is replaced on rebranding -->
|
||||
|
||||
<p>Here are the FAQs</p>
|
||||
|
||||
Rebranded …
|
||||
<br>
|
||||
<p>Rebranded …</p>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<!-- this file is replaced on rebranding -->
|
||||
|
||||
<p>I am the imprint</p>
|
||||
|
||||
Rebranded …
|
||||
<br>
|
||||
<p>Rebranded …</p>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<!-- this file is replaced on rebranding -->
|
||||
|
||||
<p>I am the content of the page "terms and conditions"<p>
|
||||
|
||||
Rebranded …
|
||||
<br>
|
||||
<p>Rebranded …</p>
|
||||
|
||||
@ -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"
|
||||
|
||||
80
docker-compose.ocelotsocial-branded.yml
Normal file
80
docker-compose.ocelotsocial-branded.yml
Normal 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:
|
||||
@ -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:
|
||||
@ -62,4 +87,4 @@ services:
|
||||
networks:
|
||||
- test-network
|
||||
networks:
|
||||
test-network:
|
||||
test-network:
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -1,10 +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/
|
||||
|
||||
|
||||
@ -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 #####################################################################
|
||||
|
||||
@ -1,10 +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"
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "ocelot-social-branded",
|
||||
"version": "1.0.3",
|
||||
"ocelotDockerVersionTag": "1.0.3-82",
|
||||
"ocelotDockerVersionTag": "1.0.3-97",
|
||||
"dockerOrganisation": "ocelotsocialnetwork",
|
||||
"description": "ocelot.social Branded",
|
||||
"author": "ocelot.social Community",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user