Skip to content

Instantly share code, notes, and snippets.

@alexed1
Last active December 9, 2017 20:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexed1/ad4917f53bed34318e1aa2801a82e911 to your computer and use it in GitHub Desktop.
Save alexed1/ad4917f53bed34318e1aa2801a82e911 to your computer and use it in GitHub Desktop.
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