FROM node:14.18.1

LABEL org.opencontainers.image.authors="khkraining@falinux.com"

ENV DEBIAN_FRONTEND noninteractive

USER root

# Set default locale for the environment
ENV LC_ALL C.UTF-8
ENV LANG ko_KR.UTF-8
ENV LANGUAGE ko_KR.UTF-8

RUN apt-get update && apt-get install -y apt-utils

RUN apt-get update && \
    apt-get install -y \
    libgtk2.0-0 \
    libnotify-dev \
    libgconf-2-4 \
    libnss3 \
    libxss1 \
    libasound2 \
    xvfb

RUN apt-get update && apt-get install -y fonts-nanum

RUN echo "force new chrome here"

# install Chromebrowser
RUN \
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
echo "deb http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google.list && \
apt-get update && \
apt-get install -y dbus-x11 google-chrome-stable && \
rm -rf /var/lib/apt/lists/*

# "fake" dbus address to prevent errors
# https://github.com/SeleniumHQ/docker-selenium/issues/87
ENV DBUS_SESSION_BUS_ADDRESS=/dev/null


RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
RUN apt-get update
RUN apt-get install -y nodejs build-essential


# Add zip utility - it comes in very handy
RUN apt-get update && apt-get install -y zip

RUN npm install -g npm@8.0.0
RUN npm install -g vue
#RUN npm i vue-cli-service
RUN yarn global add @vue/cli

# versions of local tools
RUN node -v
RUN npm -v
RUN yarn -v
RUN vue --version
RUN google-chrome --version
RUN zip --version
RUN git --version
RUN chown -R nobody:nogroup "/root/.npm"
RUN npm i -g cross-env

# good colors for most applications
ENV TERM xterm
# avoid million NPM install messages
ENV npm_config_loglevel warn
# allow installing when the main user is root
ENV npm_config_unsafe_perm true

WORKDIR /apps
#COPY package*.json ./
CMD bash