Dockerfile updates

This commit is contained in:
Darren Clarke 2023-05-26 12:02:55 +00:00
parent 842dd95e43
commit 6dc4cfd3cc
21 changed files with 74 additions and 63 deletions

View file

@ -1,4 +1,4 @@
image: node:18-bullseye-slim image: node:20-bullseye-slim
include: include:
- /apps/leafcutter/.gitlab-ci.yml - /apps/leafcutter/.gitlab-ci.yml

View file

@ -58,13 +58,6 @@ setup-signal:
create-admin-user: create-admin-user:
docker exec -i $(shell docker ps -aqf "name=metamigo-postgresql") bash < ./scripts/create-admin-user.sh docker exec -i $(shell docker ps -aqf "name=metamigo-postgresql") bash < ./scripts/create-admin-user.sh
force-run-migrations:
docker-compose -p link-docker-compose exec zammad-railsserver bundle exec rails r 'require "/opt/zammad/db/addon/cdr_signal/20210525091356_cdr_signal_channel.rb";require "/opt/zammad/db/addon/cdr_voice/20210525091357_cdr_voice_channel.rb";require "/opt/zammad/db/addon/cdr_whatsapp/20210525091358_cdr_whatsapp_channel.rb"; require "/opt/zammad/db/addon/pgpsupport/20220403000001_pgpsupport.rb";CdrSignalChannel.new.up;CdrVoiceChannel.new.up;CdrWhatsappChannel.new.up;PGPSupport.new.up;'
sso:
docker-compose exec zammad-nginx sed -i '/proxy_set_header X-Forwarded-User "";/d' /opt/zammad/contrib/nginx/zammad.conf;
docker-compose exec zammad-nginx service nginx restart;
start: start:
CURRENT_UID=$(CURRENT_UID) docker-compose up -d CURRENT_UID=$(CURRENT_UID) docker-compose up -d

View file

@ -1,4 +1,4 @@
FROM node:18-bullseye-slim as builder FROM node:20-bullseye-slim as builder
LABEL maintainer="Darren Clarke <darren@redaranj.com>" LABEL maintainer="Darren Clarke <darren@redaranj.com>"
ARG APP_DIR=/opt/leafcutter ARG APP_DIR=/opt/leafcutter
RUN mkdir -p ${APP_DIR}/ RUN mkdir -p ${APP_DIR}/
@ -10,7 +10,7 @@ ENV NEXT_PUBLIC_NEXTAUTH_URL https://lc.digiresilience.org
RUN npm install RUN npm install
RUN npm run build RUN npm run build
FROM node:18-bullseye-slim FROM node:20-bullseye-slim
ARG BUILD_DATE ARG BUILD_DATE
ARG VERSION ARG VERSION
LABEL maintainer="Darren Clarke <darren@redaranj.com>" LABEL maintainer="Darren Clarke <darren@redaranj.com>"

View file

@ -1,37 +1,49 @@
FROM node:18-bullseye-slim as builder
LABEL maintainer="Darren Clarke <darren@redaranj.com>" FROM node:20 AS base
FROM base AS builder
ARG APP_DIR=/opt/link ARG APP_DIR=/opt/link
RUN mkdir -p ${APP_DIR}/ RUN mkdir -p ${APP_DIR}/
COPY . ${APP_DIR}/ RUN npm i -g turbo
RUN chown -R node ${APP_DIR}/
USER node
WORKDIR ${APP_DIR} WORKDIR ${APP_DIR}
RUN npm install COPY . .
RUN npm run build RUN turbo prune --scope=link --docker
FROM node:18-bullseye-slim FROM base AS installer
ARG APP_DIR=/opt/link
WORKDIR ${APP_DIR}
COPY .gitignore .gitignore
COPY --from=builder ${APP_DIR}/out/json/ .
COPY --from=builder ${APP_DIR}/out/package-lock.json ./package-lock.json
RUN npm install
COPY --from=builder ${APP_DIR}/out/full/ .
RUN npm i -g turbo
RUN turbo run build --filter=link
FROM base AS runner
ARG APP_DIR=/opt/link
WORKDIR ${APP_DIR}/
ARG BUILD_DATE ARG BUILD_DATE
ARG VERSION ARG VERSION
LABEL maintainer="Darren Clarke <darren@redaranj.com>" LABEL maintainer="Darren Clarke <darren@redaranj.com>"
LABEL org.label-schema.build-date=$BUILD_DATE LABEL org.label-schema.build-date=$BUILD_DATE
LABEL org.label-schema.version=$VERSION LABEL org.label-schema.version=$VERSION
ARG APP_DIR=/opt/link
ENV APP_DIR ${APP_DIR} ENV APP_DIR ${APP_DIR}
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
apt-get install -y --no-install-recommends \ apt-get install -y --no-install-recommends \
dumb-init dumb-init
RUN mkdir -p ${APP_DIR} RUN mkdir -p ${APP_DIR}
RUN chown -R node ${APP_DIR}/ RUN chown -R node ${APP_DIR}/
COPY docker-entrypoint.sh /docker-entrypoint.sh
RUN chmod +x /docker-entrypoint.sh
USER node USER node
WORKDIR ${APP_DIR} WORKDIR ${APP_DIR}
COPY --from=builder ${APP_DIR}/node_modules ./node_modules COPY --from=installer ${APP_DIR}/node_modules/ ./node_modules/
COPY --from=builder ${APP_DIR}/.next ./.next COPY --from=installer ${APP_DIR}/apps/link/ ./apps/link/
COPY --from=builder ${APP_DIR}/next.config.js ./next.config.js USER root
RUN chmod +x ./apps/link/docker-entrypoint.sh
USER node
EXPOSE 3000 EXPOSE 3000
ENV PORT 3000 ENV PORT 3000
ENV NODE_ENV production ENV NODE_ENV production
COPY package.json ./ ENTRYPOINT ["./apps/link/docker-entrypoint.sh"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View file

@ -3,5 +3,5 @@
set -e set -e
cd ${APP_DIR} cd ${APP_DIR}
echo "starting shell app" echo "starting link"
exec dumb-init npm run start exec dumb-init npm run start

View file

@ -1,4 +1,4 @@
FROM node:18-bullseye as builder FROM node:20-bullseye as builder
ARG METAMIGO_DIR=/opt/metamigo ARG METAMIGO_DIR=/opt/metamigo
RUN mkdir -p ${METAMIGO_DIR}/ RUN mkdir -p ${METAMIGO_DIR}/
@ -11,14 +11,14 @@ RUN npm run build
RUN rm -Rf ./node_modules RUN rm -Rf ./node_modules
FROM node:18-bullseye as clean FROM node:20-bullseye as clean
ARG METAMIGO_DIR=/opt/metamigo ARG METAMIGO_DIR=/opt/metamigo
COPY --from=builder ${METAMIGO_DIR} ${METAMIGO_DIR}/ COPY --from=builder ${METAMIGO_DIR} ${METAMIGO_DIR}/
RUN rm -Rf ./node_modules RUN rm -Rf ./node_modules
FROM node:18-bullseye as pristine FROM node:20-bullseye as pristine
LABEL maintainer="Abel Luck <abel@guardianproject.info>" LABEL maintainer="Abel Luck <abel@guardianproject.info>"
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ RUN DEBIAN_FRONTEND=noninteractive apt-get update && \

View file

@ -1,4 +1,4 @@
FROM node:18-bullseye as builder FROM node:20-bullseye as builder
ARG METAMIGO_DIR=/opt/metamigo ARG METAMIGO_DIR=/opt/metamigo
RUN mkdir -p ${METAMIGO_DIR}/ RUN mkdir -p ${METAMIGO_DIR}/
@ -6,20 +6,20 @@ WORKDIR ${METAMIGO_DIR}
COPY package.json tsconfig.json ${METAMIGO_DIR}/ COPY package.json tsconfig.json ${METAMIGO_DIR}/
COPY . ${METAMIGO_DIR}/ COPY . ${METAMIGO_DIR}/
RUN npx --no-install tsc --build --verbose RUN npm --no-install tsc --build --verbose
RUN npm install RUN npm install
RUN npm run build RUN npm run build
RUN rm -Rf ./node_modules RUN rm -Rf ./node_modules
FROM node:18-bullseye as clean FROM node:20-bullseye as clean
ARG METAMIGO_DIR=/opt/metamigo ARG METAMIGO_DIR=/opt/metamigo
COPY --from=builder ${METAMIGO_DIR} ${METAMIGO_DIR}/ COPY --from=builder ${METAMIGO_DIR} ${METAMIGO_DIR}/
RUN rm -Rf ./node_modules RUN rm -Rf ./node_modules
FROM node:18-bullseye as pristine FROM node:20-bullseye as pristine
LABEL maintainer="Abel Luck <abel@guardianproject.info>" LABEL maintainer="Abel Luck <abel@guardianproject.info>"
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ RUN DEBIAN_FRONTEND=noninteractive apt-get update && \

View file

@ -50,5 +50,10 @@
"jest-config-link": "*", "jest-config-link": "*",
"tsconfig-link": "*", "tsconfig-link": "*",
"typescript": "5.0.4" "typescript": "5.0.4"
},
"overrides": {
"@mui/styles": {
"react": "18.2.0"
}
} }
} }

View file

@ -1,4 +1,4 @@
FROM node:18-bullseye as builder FROM node:20-bullseye as builder
ARG METAMIGO_DIR=/opt/metamigo ARG METAMIGO_DIR=/opt/metamigo
RUN mkdir -p ${METAMIGO_DIR}/ RUN mkdir -p ${METAMIGO_DIR}/
@ -12,14 +12,14 @@ RUN npm run build
RUN rm -Rf ./node_modules RUN rm -Rf ./node_modules
FROM node:18-bullseye as clean FROM node:20-bullseye as clean
ARG METAMIGO_DIR=/opt/metamigo ARG METAMIGO_DIR=/opt/metamigo
COPY --from=builder ${METAMIGO_DIR} ${METAMIGO_DIR}/ COPY --from=builder ${METAMIGO_DIR} ${METAMIGO_DIR}/
RUN rm -Rf ./node_modules RUN rm -Rf ./node_modules
FROM node:18-bullseye as pristine FROM node:20-bullseye as pristine
LABEL maintainer="Abel Luck <abel@guardianproject.info>" LABEL maintainer="Abel Luck <abel@guardianproject.info>"
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ RUN DEBIAN_FRONTEND=noninteractive apt-get update && \

View file

@ -179,21 +179,21 @@ services:
# command: [ "worker" ] # command: [ "worker" ]
# environment: *common-metamigo-variables # environment: *common-metamigo-variables
metamigo-postgresql: # metamigo-postgresql:
build: ./docker/postgresql # build: ./docker/postgresql
restart: ${RESTART} # restart: ${RESTART}
volumes: # volumes:
- metamigo-data:/var/lib/postgresql/data # - metamigo-data:/var/lib/postgresql/data
- ./scripts/bootstrap-metamigo.sh:/docker-entrypoint-initdb.d/bootstrap-metamigo.sh # - ./scripts/bootstrap-metamigo.sh:/docker-entrypoint-initdb.d/bootstrap-metamigo.sh
environment: # environment:
<<: *common-metamigo-variables # <<: *common-metamigo-variables
POSTGRES_PASSWORD: ${METAMIGO_DATABASE_ROOT_PASSWORD} # POSTGRES_PASSWORD: ${METAMIGO_DATABASE_ROOT_PASSWORD}
POSTGRES_USER: "root" # POSTGRES_USER: "root"
POSTGRES_DB: "metamigo" # POSTGRES_DB: "metamigo"
expose: # expose:
- "5432" # - "5432"
ports: # ports:
- 127.0.0.1:5432:5432 # - 127.0.0.1:5432:5432
signald: signald:
container_name: signald container_name: signald
@ -214,7 +214,9 @@ services:
link: link:
container_name: link container_name: link
build: ./apps/link build:
context: .
dockerfile: ./apps/link/Dockerfile
expose: expose:
- "3000" - "3000"
ports: ports:

View file

@ -1 +1 @@
FROM docker.elastic.co/elasticsearch/elasticsearch:8.6.2 FROM docker.elastic.co/elasticsearch/elasticsearch:8.7.1

View file

@ -1 +1 @@
FROM heartexlabs/label-studio:1.7.1 FROM heartexlabs/label-studio:1.7.3

View file

@ -1 +1 @@
FROM memcached:1.6.10-alpine FROM memcached:1.6.20-bullseye

View file

@ -1 +1 @@
FROM nginxproxy/nginx-proxy:1.2.1 FROM nginxproxy/nginx-proxy:1.3.0

View file

@ -1 +1 @@
FROM postgres:15.2-alpine FROM postgres:15.3-bullseye

View file

@ -1 +1 @@
FROM redis:7.0.5-alpine FROM redis:7.0.11-bullseye

View file

@ -6,13 +6,12 @@ import { loadConfigRaw } from "@digiresilience/metamigo-config";
export const genConf = async (): Promise<void> => { export const genConf = async (): Promise<void> => {
const c = await loadConfigRaw(); const c = await loadConfigRaw();
// @ts-expect-error TS2589
const generated = generateConfig(c); const generated = generateConfig(c);
console.log(generated); console.log(generated);
}; };
export const genSchema = async (): Promise<void> => { export const genSchema = async (): Promise<void> => {
const c = await loadConfigRaw(); const c: any = await loadConfigRaw();
console.log(c.getSchemaString()); console.log(c.getSchemaString());
}; };

View file

@ -1,6 +1,7 @@
{ {
"extends": "tsconfig-link", "extends": "tsconfig-link",
"compilerOptions": { "compilerOptions": {
"lib": ["es2020", "DOM"],
"incremental": true, "incremental": true,
"outDir": "build/main", "outDir": "build/main",
"rootDir": "src", "rootDir": "src",

View file

@ -1 +0,0 @@
// tk