How to build jitsi/web (Docker)

I want to re-develop

[image]

I want to package the jitsi/web images by myself

[image]

I want to package the jitsi/web images by myself

@jianqiang_zhang You want to add your changes to jitsi-meet repo OR you want to build docker-image for jitsi/web OR Both?

I add myself change to jitsi-meet
I want to build docker-image for jitsi/web

I add myself change to jitsi-meet
I want to build docker-image for jitsi/web

ok. once you added your changes to jitsi-meet and executed npm install and then make command to create libs and css directories then you need to use these directories to build the docker image.

Put these directories in docker-jitsi-meet/web and add below lines in Dockerfile.

  1. COPY css /usr/share/jitsi-meet
  2. COPY libs /usr/share/jitsi-meet

Now build your docker image. execute docker image build -t web . in web directory.

Replace jitsi/web:tag with your custom image in docker-compose.yaml file

where is Dockerfile of jitsi-meet/web?
docker-jitsi-meet/Dockerfile at master · jitsi/docker-jitsi-meet · GitHub ?

FROM nginx:latest

USER root

RUN apt-get update && apt-get -y install --reinstall build-essential
&& apt-get -y install curl gnupg git
&& curl -sL https://deb.nodesource.com/setup_10.x | bash -
&& apt-get -y install nodejs

COPY /config /config

create site folder

RUN mkdir -p /srv

copy site file to container site folder

COPY /jitsi-meet /srv/jitsi-meet

RUN cd srv/jitsi-meet/
&& npm install
&& make

create SSL folder

RUN mkdir -p /etc/nginx/ssl

copy ssl files to container ssl folder

COPY ./ssl /etc/nginx/ssl/

EXPOSE 80
EXPOSE 443

VOLUME ["/config", “/etc/letsencrypt”, “/srv/jitsi-meet/transcripts”]

COPY /config/nginx/nginx.conf /etc/nginx/nginx.conf

Is this plan feasible?

[image]

acme.sh
It is too cumbersome


ARG JITSI_REPO=jitsi
ARG BASE_TAG=latest
FROM ${JITSI_REPO}/base:${BASE_TAG}

ADD https://raw.githubusercontent.com/acmesh-official/acme.sh/2.8.8/acme.sh /opt
COPY rootfs/ /

RUN \
	apt-dpkg-wrap apt-get update && \
	apt-dpkg-wrap apt-get install -y cron nginx-extras jitsi-meet-web socat && \
	apt-dpkg-wrap apt-get -d install -y jitsi-meet-web-config && \
    dpkg -x /var/cache/apt/archives/jitsi-meet-web-config*.deb /tmp/pkg && \
    mv /tmp/pkg/usr/share/jitsi-meet-web-config/config.js /defaults && \
	mv /usr/share/jitsi-meet/interface_config.js /defaults && \
	rm -f /etc/nginx/conf.d/default.conf && \
	apt-cleanup && \
	rm -rf /tmp/pkg /var/cache/apt

COPY css /usr/share/jitsi-meet/
COPY libs /usr/share/jitsi-meet/

EXPOSE 80 443

VOLUME ["/config", "/usr/share/jitsi-meet/transcripts"]

If this didn’t work then create a directory Custom-config in web directory and move css and libs to these directory and then change below two command

COPY css /usr/share/jitsi-meet/
COPY libs /usr/share/jitsi-meet/

to

COPY CustomConfig/ /usr/share/jitsi-meet
1 Like

How to deal with it js

How to deal with it js

-v /jitsi-meet /user/share/jitsi-meet it is ok?

Can you please share if running make command in jitsi-meet directory creating css and libs directories for you or not?

@metadata I am doing the same and image successfully created but when I try run container from images I got following error

template: /defaults/system-config.js:11:45: executing “/defaults/system-config.js” at <.Env.XMPP_MUC_DOMAIN>: invalid value; expected string

Although .env contains value.