docker/twilio-video/Dockerfile
2019-04-23 13:35:31 -04:00

67 lines
2.5 KiB
Docker

FROM nginx:alpine
LABEL software.version="0.2.20190422"
EXPOSE 80
EXPOSE 22
EXPOSE 9001
COPY nginx.conf /etc/nginx/nginx.conf
COPY mime.types /etc/nginx/mime.types
COPY acme-client /etc/periodic/weekly/acme-client
RUN echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
&& apk add nginx nginx-mod-http-headers-more acme-client@testing npm libressl openssh yarn supervisor git \
&& chmod +x /etc/periodic/weekly/acme-client \
&& rm /etc/nginx/conf.d/default.conf
#setup ssh
RUN echo 'root:odinlab' |chpasswd
RUN sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config \
&& sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config \
&& ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa \
&& ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa \
&& ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -N '' -t ecdsa \
&& ssh-keygen -f /etc/ssh/ssh_host_ed25519_key -N '' -t ed25519
ARG gituser
ARG gitpass
ARG UI_BRANCH=develop
ARG VIZIER_DOMAIN=vizier.dev
ENV ACME_HOSTS="video.$VIZIER_DOMAIN"
ENV VIZIER_DOMAIN=$VIZIER_DOMAIN
ENV TWILIO_ACCOUNT_SID="ACXXXXXXXXXXXXXXXXXXXX"
ENV TWILIO_API_KEY="SKXXXXXXXXXXXXXXXXXXXXXXXXX"
ENV TWILIO_API_SECRET="XXXXXXXXXXXXXXXXXXXXXXXX"
ENV NODE_ENV="PROD"
ENV NODE_PORT=3000
#setup production video app branch
RUN mkdir /usr/local/source/ \
&& cd /usr/local/source/ \
&& git clone https://$gituser:$gitpass@gitlab.vizier.io/mike/vizier-video-chat.git twilio-video\
&& cd /usr/local/source/twilio-video \
#&& git checkout -b local_$UI_BRANCH origin/$UI_BRANCH \
&& echo 'TWILIO_ACCOUNT_SID=ACXXXXXXXXXXXXXXXXXXXX' >> /usr/local/source/twilio-video/.env \
&& echo 'TWILIO_API_KEY=SKXXXXXXXXXXXXXXXXXXXXXXXXX' >> /usr/local/source/twilio-video/.env \
&& echo 'TWILIO_API_SECRET=XXXXXXXXXXXXXXXXXXXXXXXX' >> /usr/local/source/twilio-video/.env \
&& echo 'NODE_ENV=PROD' >> /usr/local/source/twilio-video/.env \
&& echo 'NODE_PORT=3000' >> /usr/local/source/twilio-video/.env \
&& yarn install
RUN cd /usr/local/source/twilio-video \
&& yarn build
COPY vizier.conf /etc/nginx/conf.d/vizier.conf
COPY run_yarn.sh /usr/local/run_yarn.sh
COPY entrypoint.sh /usr/local/entrypoint.sh
COPY supervisord.conf /etc/supervisord.conf
COPY fullchain-video.pem /etc/ssl/acme/video.$VIZIER_DOMAIN/fullchain.pem
COPY video.pem /etc/ssl/acme/private/video.$VIZIER_DOMAIN/privkey.pem
RUN chmod +x /usr/local/entrypoint.sh \
&& chmod +x /usr/local/run_yarn.sh
ENTRYPOINT ["\/bin\/sh", "-c", "/usr/local/entrypoint.sh"]