Last active
December 9, 2017 20:58
-
-
Save alexed1/ad4917f53bed34318e1aa2801a82e911 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM debian:jessie | |
RUN apt-get update -y | |
RUN apt-get install -y git | |
RUN apt-get install -y curl | |
RUN apt-get install -y vim | |
RUN apt-get install -y tcpdump | |
RUN apt-get install -y screen | |
RUN apt-get install -y nano | |
RUN apt-get install -y wget | |
RUN apt-get install -y sudo | |
# Setup home environment | |
RUN useradd alexed | |
RUN echo 'alexed:****' | chpasswd | |
RUN adduser alexed sudo | |
RUN mkdir /home/alexed && chown -R alexed: /home/alexed | |
RUN mkdir -p /home/alexed/bin /home/alexed/lib /home/alexed/include | |
ENV PATH /home/alexed/bin:$PATH | |
ENV PKG_CONFIG_PATH /home/alexed/lib/pkgconfig | |
ENV LD_LIBRARY_PATH /home/alexed/lib | |
# Create a shared data volume | |
# We need to create an empty file, otherwise the volume will | |
# belong to root(?) | |
RUN mkdir /var/shared/ | |
RUN touch /var/shared/placeholder | |
RUN chown -R alexed:alexed /var/shared | |
VOLUME /var/shared | |
WORKDIR /home/alexed | |
ENV HOME /home/alexed | |
ADD .bash_profile /home/alexed/.bash_profile | |
ADD .bashrc /home/alexed/.bashrc | |
# Link in shared parts of the home directory | |
RUN ln -s /var/shared/.ssh | |
RUN ln -s /var/shared/.bash_history | |
RUN ln -s /var/shared/.maintainercfg | |
RUN touch foo | |
#install ruby | |
RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 | |
RUN apt-get update | |
RUN apt-get -y install ruby ruby-dev build-essential git | |
#install java dev env | |
RUN apt-get update && apt-get install -y \ | |
default-jdk --fix-missing | |
ENV JAR_ROOT /usr/lib/jvm/java-1.7.0-openjdk-amd64/jre/lib/ext | |
ENV CLASSPATH /usr/lib/jvm/java-1.7.0-openjdk-amd64/jre/lib/ext | |
ADD Enterprise.jar ${JAR_ROOT}/Enterprise.jar | |
ADD Metadata.jar ${JAR_ROOT}/Metadata.jar | |
ADD force-wsc-40.0.0.jar ${JAR_ROOT}/force-wsc-40.0.0.jar | |
ENV CLASSPATH /usr/lib/jvm/java-1.7.0-openjdk-amd64/jre/lib/ext/httpclient/lib:$CLASSPATH | |
ADD httpcomponents-client-4.5.3 ${JAR_ROOT}/httpclient | |
ADD json-20160810.jar ${JAR_ROOT}/json-20160810.jar | |
#configure git | |
ADD .gitconfig /home/alexed/.gitconfig | |
EXPOSE 8080 | |
#install node | |
RUN apt-get update && apt-get install -y libssl-dev | |
RUN curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh -o install_nvm.sh | |
RUN bash install_nvm.sh | |
RUN bash -i -c 'nvm ls-remote'; | |
RUN bash -i -c 'nvm install 8.4'; | |
EXPOSE 8000 | |
VOLUME /home/alexed/dev | |
WORKDIR /home/alexed/dev | |
#intall python3 | |
RUN apt-get install -y python3 | |
#install heroku cli | |
RUN apt-get install -y software-properties-common | |
RUN apt-get install -y python-software-properties | |
RUN add-apt-repository "deb https://cli-assets.heroku.com/branches/stable/apt ./" | |
RUN curl -L https://cli-assets.heroku.com/apt/release.key | sudo apt-key add - | |
RUN apt-get install -y apt-transport-https | |
RUN apt-get update && apt-get install -y heroku | |
RUN wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | \ | |
apt-key add - | |
RUN echo "deb http://packages.cloudfoundry.org/debian stable main" | \ | |
tee /etc/apt/sources.list.d/cloudfoundry-cli.list | |
RUN apt-get update && apt-get install -y cf-cli | |
#configure nano | |
ADD html.nanorc /usr/share/nano/html.nanorc | |
ADD js.nanorc /usr/share/nano/js.nanorc | |
ADD .nanorc /home/alexed/.nanorc | |
RUN bash -i -c 'npm install --global mocha'; | |
RUN echo 'alias python=python3' >> ~/.bashrc | |
RUN /bin/bash -c "source ~/.bashrc" | |
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - | |
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/\yarn.list | |
RUN apt-get update && apt-get install yarn | |
RUN apt-get install zip unzip | |
RUN apt-get update && apt-get install -y \ | |
wget \ | |
xz-utils \ | |
ca-certificates \ | |
&& rm -rf /var/lib/apt/lists/* | |
RUN wget -O - https://developer.salesforce.com/media/salesforce-cli/sfdx-linux-amd64.tar.xz | tar Jxv && \ | |
sfdx/install && \ | |
rm -rf sfdx | |
RUN sfdx update | |
CMD ["sfdx"] | |
#RUN bash -i -c 'npm install -g yargs'; | |
EXPOSE 7000 | |
EXPOSE 5000 | |
EXPOSE 8000 | |
EXPOSE 1717 | |
EXPOSE 80 | |
RUN chown -R alexed: /home/alexed | |
USER alexed |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment