├── .gitignore ├── alpine_jdk8 └── Dockerfile ├── artik ├── Dockerfile ├── RPM-GPG-KEY-artik ├── artik-libs-deps.zip ├── artik.repo └── rsync.sh ├── aspnet └── Dockerfile ├── centos_jdk8 └── Dockerfile ├── cpp_gcc └── Dockerfile ├── debian_jdk8 └── Dockerfile ├── debian_jdk8_node └── Dockerfile ├── debian_jre └── Dockerfile ├── dotnet_core └── Dockerfile ├── hadoop-dev ├── Dockerfile └── README.md ├── meteor ├── latest │ └── Dockerfile └── ubuntu │ └── Dockerfile ├── node ├── latest │ └── Dockerfile └── ubuntu │ └── Dockerfile ├── php ├── gae │ └── Dockerfile ├── laravel │ └── Dockerfile ├── latest │ └── Dockerfile └── ubuntu │ └── Dockerfile ├── ruby_rails └── Dockerfile ├── selenium ├── Dockerfile ├── index.html └── supervisord.conf ├── ubuntu_android ├── Dockerfile ├── index.html └── supervisord.conf ├── ubuntu_go └── Dockerfile ├── ubuntu_gradle └── Dockerfile ├── ubuntu_jdk8 └── Dockerfile ├── ubuntu_jre └── Dockerfile ├── ubuntu_python ├── 2.7 │ └── Dockerfile ├── 3.5 │ └── Dockerfile ├── gae_python2.7 │ └── Dockerfile └── gae_python3 │ └── Dockerfile ├── ubuntu_wildfly8 └── Dockerfile └── x11_vnc ├── Dockerfile ├── index.html └── supervisord.conf /.gitignore: -------------------------------------------------------------------------------- 1 | # Eclipse # 2 | ################### 3 | 4 | .classpath 5 | .project 6 | .settings/ 7 | target/ 8 | bin/ 9 | test-output/ 10 | 11 | # Idea # 12 | ################## 13 | *.iml 14 | *.ipr 15 | *.iws 16 | .idea/ 17 | 18 | # Compiled source # 19 | ################### 20 | *.com 21 | *.class 22 | *.dll 23 | *.exe 24 | *.o 25 | *.so 26 | 27 | # Packages # 28 | ############ 29 | # it's better to unpack these files and commit the raw source 30 | # git has its own built in compression methods 31 | *.7z 32 | *.dmg 33 | *.gz 34 | *.iso 35 | *.jar 36 | *.rar 37 | *.tar 38 | *.zip 39 | *.war 40 | *.ear 41 | 42 | 43 | 44 | # Logs and databases # 45 | ###################### 46 | *.log 47 | *.sql 48 | *.sqlite 49 | 50 | # OS generated files # 51 | ###################### 52 | .DS_Store? 53 | ehthumbs.db 54 | Icon? 55 | Thumbs.db 56 | */overlays 57 | *~ -------------------------------------------------------------------------------- /alpine_jdk8/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM docker:1.12.0 10 | 11 | # Here we use several hacks collected from https://github.com/gliderlabs/docker-alpine/issues/11: 12 | # 1. install GLibc (which is not the cleanest solution at all) 13 | # 2. hotfix /etc/nsswitch.conf, which is apperently required by glibc and is not used in Alpine Linux 14 | 15 | ENV JAVA_VERSION_MAJOR=8 \ 16 | JAVA_VERSION_MINOR=92 \ 17 | JAVA_VERSION_BUILD=14 \ 18 | JAVA_PACKAGE=jdk \ 19 | JAVA_JCE=standard \ 20 | JAVA_HOME=/opt/jdk \ 21 | GLIBC_VERSION=2.23-r3 \ 22 | MAVEN_VERSION=3.3.9 \ 23 | LANG=C.UTF-8 24 | 25 | # do all in one step 26 | RUN apk upgrade --update && \ 27 | apk add --update libstdc++ curl ca-certificates bash openssh sudo unzip openssl && \ 28 | for pkg in glibc-${GLIBC_VERSION} glibc-bin-${GLIBC_VERSION} glibc-i18n-${GLIBC_VERSION}; do curl -sSL https://github.com/andyshinn/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/${pkg}.apk -o /tmp/${pkg}.apk; done && \ 29 | apk add --allow-untrusted /tmp/*.apk && \ 30 | rm -v /tmp/*.apk && \ 31 | ( /usr/glibc-compat/bin/localedef --force --inputfile POSIX --charmap UTF-8 C.UTF-8 || true ) && \ 32 | echo "export LANG=C.UTF-8" > /etc/profile.d/locale.sh && \ 33 | /usr/glibc-compat/sbin/ldconfig /lib /usr/glibc-compat/lib && \ 34 | mkdir /opt && \ 35 | curl -jksSLH "Cookie: oraclelicense=accept-securebackup-cookie" -o /tmp/java.tar.gz \ 36 | http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-b${JAVA_VERSION_BUILD}/${JAVA_PACKAGE}-${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-linux-x64.tar.gz && \ 37 | gunzip /tmp/java.tar.gz && \ 38 | tar -C /opt -xf /tmp/java.tar && \ 39 | ln -s /opt/jdk1.${JAVA_VERSION_MAJOR}.0_${JAVA_VERSION_MINOR} /opt/jdk && \ 40 | if [ "${JAVA_JCE}" == "unlimited" ]; then echo "Installing Unlimited JCE policy" >&2 && \ 41 | curl -jksSLH "Cookie: oraclelicense=accept-securebackup-cookie" -o /tmp/jce_policy-${JAVA_VERSION_MAJOR}.zip \ 42 | http://download.oracle.com/otn-pub/java/jce/${JAVA_VERSION_MAJOR}/jce_policy-${JAVA_VERSION_MAJOR}.zip && \ 43 | cd /tmp && unzip /tmp/jce_policy-${JAVA_VERSION_MAJOR}.zip && \ 44 | cp -v /tmp/UnlimitedJCEPolicyJDK8/*.jar /opt/jdk/jre/lib/security; \ 45 | fi && \ 46 | sed -i s/#networkaddress.cache.ttl=-1/networkaddress.cache.ttl=30/ $JAVA_HOME/jre/lib/security/java.security && \ 47 | apk del curl glibc-i18n && \ 48 | rm -rf /opt/jdk/*src.zip \ 49 | /opt/jdk/lib/missioncontrol \ 50 | /opt/jdk/lib/visualvm \ 51 | /opt/jdk/lib/*javafx* \ 52 | /opt/jdk/jre/plugin \ 53 | /opt/jdk/jre/bin/javaws \ 54 | /opt/jdk/jre/bin/jjs \ 55 | /opt/jdk/jre/bin/keytool \ 56 | /opt/jdk/jre/bin/orbd \ 57 | /opt/jdk/jre/bin/pack200 \ 58 | /opt/jdk/jre/bin/policytool \ 59 | /opt/jdk/jre/bin/rmid \ 60 | /opt/jdk/jre/bin/rmiregistry \ 61 | /opt/jdk/jre/bin/servertool \ 62 | /opt/jdk/jre/bin/tnameserv \ 63 | /opt/jdk/jre/bin/unpack200 \ 64 | /opt/jdk/jre/lib/javaws.jar \ 65 | /opt/jdk/jre/lib/deploy* \ 66 | /opt/jdk/jre/lib/desktop \ 67 | /opt/jdk/jre/lib/*javafx* \ 68 | /opt/jdk/jre/lib/*jfx* \ 69 | /opt/jdk/jre/lib/amd64/libdecora_sse.so \ 70 | /opt/jdk/jre/lib/amd64/libprism_*.so \ 71 | /opt/jdk/jre/lib/amd64/libfxplugins.so \ 72 | /opt/jdk/jre/lib/amd64/libglass.so \ 73 | /opt/jdk/jre/lib/amd64/libgstreamer-lite.so \ 74 | /opt/jdk/jre/lib/amd64/libjavafx*.so \ 75 | /opt/jdk/jre/lib/amd64/libjfx*.so \ 76 | /opt/jdk/jre/lib/ext/jfxrt.jar \ 77 | /opt/jdk/jre/lib/ext/nashorn.jar \ 78 | /opt/jdk/jre/lib/oblique-fonts \ 79 | /opt/jdk/jre/lib/plugin.jar \ 80 | /tmp/* /var/cache/apk/* && \ 81 | echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf && \ 82 | cd /tmp && \ 83 | wget -q "http://apache.ip-connect.vn.ua/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz" && \ 84 | tar -xzf "apache-maven-$MAVEN_VERSION-bin.tar.gz" && \ 85 | mv "/tmp/apache-maven-$MAVEN_VERSION" "/usr/lib" && \ 86 | rm "/tmp/"* && \ 87 | adduser -S user -h /home/user -s /bin/bash -G root -u 1000 && \ 88 | echo "%root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ 89 | PASS=$(openssl rand -base64 32) && \ 90 | echo -e "${PASS}\n${PASS}" | passwd user && \ 91 | chown -R user /home/user/ 92 | 93 | RUN mkdir /usr/che \ 94 | && wget -qO /usr/che/che https://raw.githubusercontent.com/eclipse/che/master/che.sh \ 95 | && chmod +x /usr/che/che 96 | 97 | ENV DOCKER_HOST=tcp://192.168.65.1 \ 98 | M2_HOME=/usr/lib/apache-maven-$MAVEN_VERSION 99 | 100 | ENV PATH=${PATH}:${JAVA_HOME}/bin:${M2_HOME}/bin:/usr/che 101 | 102 | EXPOSE 22 8000 8080 103 | 104 | USER user 105 | 106 | WORKDIR /projects 107 | 108 | CMD sudo /usr/bin/ssh-keygen -A && \ 109 | sudo /usr/sbin/sshd -D && \ 110 | sudo su - && \ 111 | tail -f /dev/null 112 | 113 | -------------------------------------------------------------------------------- /artik/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM fedora:24 10 | ENV CC arm-linux-gnueabi-gcc 11 | ENV CXX arm-linux-gnueabi-g++ 12 | ENV JAVA_VERSION=8u65 \ 13 | JAVA_VERSION_PREFIX=1.8.0_65 14 | ENV JAVA_HOME /opt/jre$JAVA_VERSION_PREFIX 15 | ENV PATH $JAVA_HOME/bin:$PATH 16 | ENV CPATH=/usr/arm-linux-gnueabi/sys-root/usr/include/artik 17 | ENV NODE_PATH=/usr/local/lib/node_modules 18 | RUN dnf update -y && \ 19 | dnf install dnf-plugins-core copr-cli -y && \ 20 | dnf copr enable lantw44/arm-linux-gnueabi-toolchain -y && \ 21 | dnf --enablerepo='*debug*' install nc android-tools arm-linux-gnueabi-{binutils,gcc,glibc} sudo usbutils openssh-server procps wget unzip mc git curl openssl bash passwd tar gdb sshpass cpio subversion -y && \ 22 | dnf clean all && \ 23 | mkdir /var/run/sshd && \ 24 | sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd && \ 25 | echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ 26 | sed -i 's/requiretty/!requiretty/g' /etc/sudoers && \ 27 | wget \ 28 | --no-cookies \ 29 | --no-check-certificate \ 30 | --header "Cookie: oraclelicense=accept-securebackup-cookie" \ 31 | -qO- "http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-b17/jre-$JAVA_VERSION-linux-x64.tar.gz" | tar -zx -C /opt/ && \ 32 | echo -e "#! /bin/bash\n set -e\nsudo /usr/bin/ssh-keygen -A\n sudo /usr/sbin/sshd -D &\n exec \"\$@\"" > /root/entrypoint.sh && chmod a+x /root/entrypoint.sh && \ 33 | echo -e "export JAVA_HOME=/opt/jre$JAVA_VERSION_PREFIX\nexport CC=arm-linux-gnueabi-gcc\n export CXX=arm-linux-gnueabi-g++\nexport PATH=$JAVA_HOME/bin:$PATH" >> /root/.bashrc 34 | RUN cd / && wget https://install.codenvycorp.com/artik/artik-libs-deps.zip && \ 35 | unzip -q artik-libs-deps.zip -d /usr/arm-linux-gnueabi/sys-root && rm artik-libs-deps.zip 36 | ADD artik.repo /etc/yum.repos.d/artik.repo 37 | ADD RPM-GPG-KEY-artik /etc/pki/rpm-gpg/RPM-GPG-KEY-artik 38 | RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-artik 39 | RUN dnf makecache && dnf install --disablerepo=updates --disablerepo=lantw44-arm-linux-gnueabi-toolchain --disablerepo=fedora libartik-sdk-sysroot libartik-sdk-doc -y 40 | EXPOSE 22 4403 41 | ADD rsync.sh /usr/local/bin/rsync.sh 42 | RUN chmod +x /usr/local/bin/rsync.sh 43 | ENTRYPOINT ["/root/entrypoint.sh"] 44 | WORKDIR /projects 45 | CMD adb start-server && \ 46 | tail -f /dev/null 47 | -------------------------------------------------------------------------------- /artik/RPM-GPG-KEY-artik: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | Version: GnuPG v1 3 | 4 | mI0EWAoJUwEEAMSpsqvDOz8ceSNrDHbuDlM3R7Gc+Md+eH/aXZYse0ZRC8D9ZSYO 5 | CfgN983pJd5NZSGSEcK1epJ7oKmQ6k7Kb32ff/nVwIrbR8fXVUc6DiBeKIhVTO3U 6 | th4jf+pXi4r83dWuKQ2uaKcjpmUHEhyUIIXwJuOS2GYfzYLs45yMVCDhABEBAAG0 7 | QEFSVElLIEZlZG9yYSBQYWNrYWdlIFJlcG9zaXRvcnkgKFNhbXN1bmcgQVJUSUsp 8 | IDxhcnRpZUBhcnRpay5pbz6IuAQTAQIAIgUCWAoJUwIbAwYLCQgHAwIGFQgCCQoL 9 | BBYCAwECHgECF4AACgkQDK9lFg3UZUXobQQAil5UyDXxBrViiTQNavBAFj+BFXyR 10 | txbq4LvIywOFCsvNood5pXXVXLx6NZhhJ+ApL98SHEdz9jwel128FiQv+TXduoVc 11 | oNXv6ZyQ77so8YBc4IuxZht4wIG6GzNGDJNnOr12pUmMt66tfPngYeLX0pVei5dR 12 | j4oWZJkuol8dYwy4jQRYCglTAQQAxEWajcCuuEIDkyG6HA0EosrWDjpHWqH9vXZk 13 | JuUeKq+vA2acXYnelDMLhK7MBCF2tLey4I58QO9ga+/uyK7HNqZF9pXybdoeM89d 14 | FMN8K71AsdkzEwd1/2yJiJKOzg10ESE99Q4QAM+okpWZRtgV59X2W97uXIGzIE30 15 | mvDmSbEAEQEAAYifBBgBAgAJBQJYCglTAhsMAAoJEAyvZRYN1GVFN40EAIJom0ZY 16 | FwJu6zWID35HH7Uq4tvrm4Jt/xg0VsUnmUQlP5BkZLCp+gUn33tKWJuP6vo+Ck5X 17 | D/2sq0flj5mPF9WBE1TLc8Tw9DbFEMpWd1NboRlCAK/O4ote2bfaqYwCTj8QXEHW 18 | Nb0z4J5LYa1ci8t3mEXnzMQMqlqUFOCfve5p 19 | =m52w 20 | -----END PGP PUBLIC KEY BLOCK----- 21 | -------------------------------------------------------------------------------- /artik/artik-libs-deps.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenvy-legacy/dockerfiles/baf80ffb736dd12a100c47c111ff16245c48cbc2/artik/artik-libs-deps.zip -------------------------------------------------------------------------------- /artik/artik.repo: -------------------------------------------------------------------------------- 1 | [artik-noarch] 2 | name=Artik 24 - noarch 3 | failovermethod=priority 4 | baseurL=http://repo.artik.cloud/artik/bin/pub/artik/linux/releases/24/Everything/noarch/os/ 5 | enabled=1 6 | gpgcheck=1 7 | gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-artik 8 | 9 | -------------------------------------------------------------------------------- /artik/rsync.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2016 Samsung Electronics Co., Ltd. 4 | # All rights reserved. This program and the accompanying materials 5 | # are made available under the terms of the Eclipse Public License v1.0 6 | # which accompanies this distribution, and is available at 7 | # http://www.eclipse.org/legal/epl-v10.html 8 | # 9 | # Contributors: 10 | # Codenvy, S.A. - Initial implementation 11 | # Samsung Electronics Co., Ltd. - Initial implementation 12 | # 13 | 14 | # $1 - username 15 | # $2 - password 16 | # $3 - from 17 | # $4 - host 18 | # $5 - to 19 | # $6 - port 20 | 21 | USERNAME="$1" 22 | PASSWORD="$2" 23 | FROM="$3" 24 | HOST="$4" 25 | TO="$5" 26 | PORT="$6" 27 | 28 | sshpass -p $PASSWORD rsync --archive --update --recursive --delete --rsh="ssh -p $PORT -o StrictHostKeyChecking=no -l $USERNAME" $FROM $USERNAME@$HOST:$TO 29 | 30 | -------------------------------------------------------------------------------- /aspnet/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM debian:wheezy 10 | ENV JAVA_VERSION=8u65 \ 11 | JAVA_VERSION_PREFIX=1.8.0_65 12 | ENV JAVA_HOME /opt/jre$JAVA_VERSION_PREFIX 13 | ENV PATH $JAVA_HOME/bin:$PATH 14 | RUN apt-get update && \ 15 | apt-get -y install \ 16 | openssh-server \ 17 | sudo \ 18 | procps \ 19 | wget \ 20 | unzip \ 21 | mc \ 22 | locales \ 23 | ca-certificates \ 24 | curl && \ 25 | mkdir /var/run/sshd && \ 26 | sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd && \ 27 | echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ 28 | useradd -u 1000 -G users,sudo -d /home/user --shell /bin/bash -m user 29 | RUN PASS=$(openssl rand -base64 32) && \ 30 | echo "$PASS\n$PASS" | passwd user && \ 31 | sudo echo -e "deb http://ppa.launchpad.net/git-core/ppa/ubuntu precise main\ndeb-src http://ppa.launchpad.net/git-core/ppa/ubuntu precise main" >> /etc/apt/sources.list.d/sources.list && \ 32 | sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ 33 | sudo apt-get install git subversion -y && \ 34 | apt-get clean && \ 35 | wget \ 36 | --no-cookies \ 37 | --no-check-certificate \ 38 | --header "Cookie: oraclelicense=accept-securebackup-cookie" \ 39 | -qO- \ 40 | "http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-b17/jre-$JAVA_VERSION-linux-x64.tar.gz" | tar -zx -C /opt/ && \ 41 | apt-get -y autoremove \ 42 | && apt-get -y clean \ 43 | && rm -rf /var/lib/apt/lists/* && \ 44 | echo "#! /bin/bash\n set -e\n sudo /usr/sbin/sshd -D &\n exec \"\$@\"" > /home/user/entrypoint.sh && chmod a+x /home/user/entrypoint.sh 45 | ENV LANG C.UTF-8 46 | RUN echo "export JAVA_HOME=/opt/jre$JAVA_VERSION_PREFIX\nexport PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH" >> /home/user/.bashrc 47 | 48 | RUN apt-get update \ 49 | && apt-get install -y curl \ 50 | && rm -rf /var/lib/apt/lists/* 51 | 52 | RUN apt-key adv --keyserver pgp.mit.edu --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF 53 | 54 | RUN echo "deb http://download.mono-project.com/repo/debian wheezy/snapshots/4.2.1.102 main" > /etc/apt/sources.list.d/mono-xamarin.list \ 55 | && apt-get install -f \ 56 | && apt-get update \ 57 | && apt-get install -y mono-devel ca-certificates-mono fsharp mono-vbnc nuget \ 58 | && rm -rf /var/lib/apt/lists/* 59 | 60 | ENV DNX_VERSION 1.0.0-rc1-update1 61 | ENV DNX_USER_HOME /opt/dnx 62 | 63 | #Currently the CLR packages don't have runtime ids to handle debian:jessie but 64 | #we are making sure that the dependencies are the right versions and are opting for 65 | #the smaller base image. So we use this variable to overwrite the default detection. 66 | ENV DNX_RUNTIME_ID ubuntu.14.04-x64 67 | 68 | # In order to address an issue with running a sqlite3 database on aspnet-docker-linux 69 | # a version of sqlite3 must be installed that is greater than or equal to 3.7.15 70 | # which is not available on the default apt sources list in this image. 71 | # ref: https://github.com/aspnet/EntityFramework/issues/3089 72 | # https://github.com/aspnet/aspnet-docker/issues/121 73 | RUN printf "deb http://ftp.us.debian.org/debian jessie main\n" >> /etc/apt/sources.list 74 | 75 | # added sqlite3 & libsqlite3-dev install for use with aspnet-generators (Entity framework) 76 | RUN apt-get -qq update && apt-get -qqy install unzip libc6-dev libicu-dev sqlite3 libsqlite3-dev && rm -rf /var/lib/apt/lists/* 77 | 78 | RUN curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_USER_HOME=$DNX_USER_HOME DNX_BRANCH=v$DNX_VERSION sh 79 | RUN bash -c "source $DNX_USER_HOME/dnvm/dnvm.sh \ 80 | && dnvm install $DNX_VERSION -alias default \ 81 | && dnvm alias default | xargs -i ln -s $DNX_USER_HOME/runtimes/{} $DNX_USER_HOME/runtimes/default" 82 | 83 | # Install libuv for Kestrel from source code (binary is not in wheezy and one in jessie is still too old) 84 | # Combining this with the uninstall and purge will save us the space of the build tools in the image 85 | RUN LIBUV_VERSION=1.4.2 \ 86 | && apt-get -qq update \ 87 | && apt-get -qqy install autoconf automake build-essential libtool \ 88 | && curl -sSL https://github.com/libuv/libuv/archive/v${LIBUV_VERSION}.tar.gz | tar zxfv - -C /usr/local/src \ 89 | && cd /usr/local/src/libuv-$LIBUV_VERSION \ 90 | && sh autogen.sh && ./configure && make && make install \ 91 | && rm -rf /usr/local/src/libuv-$LIBUV_VERSION \ 92 | && ldconfig \ 93 | && apt-get -y purge autoconf automake build-essential libtool \ 94 | && apt-get -y autoremove \ 95 | && apt-get -y clean \ 96 | && rm -rf /var/lib/apt/lists/* 97 | 98 | ENV PATH $DNX_USER_HOME/runtimes/default/bin:$PATH 99 | #ENV PATH $JAVA_HOME/bin:$PATH 100 | 101 | # Prevent `dnu restore` from stalling (gh#63, gh#80) 102 | ENV MONO_THREADS_PER_CPU 50 103 | USER user 104 | RUN echo 'export PATH=$DNX_USER_HOME/runtimes/default/bin:$PATH' >> /home/user/.bashrc 105 | LABEL che:server:5004:ref=asp.net.server che:server:5004:protocol=http 106 | EXPOSE 5004 22 4403 107 | WORKDIR /projects 108 | CMD tail -f /dev/null 109 | -------------------------------------------------------------------------------- /centos_jdk8/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM centos 10 | EXPOSE 4403 8080 8000 22 11 | RUN yum update -y && \ 12 | yum -y install sudo openssh-server procps wget unzip mc git curl subversion nmap && \ 13 | mkdir /var/run/sshd && \ 14 | sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd && \ 15 | echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ 16 | useradd -u 1000 -G users,wheel -d /home/user --shell /bin/bash -m user && \ 17 | echo -e "codenvy2016\ncodenvy2016" | passwd user && \ 18 | sed -i 's/requiretty/!requiretty/g' /etc/sudoers 19 | 20 | USER user 21 | 22 | LABEL che:server:8080:ref=tomcat8 che:server:8080:protocol=http che:server:8000:ref=tomcat8-debug che:server:8000:protocol=http 23 | 24 | ENV MAVEN_VERSION=3.3.9 \ 25 | JAVA_VERSION=8u45 \ 26 | JAVA_VERSION_PREFIX=1.8.0_45 \ 27 | TOMCAT_HOME=/home/user/tomcat8 28 | 29 | ENV JAVA_HOME=/opt/jdk$JAVA_VERSION_PREFIX \ 30 | M2_HOME=/home/user/apache-maven-$MAVEN_VERSION 31 | 32 | ENV PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH 33 | 34 | RUN mkdir /home/user/tomcat8 && mkdir /home/user/apache-maven-$MAVEN_VERSION && \ 35 | wget \ 36 | --no-cookies \ 37 | --no-check-certificate \ 38 | --header "Cookie: oraclelicense=accept-securebackup-cookie" \ 39 | -qO- \ 40 | "http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-b14/jdk-$JAVA_VERSION-linux-x64.tar.gz" | sudo tar -zx -C /opt/ && \ 41 | wget -qO- "http://apache.ip-connect.vn.ua/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz" | tar -zx --strip-components=1 -C /home/user/apache-maven-$MAVEN_VERSION/ 42 | ENV TERM xterm 43 | 44 | RUN wget -qO- "http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.24/bin/apache-tomcat-8.0.24.tar.gz" | tar -zx --strip-components=1 -C /home/user/tomcat8 && \ 45 | rm -rf /home/user/tomcat8/webapps/* 46 | RUN svn --version && \ 47 | sed -i 's/# store-passwords = no/store-passwords = yes/g' /home/user/.subversion/servers && \ 48 | sed -i 's/# store-plaintext-passwords = no/store-plaintext-passwords = yes/g' /home/user/.subversion/servers 49 | USER user 50 | ENV LANG=en_US.UTF-8 51 | 52 | WORKDIR /projects 53 | 54 | CMD sudo /usr/bin/ssh-keygen -A && \ 55 | sudo /usr/sbin/sshd -D && \ 56 | tail -f /dev/null 57 | -------------------------------------------------------------------------------- /cpp_gcc/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/ubuntu_jre 10 | RUN sudo apt-get update && \ 11 | sudo apt-get install g++ gcc make gdb gdbserver -y && \ 12 | sudo apt-get clean && \ 13 | sudo apt-get -y autoremove && \ 14 | sudo rm -rf /var/lib/apt/lists/* 15 | 16 | WORKDIR /projects 17 | 18 | CMD tail -f /dev/null -------------------------------------------------------------------------------- /debian_jdk8/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM debian:jessie 10 | EXPOSE 4403 8080 8000 22 11 | RUN apt-get update && \ 12 | apt-get -y install locales openssh-server sudo procps wget unzip mc git curl subversion nmap && \ 13 | mkdir /var/run/sshd && \ 14 | sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd && \ 15 | echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ 16 | useradd -u 1000 -G users,sudo -d /home/user --shell /bin/bash -m user && \ 17 | echo "secret\nsecret" | passwd user && apt-get -y autoremove \ 18 | && apt-get -y clean \ 19 | && rm -rf /var/lib/apt/lists/* 20 | 21 | USER user 22 | 23 | LABEL che:server:8080:ref=tomcat8 che:server:8080:protocol=http che:server:8000:ref=tomcat8-debug che:server:8000:protocol=http 24 | 25 | 26 | ENV MAVEN_VERSION=3.3.9 \ 27 | JAVA_VERSION=8u45 \ 28 | JAVA_VERSION_PREFIX=1.8.0_45 \ 29 | TOMCAT_HOME=/home/user/tomcat8 30 | 31 | ENV JAVA_HOME=/opt/jdk$JAVA_VERSION_PREFIX \ 32 | M2_HOME=/home/user/apache-maven-$MAVEN_VERSION 33 | 34 | ENV PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH 35 | 36 | RUN mkdir /home/user/cbuild /home/user/tomcat8 /home/user/apache-maven-$MAVEN_VERSION && \ 37 | wget \ 38 | --no-cookies \ 39 | --no-check-certificate \ 40 | --header "Cookie: oraclelicense=accept-securebackup-cookie" \ 41 | -qO- \ 42 | "http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-b14/jdk-$JAVA_VERSION-linux-x64.tar.gz" | sudo tar -zx -C /opt/ && \ 43 | wget -qO- "http://apache.ip-connect.vn.ua/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz" | tar -zx --strip-components=1 -C /home/user/apache-maven-$MAVEN_VERSION/ 44 | 45 | ENV TERM xterm 46 | 47 | RUN wget -qO- "http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.24/bin/apache-tomcat-8.0.24.tar.gz" | tar -zx --strip-components=1 -C /home/user/tomcat8 && \ 48 | rm -rf /home/user/tomcat8/webapps/* 49 | 50 | 51 | ENV LANG C.UTF-8 52 | RUN echo "export JAVA_HOME=/opt/jdk$JAVA_VERSION_PREFIX\nexport M2_HOME=/home/user/apache-maven-$MAVEN_VERSION\nexport TOMCAT_HOME=/home/user/tomcat8\nexport PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH" >> /home/user/.bashrc && \ 53 | sudo localedef -i en_US -f UTF-8 en_US.UTF-8 54 | 55 | WORKDIR /projects 56 | 57 | CMD sudo /usr/sbin/sshd -D && \ 58 | tail -f /dev/null 59 | -------------------------------------------------------------------------------- /debian_jdk8_node/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/debian_jdk8 10 | ENV NODE_VERSION=0.12.9 \ 11 | NODE_PATH=/usr/local/lib/node_modules 12 | 13 | RUN sudo apt-get update && \ 14 | sudo apt-get -y install build-essential libssl-dev libkrb5-dev gcc make ruby-full rubygems && \ 15 | sudo gem install sass compass && \ 16 | sudo apt-get clean && \ 17 | sudo apt-get -y autoremove && \ 18 | sudo apt-get -y clean && \ 19 | sudo rm -rf /var/lib/apt/lists/* && \ 20 | set -ex \ 21 | && for key in \ 22 | 9554F04D7259F04124DE6B476D5A82AC7E37093B \ 23 | 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ 24 | 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 \ 25 | FD3A5288F042B6850C66B31F09FE44734EB7990E \ 26 | 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ 27 | DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ 28 | ; do \ 29 | gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ 30 | done && \ 31 | cd /home/user && curl --insecure -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.gz" \ 32 | && curl --insecure -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ 33 | && gpg --verify SHASUMS256.txt.asc \ 34 | && grep "node-v$NODE_VERSION-linux-x64.tar.gz\$" SHASUMS256.txt.asc | sha256sum -c - \ 35 | && sudo tar -xzf "node-v$NODE_VERSION-linux-x64.tar.gz" -C /usr/local --strip-components=1 \ 36 | && sudo rm "node-v$NODE_VERSION-linux-x64.tar.gz" SHASUMS256.txt.asc 37 | 38 | EXPOSE 3000 5000 9000 39 | RUN sudo npm install -g npm@latest 40 | RUN sudo npm install --unsafe-perm -g gulp bower grunt grunt-cli yeoman-generator yo generator-angular generator-karma generator-webapp 41 | 42 | WORKDIR /projects 43 | 44 | CMD sudo /usr/sbin/sshd -D && \ 45 | tail -f /dev/null -------------------------------------------------------------------------------- /debian_jre/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM debian:jessie 10 | ENV JAVA_VERSION=8u65 \ 11 | JAVA_VERSION_PREFIX=1.8.0_65 12 | ENV JAVA_HOME /opt/jre$JAVA_VERSION_PREFIX 13 | ENV PATH $JAVA_HOME/bin:$PATH 14 | RUN apt-get update && \ 15 | apt-get -y install \ 16 | openssh-server \ 17 | sudo \ 18 | procps \ 19 | wget \ 20 | unzip \ 21 | mc \ 22 | locales \ 23 | ca-certificates \ 24 | curl && \ 25 | mkdir /var/run/sshd && \ 26 | sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd && \ 27 | echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ 28 | useradd -u 1000 -G users,sudo -d /home/user --shell /bin/bash -m user 29 | RUN PASS=$(openssl rand -base64 32) && \ 30 | echo "$PASS\n$PASS" | passwd user && \ 31 | sudo echo -e "deb http://ppa.launchpad.net/git-core/ppa/ubuntu precise main\ndeb-src http://ppa.launchpad.net/git-core/ppa/ubuntu precise main" >> /etc/apt/sources.list.d/sources.list && \ 32 | sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ 33 | sudo apt-get install git subversion -y && \ 34 | apt-get clean && \ 35 | wget \ 36 | --no-cookies \ 37 | --no-check-certificate \ 38 | --header "Cookie: oraclelicense=accept-securebackup-cookie" \ 39 | -qO- \ 40 | "http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-b17/jre-$JAVA_VERSION-linux-x64.tar.gz" | tar -zx -C /opt/ && \ 41 | apt-get -y autoremove \ 42 | && apt-get -y clean \ 43 | && rm -rf /var/lib/apt/lists/* && \ 44 | echo "#! /bin/bash\n set -e\n sudo /usr/sbin/sshd -D &\n exec \"\$@\"" > /home/user/entrypoint.sh && chmod a+x /home/user/entrypoint.sh 45 | ENV LANG C.UTF-8 46 | RUN echo "export JAVA_HOME=/opt/jre$JAVA_VERSION_PREFIX\nexport PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH" >> /home/user/.bashrc && \ 47 | sudo localedef -i en_US -f UTF-8 en_US.UTF-8 48 | 49 | USER user 50 | EXPOSE 22 4403 51 | WORKDIR /projects 52 | ENTRYPOINT ["/home/user/entrypoint.sh"] 53 | CMD tail -f /dev/null 54 | 55 | -------------------------------------------------------------------------------- /dotnet_core/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Abel García Dorta 8 | # Roger Narayan 9 | 10 | FROM codenvy/ubuntu_jre 11 | 12 | MAINTAINER mercuriete@gmail.com 13 | 14 | RUN echo "deb [arch=amd64] http://apt-mo.trafficmanager.net/repos/dotnet/ trusty main" | sudo tee --append /etc/apt/sources.list.d/dotnetdev.list && \ 15 | sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893 &&\ 16 | sudo apt-get update && \ 17 | sudo apt-get install dotnet-dev-1.0.0-preview2-003121 -y && \ 18 | sudo apt-get clean && \ 19 | sudo apt-get -y autoremove && \ 20 | sudo apt-get -y clean && \ 21 | sudo rm -rf /var/lib/apt/lists/* 22 | 23 | RUN curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - 24 | RUN sudo apt-get install nodejs -y 25 | RUN sudo npm install -g yo bower grunt-cli gulp 26 | RUN sudo npm install -g generator-aspnet 27 | 28 | ENV LANG C.UTF-8 29 | EXPOSE 5000 30 | LABEL che:server:5000:ref=dot.net.server che:server:5000:protocol=http 31 | WORKDIR /projects 32 | CMD tail -f /dev/null 33 | -------------------------------------------------------------------------------- /hadoop-dev/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. and LamdaFu, LLC 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | # LamdaFu, LLC - added BigTop 1.1.0 fork of ubuntu_jdk8 Dockerfile 9 | 10 | FROM ubuntu:trusty 11 | MAINTAINER https://github.com/LamdaFu/dockerfiles/issues 12 | 13 | EXPOSE 4403 8000 8080 9876 22 14 | RUN apt-get update && \ 15 | apt-get -y install sudo openssh-server procps wget unzip mc curl subversion nmap software-properties-common python-software-properties vim && \ 16 | mkdir /var/run/sshd && \ 17 | sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd && \ 18 | echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ 19 | useradd -u 1000 -G users,sudo -d /home/user --shell /bin/bash -m user && \ 20 | echo "secret\nsecret" | passwd user && \ 21 | add-apt-repository ppa:git-core/ppa && \ 22 | apt-get update && \ 23 | sudo apt-get install git -y && \ 24 | apt-get clean && \ 25 | apt-get -y autoremove && \ 26 | rm -rf /var/lib/apt/lists/* 27 | 28 | USER user 29 | 30 | LABEL che:server:8080:ref=tomcat8 che:server:8080:protocol=http che:server:8000:ref=tomcat8-debug che:server:8000:protocol=http che:server:9876:ref=codeserver che:server:9876:protocol=http 31 | 32 | ENV MAVEN_VERSION=3.3.9 \ 33 | JAVA_VERSION=8u45 \ 34 | JAVA_VERSION_PREFIX=1.8.0_45 \ 35 | TOMCAT_HOME=/home/user/tomcat8 36 | 37 | ENV JAVA_HOME=/opt/jdk$JAVA_VERSION_PREFIX \ 38 | M2_HOME=/home/user/apache-maven-$MAVEN_VERSION 39 | 40 | ENV PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH 41 | 42 | RUN mkdir /home/user/cbuild /home/user/tomcat8 /home/user/apache-maven-$MAVEN_VERSION && \ 43 | wget \ 44 | --no-cookies \ 45 | --no-check-certificate \ 46 | --header "Cookie: oraclelicense=accept-securebackup-cookie" \ 47 | -qO- \ 48 | "http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-b14/jdk-$JAVA_VERSION-linux-x64.tar.gz" | sudo tar -zx -C /opt/ && \ 49 | wget -qO- "http://apache.ip-connect.vn.ua/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz" | tar -zx --strip-components=1 -C /home/user/apache-maven-$MAVEN_VERSION/ 50 | ENV TERM xterm 51 | 52 | RUN wget -qO- "http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.24/bin/apache-tomcat-8.0.24.tar.gz" | tar -zx --strip-components=1 -C /home/user/tomcat8 && \ 53 | rm -rf /home/user/tomcat8/webapps/* 54 | 55 | 56 | ENV LANG en_GB.UTF-8 57 | ENV LANG en_US.UTF-8 58 | RUN echo "export JAVA_HOME=/opt/jdk$JAVA_VERSION_PREFIX\nexport M2_HOME=/home/user/apache-maven-$MAVEN_VERSION\nexport TOMCAT_HOME=/home/user/tomcat8\nexport PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH" >> /home/user/.bashrc && \ 59 | sudo locale-gen en_US.UTF-8 60 | 61 | RUN echo "Setting up Bigtop 1.1.0" 62 | RUN wget -O- http://archive.apache.org/dist/bigtop/bigtop-1.1.0/repos/GPG-KEY-bigtop | sudo apt-key add - 63 | RUN sudo wget -O /etc/apt/sources.list.d/bigtop-1.1.0.list \ 64 | http://archive.apache.org/dist/bigtop/bigtop-1.1.0/repos/`lsb_release --codename --short`/bigtop.list 65 | RUN sudo apt-get update 66 | RUN sudo apt-get -y install hadoop-client hive pig sqoop flume 67 | 68 | WORKDIR /projects 69 | 70 | CMD sudo /usr/sbin/sshd -D && \ 71 | tail -f /dev/null 72 | -------------------------------------------------------------------------------- /hadoop-dev/README.md: -------------------------------------------------------------------------------- 1 | # hadoop-dev 2 | Hadoop Developer support for Eclipse Che 3 | 4 | Designed to fit within the Codenvy free tier (4 GiB RAM) and run on a single VM. All tools are installed in local mode which operates with the exact code base as a cluster. Please don't try to run pseudo-distributed mode as this is **not** supported. 5 | 6 | Current Hadoop components installed: 7 | * hadoop client 8 | * hive 9 | * flume-ng 10 | * sqoop 11 | * pig 12 | 13 | All components work by executing the normal command as documented in their respective project pages. If you need additional Hadoop components installed please log an issue here: https://github.com/LamdaFu/dockerfiles/issues 14 | 15 | Installing any additional Hadoop components may make the image exceed the minimal footprint allowed for the Codenvy free tier. 16 | -------------------------------------------------------------------------------- /meteor/latest/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/debian_jre 10 | ENV NPM_CONFIG_LOGLEVEL info 11 | ENV NODE_VERSION 5.6.0 12 | ENV LC_ALL=POSIX 13 | 14 | RUN sudo apt-get update && \ 15 | sudo apt-get -y install locales build-essential libssl-dev libkrb5-dev gcc make ruby-full rubygems && \ 16 | sudo gem install sass compass && \ 17 | sudo apt-get clean && \ 18 | sudo apt-get -y autoremove && \ 19 | sudo apt-get -y clean && \ 20 | sudo rm -rf /var/lib/apt/lists/* && \ 21 | set -ex \ 22 | && for key in \ 23 | 9554F04D7259F04124DE6B476D5A82AC7E37093B \ 24 | 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ 25 | 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 \ 26 | FD3A5288F042B6850C66B31F09FE44734EB7990E \ 27 | 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ 28 | DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ 29 | B9AE9905FFD7803F25714661B63B535A4C206CA9 \ 30 | C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ 31 | ; do \ 32 | gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ 33 | done && \ 34 | cd /home/user && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz" \ 35 | && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ 36 | && gpg --verify SHASUMS256.txt.asc \ 37 | && grep " node-v$NODE_VERSION-linux-x64.tar.xz\$" SHASUMS256.txt.asc | sha256sum -c - \ 38 | && sudo tar -xJf "node-v$NODE_VERSION-linux-x64.tar.xz" -C /usr/local --strip-components=1 \ 39 | && rm "node-v$NODE_VERSION-linux-x64.tar.xz" SHASUMS256.txt.asc && \ 40 | curl https://install.meteor.com/ | sh && \ 41 | sudo locale-gen en_US.UTF-8 && \ 42 | sudo localedef -i en_GB -f UTF-8 en_US.UTF 43 | EXPOSE 3000 44 | 45 | WORKDIR /projects 46 | 47 | CMD tail -f /dev/null 48 | -------------------------------------------------------------------------------- /meteor/ubuntu/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/ubuntu_jre 10 | ENV NPM_CONFIG_LOGLEVEL info 11 | ENV NODE_VERSION 5.6.0 12 | ENV LC_ALL=POSIX 13 | 14 | RUN sudo apt-get update && \ 15 | sudo apt-get -y install locales build-essential libssl-dev libkrb5-dev gcc make ruby-full rubygems-integration && \ 16 | sudo gem install sass compass && \ 17 | sudo apt-get clean && \ 18 | sudo apt-get -y autoremove && \ 19 | sudo apt-get -y clean && \ 20 | sudo rm -rf /var/lib/apt/lists/* && \ 21 | set -ex \ 22 | && for key in \ 23 | 9554F04D7259F04124DE6B476D5A82AC7E37093B \ 24 | 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ 25 | 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 \ 26 | FD3A5288F042B6850C66B31F09FE44734EB7990E \ 27 | 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ 28 | DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ 29 | B9AE9905FFD7803F25714661B63B535A4C206CA9 \ 30 | C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ 31 | ; do \ 32 | gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ 33 | done && \ 34 | cd /home/user && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz" \ 35 | && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ 36 | && gpg --verify SHASUMS256.txt.asc \ 37 | && grep " node-v$NODE_VERSION-linux-x64.tar.xz\$" SHASUMS256.txt.asc | sha256sum -c - \ 38 | && sudo tar -xJf "node-v$NODE_VERSION-linux-x64.tar.xz" -C /usr/local --strip-components=1 \ 39 | && rm "node-v$NODE_VERSION-linux-x64.tar.xz" SHASUMS256.txt.asc && \ 40 | curl https://install.meteor.com/ | sh && \ 41 | sudo locale-gen en_US.UTF-8 && \ 42 | sudo localedef -i en_GB -f UTF-8 en_US.UTF 43 | 44 | WORKDIR /projects 45 | 46 | CMD tail -f /dev/null 47 | -------------------------------------------------------------------------------- /node/latest/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/debian_jre 10 | ENV NODE_VERSION=6.6.0 \ 11 | NODE_PATH=/usr/local/lib/node_modules 12 | 13 | RUN sudo apt-get update && \ 14 | sudo apt-get -y install build-essential libssl-dev libkrb5-dev gcc make ruby-full rubygems debian-keyring && \ 15 | sudo gem install sass compass && \ 16 | sudo apt-get clean && \ 17 | sudo apt-get -y autoremove && \ 18 | sudo apt-get -y clean && \ 19 | sudo rm -rf /var/lib/apt/lists/* 20 | 21 | RUN set -ex \ 22 | && for key in \ 23 | 9554F04D7259F04124DE6B476D5A82AC7E37093B \ 24 | 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ 25 | 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 \ 26 | FD3A5288F042B6850C66B31F09FE44734EB7990E \ 27 | 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ 28 | DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ 29 | B9AE9905FFD7803F25714661B63B535A4C206CA9 \ 30 | C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ 31 | ; do \ 32 | gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ 33 | done 34 | 35 | RUN cd /home/user && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz" \ 36 | && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ 37 | && gpg --verify SHASUMS256.txt.asc \ 38 | && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ 39 | && grep " node-v$NODE_VERSION-linux-x64.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ 40 | && sudo tar -xJf "node-v$NODE_VERSION-linux-x64.tar.xz" -C /usr/local --strip-components=1 \ 41 | && sudo rm "node-v$NODE_VERSION-linux-x64.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \ 42 | && sudo ln -s /usr/local/bin/node /usr/local/bin/nodejs 43 | 44 | EXPOSE 3000 5000 9000 45 | RUN sudo npm install -g npm@latest 46 | RUN sudo npm install --unsafe-perm -g gulp bower grunt grunt-cli yeoman-generator yo generator-angular generator-karma generator-webapp 47 | 48 | WORKDIR /projects 49 | 50 | CMD tail -f /dev/null 51 | -------------------------------------------------------------------------------- /node/ubuntu/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/ubuntu_jre 10 | ENV NODE_VERSION=0.12.9 \ 11 | NODE_PATH=/usr/local/lib/node_modules 12 | 13 | RUN sudo apt-get update && \ 14 | sudo apt-get -y install build-essential libssl-dev libkrb5-dev gcc make ruby-full rubygems-integration python && \ 15 | sudo gem install sass compass && \ 16 | sudo apt-get clean && \ 17 | sudo apt-get -y autoremove && \ 18 | sudo apt-get -y clean && \ 19 | sudo rm -rf /var/lib/apt/lists/* && \ 20 | set -ex \ 21 | && for key in \ 22 | 9554F04D7259F04124DE6B476D5A82AC7E37093B \ 23 | 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ 24 | 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 \ 25 | FD3A5288F042B6850C66B31F09FE44734EB7990E \ 26 | 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ 27 | DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ 28 | ; do \ 29 | gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ 30 | done && \ 31 | cd /home/user && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.gz" \ 32 | && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ 33 | && gpg --verify SHASUMS256.txt.asc \ 34 | && grep "node-v$NODE_VERSION-linux-x64.tar.gz\$" SHASUMS256.txt.asc | sha256sum -c - \ 35 | && sudo tar -xzf "node-v$NODE_VERSION-linux-x64.tar.gz" -C /usr/local --strip-components=1 \ 36 | && sudo rm "node-v$NODE_VERSION-linux-x64.tar.gz" SHASUMS256.txt.asc 37 | 38 | EXPOSE 3000 5000 9000 39 | RUN sudo npm install -g npm@latest 40 | RUN sudo npm install --unsafe-perm -g gulp bower grunt grunt-cli yeoman-generator yo generator-angular generator-karma generator-webapp 41 | 42 | WORKDIR /projects 43 | 44 | CMD tail -f /dev/null 45 | -------------------------------------------------------------------------------- /php/gae/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/php 10 | ENV GAE /home/user/google_appengine 11 | 12 | RUN sudo apt-get update && \ 13 | sudo apt-get install --no-install-recommends -y -q build-essential python2.7 python2.7-dev python-pip && \ 14 | sudo pip install -U pip && \ 15 | sudo pip install virtualenv 16 | RUN cd /home/user/ && wget -q https://storage.googleapis.com/appengine-sdks/featured/google_appengine_1.9.40.zip && \ 17 | unzip -q google_appengine_1.9.40.zip && \ 18 | rm google_appengine_1.9.40.zip 19 | 20 | EXPOSE 8080 8000 21 | WORKDIR /projects 22 | -------------------------------------------------------------------------------- /php/laravel/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM codenvy/php 2 | 3 | RUN composer global require "laravel/installer" && \ 4 | sudo sed -i '$ d' /home/user/.bashrc 5 | 6 | ENV PATH /home/user/.composer/vendor/bin:$PATH 7 | 8 | -------------------------------------------------------------------------------- /php/latest/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/debian_jre 10 | ENV DEBIAN_FRONTEND noninteractive 11 | ENV CHE_MYSQL_PASSWORD=che 12 | ENV CHE_MYSQL_DB=che_db 13 | ENV CHE_MYSQL_USER=che 14 | 15 | # install php with a set of most widely used extensions 16 | RUN sudo apt-get update && sudo apt-get install -y \ 17 | apache2 \ 18 | php5 \ 19 | php5-mhash \ 20 | php5-mcrypt \ 21 | php5-curl \ 22 | php5-cli \ 23 | php5-mysql \ 24 | php5-gd \ 25 | libapache2-mod-php5 \ 26 | php5-cli \ 27 | php5-json \ 28 | php5-cgi \ 29 | php5-sqlite && \ 30 | sudo sed -i 's/\/var\/www\/html/\/projects/g' /etc/apache2/sites-available/000-default.conf && \ 31 | sudo sed -i 's/None/All/g' /etc/apache2/apache2.conf && \ 32 | sudo sed -i 's/\/var\/www/\/projects/g' /etc/apache2/apache2.conf && \ 33 | echo "ServerName localhost" | sudo tee -a /etc/apache2/apache2.conf && \ 34 | sudo a2enmod rewrite && \ 35 | curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer && \ 36 | echo -e "MySQL password: $CHE_MYSQL_PASSWORD" >> /home/user/.mysqlrc && \ 37 | echo -e "MySQL user : $CHE_MYSQL_USER" >> /home/user/.mysqlrc && \ 38 | echo -e "MySQL Database: $CHE_MYSQL_DB" >> /home/user/.mysqlrc && \ 39 | sudo -E bash -c "apt-get -y --no-install-recommends install mysql-server" && \ 40 | sudo apt-get clean && \ 41 | sudo apt-get -y autoremove && \ 42 | sudo apt-get -y clean && \ 43 | sudo rm -rf /var/lib/apt/lists/* && \ 44 | sudo sed -i.bak 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf && \ 45 | sudo service mysql restart && \ 46 | sudo mysql -uroot -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; FLUSH PRIVILEGES;" && \ 47 | sudo service mysql restart && \ 48 | sudo service mysql restart && sudo mysql -uroot -e "CREATE USER '$CHE_MYSQL_USER'@'%' IDENTIFIED BY '"$CHE_MYSQL_PASSWORD"'" && \ 49 | sudo mysql -uroot -e "GRANT ALL PRIVILEGES ON *.* TO '$CHE_MYSQL_USER'@'%' IDENTIFIED BY '"$CHE_MYSQL_PASSWORD"'; FLUSH PRIVILEGES;" && \ 50 | sudo mysql -uroot -e "CREATE DATABASE $CHE_MYSQL_DB;" 51 | 52 | # label is used in Servers tab to display mapped port for Apache process on 80 port in the container 53 | LABEL che:server:80:ref=apache2 che:server:80:protocol=http 54 | 55 | EXPOSE 80 3306 56 | 57 | WORKDIR /projects 58 | 59 | CMD tail -f /dev/null 60 | -------------------------------------------------------------------------------- /php/ubuntu/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/ubuntu_jre 10 | 11 | ENV DEBIAN_FRONTEND noninteractive 12 | ENV CHE_MYSQL_PASSWORD=che 13 | ENV CHE_MYSQL_DB=che_db 14 | ENV CHE_MYSQL_USER=che 15 | 16 | # install php with a set of most widely used extensions 17 | RUN sudo apt-get update && \ 18 | sudo apt-get install -y \ 19 | apache2 \ 20 | php5 \ 21 | php5-mhash \ 22 | php5-mcrypt \ 23 | php5-curl \ 24 | php5-mysql \ 25 | php5-gd \ 26 | libapache2-mod-php5 \ 27 | php5-cli \ 28 | php5-json \ 29 | php5-cgi \ 30 | php5-sqlite 31 | RUN sudo sed -i 's/\/var\/www\/html/\/projects/g' /etc/apache2/sites-available/000-default.conf && \ 32 | sudo sed -i 's/None/All/g' /etc/apache2/sites-available/000-default.conf && \ 33 | echo "ServerName localhost" | sudo tee -a /etc/apache2/apache2.conf && \ 34 | sudo a2enmod rewrite 35 | 36 | RUN curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer && \ 37 | echo -e "MySQL password: $CHE_MYSQL_PASSWORD" >> /home/user/.mysqlrc && \ 38 | echo -e "MySQL user : $CHE_MYSQL_USER" >> /home/user/.mysqlrc && \ 39 | echo -e "MySQL Database: $CHE_MYSQL_DB" >> /home/user/.mysqlrc && \ 40 | sudo -E bash -c "apt-get -y --no-install-recommends install mysql-server" && \ 41 | sudo apt-get clean && \ 42 | sudo apt-get -y autoremove && \ 43 | sudo apt-get -y clean && \ 44 | sudo rm -rf /var/lib/apt/lists/* && \ 45 | sudo sed -i.bak 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf && \ 46 | sudo service mysql restart && \ 47 | sudo mysql -uroot -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; FLUSH PRIVILEGES;" && \ 48 | sudo service mysql restart && \ 49 | sudo service mysql restart && sudo mysql -uroot -e "CREATE USER '$CHE_MYSQL_USER'@'%' IDENTIFIED BY '"$CHE_MYSQL_PASSWORD"'" && \ 50 | sudo mysql -uroot -e "GRANT ALL PRIVILEGES ON *.* TO '$CHE_MYSQL_USER'@'%' IDENTIFIED BY '"$CHE_MYSQL_PASSWORD"'; FLUSH PRIVILEGES;" && \ 51 | sudo mysql -uroot -e "CREATE DATABASE $CHE_MYSQL_DB;" 52 | 53 | # label is used in Servers tab to display mapped port for Apache process on 80 port in the container 54 | LABEL che:server:80:ref=apache2 che:server:80:protocol=http 55 | 56 | EXPOSE 80 3306 57 | WORKDIR /projects 58 | 59 | CMD sudo chown -R www-data:www-data /projects && \ 60 | sudo chmod -R 777 /projects && \ 61 | tail -f /dev/null 62 | -------------------------------------------------------------------------------- /ruby_rails/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/ubuntu_jre 10 | ENV RAILS_VERSION 4.2.6 11 | ENV RUBY_MAJOR 2.3 12 | ENV RUBY_VERSION 2.3.0 13 | ENV RUBY_DOWNLOAD_SHA256 ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507 14 | ENV RUBYGEMS_VERSION 2.6.2 15 | 16 | USER root 17 | # skip installing gem documentation 18 | RUN mkdir -p /usr/local/etc \ 19 | && echo 'install: --no-document' >> /usr/local/etc/gemrc \ 20 | && echo 'update: --no-document' >> /usr/local/etc/gemrc 21 | USER user 22 | 23 | # some of ruby's build scripts are written in ruby 24 | # we purge this later to make sure our final image uses what we just built 25 | RUN set -ex \ 26 | && buildDeps=' \ 27 | bison \ 28 | libgdbm-dev \ 29 | ruby \ 30 | ' \ 31 | && sudo apt-get update \ 32 | && sudo apt-get install -y --no-install-recommends make gcc zlib1g-dev autoconf build-essential libssl-dev libsqlite3-dev $buildDeps \ 33 | && sudo rm -rf /var/lib/apt/lists/* \ 34 | && sudo curl -fSL -o ruby.tar.gz "http://cache.ruby-lang.org/pub/ruby/$RUBY_MAJOR/ruby-$RUBY_VERSION.tar.gz" \ 35 | && echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.gz" | sha256sum -c - \ 36 | && sudo mkdir -p /usr/src/ruby \ 37 | && sudo tar -xzf ruby.tar.gz -C /usr/src/ruby --strip-components=1 \ 38 | && sudo rm ruby.tar.gz 39 | 40 | USER root 41 | RUN cd /usr/src/ruby \ 42 | && { sudo echo '#define ENABLE_PATH_CHECK 0'; echo; cat file.c; } > file.c.new && mv file.c.new file.c \ 43 | && autoconf \ 44 | && ./configure --disable-install-doc 45 | USER user 46 | 47 | RUN cd /usr/src/ruby \ 48 | && sudo make -j"$(nproc)" \ 49 | && sudo make install \ 50 | && sudo apt-get purge -y --auto-remove $buildDeps \ 51 | && sudo gem update --system $RUBYGEMS_VERSION \ 52 | && sudo rm -r /usr/src/ruby 53 | 54 | 55 | ENV BUNDLER_VERSION 1.11.2 56 | 57 | RUN sudo gem install bundler --version "$BUNDLER_VERSION" 58 | 59 | # install things globally, for great justice 60 | # and don't create ".bundle" in all our apps 61 | ENV GEM_HOME /usr/local/bundle 62 | ENV BUNDLE_PATH="$GEM_HOME" \ 63 | BUNDLE_BIN="$GEM_HOME/bin" \ 64 | BUNDLE_SILENCE_ROOT_WARNING=1 \ 65 | BUNDLE_APP_CONFIG="$GEM_HOME" 66 | ENV PATH $BUNDLE_BIN:$PATH 67 | RUN sudo mkdir -p "$GEM_HOME" "$BUNDLE_BIN" \ 68 | && sudo chmod 777 "$GEM_HOME" "$BUNDLE_BIN" 69 | 70 | RUN sudo apt-get update && sudo apt-get install -y nodejs --no-install-recommends && sudo rm -rf /var/lib/apt/lists/* 71 | 72 | # see http://guides.rubyonrails.org/command_line.html#rails-dbconsole 73 | RUN sudo apt-get update && sudo apt-get install -y mysql-client postgresql-client sqlite3 --no-install-recommends && sudo rm -rf /var/lib/apt/lists/* 74 | 75 | RUN sudo gem install rails --version "$RAILS_VERSION" 76 | 77 | EXPOSE 3000 78 | WORKDIR /projects 79 | 80 | CMD tailf /dev/null 81 | -------------------------------------------------------------------------------- /selenium/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM ubuntu 10 | 11 | EXPOSE 8080 8000 12 | RUN apt-get update && \ 13 | apt-get -y install sudo procps wget unzip mc curl && \ 14 | echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ 15 | useradd -u 1000 -G users,sudo -d /home/user --shell /bin/bash -m user && \ 16 | echo "secret\nsecret" | passwd user 17 | 18 | # install xserver, blackbox, Chrome, Selenium webdriver 19 | 20 | USER user 21 | 22 | RUN cd /home/user && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - && \ 23 | wget -q http://chromedriver.storage.googleapis.com/2.24/chromedriver_linux64.zip && \ 24 | unzip -q chromedriver_linux64.zip && rm chromedriver_linux64.zip 25 | 26 | USER root 27 | 28 | RUN echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list 29 | 30 | USER user 31 | 32 | RUN sudo apt-get update -qqy && \ 33 | sudo apt-get -qqy install \ 34 | google-chrome-stable \ 35 | supervisor \ 36 | x11vnc \ 37 | xvfb \ 38 | subversion \ 39 | net-tools \ 40 | blackbox \ 41 | rxvt-unicode \ 42 | xfonts-terminus && \ 43 | sudo rm /etc/apt/sources.list.d/google-chrome.list \ 44 | sudo rm -rf /var/lib/apt/lists/* 45 | 46 | # download and install noVNC, configure Blackbox 47 | 48 | RUN sudo mkdir -p /opt/noVNC/utils/websockify && \ 49 | wget -qO- "http://github.com/kanaka/noVNC/tarball/master" | sudo tar -zx --strip-components=1 -C /opt/noVNC && \ 50 | wget -qO- "https://github.com/kanaka/websockify/tarball/master" | sudo tar -zx --strip-components=1 -C /opt/noVNC/utils/websockify && \ 51 | sudo mkdir -p /etc/X11/blackbox && \ 52 | echo "[begin] (Blackbox) \n [exec] (Terminal) {urxvt -fn "xft:Terminus:size=14"} \n \ 53 | [exec] (Chrome) {/opt/google/chrome/google-chrome} \n \ 54 | [end]" | sudo tee -a /etc/X11/blackbox/blackbox-menu 55 | 56 | ADD index.html /opt/noVNC/ 57 | ADD supervisord.conf /opt/ 58 | EXPOSE 4444 6080 32745 59 | ENV DISPLAY :20.0 60 | 61 | ENV MAVEN_VERSION=3.3.9 \ 62 | JAVA_VERSION=8u45 \ 63 | JAVA_VERSION_PREFIX=1.8.0_45 \ 64 | TOMCAT_HOME=/home/user/tomcat8 65 | 66 | ENV JAVA_HOME=/opt/jdk$JAVA_VERSION_PREFIX \ 67 | M2_HOME=/home/user/apache-maven-$MAVEN_VERSION 68 | 69 | ENV PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH 70 | 71 | RUN mkdir /home/user/cbuild /home/user/tomcat8 /home/user/apache-maven-$MAVEN_VERSION && \ 72 | wget \ 73 | --no-cookies \ 74 | --no-check-certificate \ 75 | --header "Cookie: oraclelicense=accept-securebackup-cookie" \ 76 | -qO- \ 77 | "http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-b14/jdk-$JAVA_VERSION-linux-x64.tar.gz" | sudo tar -zx -C /opt/ && \ 78 | wget -qO- "http://apache.ip-connect.vn.ua/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz" | tar -zx --strip-components=1 -C /home/user/apache-maven-$MAVEN_VERSION/ 79 | ENV TERM xterm 80 | 81 | RUN wget -qO- "http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.24/bin/apache-tomcat-8.0.24.tar.gz" | tar -zx --strip-components=1 -C /home/user/tomcat8 && \ 82 | rm -rf /home/user/tomcat8/webapps/* 83 | 84 | 85 | ENV LANG en_GB.UTF-8 86 | ENV LANG en_US.UTF-8 87 | RUN echo "export JAVA_HOME=/opt/jdk$JAVA_VERSION_PREFIX\nexport M2_HOME=/home/user/apache-maven-$MAVEN_VERSION\nexport TOMCAT_HOME=/home/user/tomcat8\nexport PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH" >> /home/user/.bashrc && \ 88 | sudo locale-gen en_US.UTF-8 89 | 90 | WORKDIR /projects 91 | 92 | CMD /usr/bin/supervisord -c /opt/supervisord.conf & \ 93 | cd /home/user && sleep 3 && \ 94 | ./chromedriver --port=4444 --whitelisted-ips='' & \ 95 | sleep 365d 96 | -------------------------------------------------------------------------------- /selenium/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | Page Redirection 18 | 19 | 20 | 21 | If you are not redirected automatically, follow the link to example 22 | 23 | 24 | -------------------------------------------------------------------------------- /selenium/supervisord.conf: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | [supervisord] 10 | nodaemon=false 11 | logfile=/home/user/supervisord.log 12 | pidfile=/home/user/supervisord.pid 13 | loglevel=error 14 | 15 | [program:xvfb] 16 | priority=10 17 | command=Xvfb :20.0 -screen 0 1920x1080x16 18 | 19 | [program:blackbox] 20 | priority=20 21 | command=blackbox 22 | environment=DISPLAY=":20.0",HOME="/home/user",SHELL="/bin/bash" 23 | 24 | [program:x11vnc] 25 | priority=30 26 | command=x11vnc -display :20.0 -xkb 27 | autorestart=true 28 | 29 | [program:novnc] 30 | priority=40 31 | command=/opt/noVNC/utils/launch.sh 32 | 33 | [program:application] 34 | command=java -jar /home/user/app/application.jar 35 | environment=DISPLAY=":20.0",HOME="/home/user",SHELL="/bin/bash" 36 | -------------------------------------------------------------------------------- /ubuntu_android/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM ubuntu:14.04 10 | 11 | ENV MAVEN_VERSION=3.3.9 \ 12 | JAVA_VERSION=8u45 \ 13 | JAVA_VERSION_PREFIX=1.8.0_45 14 | ENV JAVA_HOME=/opt/jdk$JAVA_VERSION_PREFIX \ 15 | M2_HOME=/home/user/apache-maven-$MAVEN_VERSION 16 | ENV TERM xterm 17 | ENV LANG en_GB.UTF-8 18 | ENV LANG en_US.UTF-8 19 | RUN sudo locale-gen en_US.UTF-8 20 | ENV PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH 21 | ENV ANDROID_HOME=/home/user/android-sdk-linux 22 | ENV PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH 23 | 24 | LABEL che:server:6080:ref=VNC che:server:6080:protocol=http 25 | 26 | RUN echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ 27 | useradd -u 1000 -G users,sudo -d /home/user --shell /bin/bash -m user && \ 28 | echo "secret\nsecret" | passwd user 29 | 30 | USER user 31 | 32 | RUN sudo dpkg --add-architecture i386 && \ 33 | sudo apt-get update && sudo apt-get install -y --force-yes expect libswt-gtk-3-java lib32z1 lib32ncurses5 lib32stdc++6 supervisor x11vnc xvfb net-tools \ 34 | blackbox rxvt-unicode xfonts-terminus sudo openssh-server procps \ 35 | wget unzip mc curl software-properties-common python-software-properties && \ 36 | sudo mkdir /var/run/sshd && \ 37 | sudo sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd && \ 38 | sudo add-apt-repository ppa:git-core/ppa && \ 39 | sudo apt-get update && \ 40 | sudo sudo apt-get install git subversion -y && \ 41 | mkdir /home/user/apache-maven-$MAVEN_VERSION && \ 42 | wget \ 43 | --no-cookies \ 44 | --no-check-certificate \ 45 | --header "Cookie: oraclelicense=accept-securebackup-cookie" \ 46 | -qO- \ 47 | "http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-b14/jdk-$JAVA_VERSION-linux-x64.tar.gz" | sudo tar -zx -C /opt/ && \ 48 | wget -qO- "https://archive.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz" | tar -zx --strip-components=1 -C /home/user/apache-maven-$MAVEN_VERSION/ && \ 49 | cd /home/user && wget --output-document=android-sdk.tgz --quiet http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz && tar -xvf android-sdk.tgz && rm android-sdk.tgz && \ 50 | sudo apt-get clean && \ 51 | sudo apt-get -y autoremove && \ 52 | sudo rm -rf /var/lib/apt/lists/* && \ 53 | echo y | android update sdk --all --force --no-ui --filter platform-tools,build-tools-21.1.1,android-21,sys-img-armeabi-v7a-android-21 && \ 54 | echo "no" | android create avd \ 55 | --name che \ 56 | --target android-21 \ 57 | --abi armeabi-v7a && \ 58 | sudo mkdir -p /opt/noVNC/utils/websockify && \ 59 | wget -qO- "http://github.com/kanaka/noVNC/tarball/master" | sudo tar -zx --strip-components=1 -C /opt/noVNC && \ 60 | wget -qO- "https://github.com/kanaka/websockify/tarball/master" | sudo tar -zx --strip-components=1 -C /opt/noVNC/utils/websockify && \ 61 | sudo mkdir -p /etc/X11/blackbox && \ 62 | echo "[begin] (Blackbox) \n [exec] (Terminal) {urxvt -fn "xft:Terminus:size=12"} \n \ 63 | [exec] (Emulator) {emulator64-arm -avd che} \n \ 64 | [end]" | sudo tee -a /etc/X11/blackbox/blackbox-menu && \ 65 | echo "#! /bin/bash\n set -e\n sudo /usr/sbin/sshd -D &\n/usr/bin/supervisord -c /opt/supervisord.conf &\n exec \"\$@\"" > /home/user/entrypoint.sh && chmod a+x /home/user/entrypoint.sh 66 | 67 | ADD index.html /opt/noVNC/ 68 | ADD supervisord.conf /opt/ 69 | RUN svn --version && \ 70 | sed -i 's/# store-passwords = no/store-passwords = yes/g' /home/user/.subversion/servers && \ 71 | sed -i 's/# store-plaintext-passwords = no/store-plaintext-passwords = yes/g' /home/user/.subversion/servers 72 | ENTRYPOINT ["/home/user/entrypoint.sh"] 73 | EXPOSE 4403 6080 22 74 | 75 | WORKDIR /projects 76 | 77 | CMD tail -f /dev/null 78 | -------------------------------------------------------------------------------- /ubuntu_android/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | Page Redirection 18 | 19 | 20 | 21 | If you are not redirected automatically, follow the link to example 22 | 23 | 24 | -------------------------------------------------------------------------------- /ubuntu_android/supervisord.conf: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | [supervisord] 10 | nodaemon=false 11 | logfile=/home/user/supervisord.log 12 | pidfile=/home/user/supervisord.pid 13 | loglevel=error 14 | 15 | [program:xvfb] 16 | priority=10 17 | command=Xvfb :0 -screen 0 1024x768x16 18 | 19 | [program:blackbox] 20 | priority=20 21 | command=blackbox 22 | environment=DISPLAY=":0",HOME="/home/user",SHELL="/bin/bash" 23 | 24 | [program:x11vnc] 25 | priority=30 26 | command=x11vnc -display :0 -xkb 27 | autorestart=true 28 | 29 | [program:novnc] 30 | priority=40 31 | command=/opt/noVNC/utils/launch.sh 32 | 33 | -------------------------------------------------------------------------------- /ubuntu_go/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM codenvy/ubuntu_jre 2 | RUN sudo apt-get update && sudo apt-get install -y --no-install-recommends \ 3 | g++ \ 4 | gcc \ 5 | libc6-dev \ 6 | make \ 7 | && sudo rm -rf /var/lib/apt/lists/* 8 | 9 | ENV GOLANG_VERSION 1.6.2 10 | ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz 11 | ENV GOLANG_DOWNLOAD_SHA256 e40c36ae71756198478624ed1bb4ce17597b3c19d243f3f0899bb5740d56212a 12 | 13 | RUN sudo curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz \ 14 | && echo "$GOLANG_DOWNLOAD_SHA256 golang.tar.gz" | sha256sum -c - \ 15 | && sudo tar -C /usr/local -xzf golang.tar.gz \ 16 | && sudo rm golang.tar.gz 17 | 18 | RUN sudo sed -i '$ d' /home/user/.bashrc 19 | ENV GOPATH /go 20 | ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH 21 | 22 | RUN sudo mkdir -p "$GOPATH/src" "$GOPATH/bin" && sudo chmod -R 777 "$GOPATH" 23 | 24 | EXPOSE 8080 25 | 26 | CMD tail -f /dev/null 27 | -------------------------------------------------------------------------------- /ubuntu_gradle/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/ubuntu_jdk8 10 | 11 | ENV GRADLE_VERSION=2.3 12 | ENV GRADLE_HOME /home/user/gradle-$GRADLE_VERSION 13 | ENV PATH $GRADLE_HOME/bin:$PATH 14 | 15 | RUN wget -P /home/user/ --quiet https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip && \ 16 | cd /home/user/ && unzip gradle-$GRADLE_VERSION-bin.zip && rm gradle-$GRADLE_VERSION-bin.zip 17 | 18 | EXPOSE 9000 19 | WORKDIR /projects -------------------------------------------------------------------------------- /ubuntu_jdk8/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM ubuntu:14.04 10 | EXPOSE 4403 8000 8080 9876 22 11 | RUN apt-get update && \ 12 | apt-get -y install sudo openssh-server procps wget unzip mc curl subversion software-properties-common python-software-properties && \ 13 | mkdir /var/run/sshd && \ 14 | sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd && \ 15 | echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ 16 | useradd -u 1000 -G users,sudo -d /home/user --shell /bin/bash -m user && \ 17 | echo "secret\nsecret" | passwd user && \ 18 | add-apt-repository ppa:git-core/ppa && \ 19 | apt-get update && \ 20 | sudo apt-get install git -y && \ 21 | apt-get clean && \ 22 | apt-get -y autoremove && \ 23 | rm -rf /var/lib/apt/lists/* 24 | 25 | USER user 26 | 27 | LABEL che:server:8080:ref=tomcat8 che:server:8080:protocol=http che:server:8000:ref=tomcat8-debug che:server:8000:protocol=http che:server:9876:ref=codeserver che:server:9876:protocol=http 28 | 29 | 30 | ENV MAVEN_VERSION=3.3.9 \ 31 | JAVA_VERSION=8u45 \ 32 | JAVA_VERSION_PREFIX=1.8.0_45 \ 33 | TOMCAT_HOME=/home/user/tomcat8 34 | 35 | ENV JAVA_HOME=/opt/jdk$JAVA_VERSION_PREFIX \ 36 | M2_HOME=/home/user/apache-maven-$MAVEN_VERSION 37 | 38 | ENV PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH 39 | 40 | RUN mkdir /home/user/tomcat8 /home/user/apache-maven-$MAVEN_VERSION && \ 41 | wget \ 42 | --no-cookies \ 43 | --no-check-certificate \ 44 | --header "Cookie: oraclelicense=accept-securebackup-cookie" \ 45 | -qO- \ 46 | "http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-b14/jdk-$JAVA_VERSION-linux-x64.tar.gz" | sudo tar -zx -C /opt/ && \ 47 | wget -qO- "http://apache.ip-connect.vn.ua/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz" | tar -zx --strip-components=1 -C /home/user/apache-maven-$MAVEN_VERSION/ 48 | ENV TERM xterm 49 | 50 | RUN wget -qO- "http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.24/bin/apache-tomcat-8.0.24.tar.gz" | tar -zx --strip-components=1 -C /home/user/tomcat8 && \ 51 | rm -rf /home/user/tomcat8/webapps/* 52 | 53 | 54 | ENV LANG en_GB.UTF-8 55 | ENV LANG en_US.UTF-8 56 | RUN sudo locale-gen en_US.UTF-8 && \ 57 | svn --version && \ 58 | sed -i 's/# store-passwords = no/store-passwords = yes/g' /home/user/.subversion/servers && \ 59 | sed -i 's/# store-plaintext-passwords = no/store-plaintext-passwords = yes/g' /home/user/.subversion/servers 60 | WORKDIR /projects 61 | 62 | CMD sudo /usr/sbin/sshd -D && \ 63 | tail -f /dev/null 64 | -------------------------------------------------------------------------------- /ubuntu_jre/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM ubuntu:14.04 10 | 11 | ENV JAVA_VERSION=8u65 \ 12 | JAVA_VERSION_PREFIX=1.8.0_65 13 | ENV JAVA_HOME /opt/jre$JAVA_VERSION_PREFIX 14 | ENV PATH $JAVA_HOME/bin:$PATH 15 | RUN apt-get update && \ 16 | apt-get -y install \ 17 | openssh-server \ 18 | sudo \ 19 | procps \ 20 | wget \ 21 | unzip \ 22 | mc \ 23 | ca-certificates \ 24 | curl \ 25 | software-properties-common \ 26 | python-software-properties && \ 27 | mkdir /var/run/sshd && \ 28 | sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd && \ 29 | echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ 30 | useradd -u 1000 -G users,sudo -d /home/user --shell /bin/bash -m user && \ 31 | echo "secret\nsecret" | passwd user && \ 32 | add-apt-repository ppa:git-core/ppa && \ 33 | apt-get update && \ 34 | sudo apt-get install git subversion -y && \ 35 | apt-get clean && \ 36 | wget \ 37 | --no-cookies \ 38 | --no-check-certificate \ 39 | --header "Cookie: oraclelicense=accept-securebackup-cookie" \ 40 | -qO- \ 41 | "http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-b17/jre-$JAVA_VERSION-linux-x64.tar.gz" | tar -zx -C /opt/ && \ 42 | apt-get -y autoremove \ 43 | && apt-get -y clean \ 44 | && rm -rf /var/lib/apt/lists/* && \ 45 | echo "#! /bin/bash\n set -e\n sudo /usr/sbin/sshd -D &\n exec \"\$@\"" > /home/user/entrypoint.sh && chmod a+x /home/user/entrypoint.sh 46 | 47 | ENV LANG en_GB.UTF-8 48 | ENV LANG en_US.UTF-8 49 | RUN echo "export JAVA_HOME=/opt/jre$JAVA_VERSION_PREFIX\nexport PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH" >> /home/user/.bashrc && \ 50 | sudo locale-gen en_US.UTF-8 51 | USER user 52 | EXPOSE 22 4403 53 | WORKDIR /projects 54 | ENTRYPOINT ["/home/user/entrypoint.sh"] 55 | CMD tail -f /dev/null 56 | -------------------------------------------------------------------------------- /ubuntu_python/2.7/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/ubuntu_jre 10 | 11 | # remove several traces of debian python 12 | RUN sudo apt-get purge -y python.* && \ 13 | sudo apt-get update && \ 14 | sudo apt-get install -y gcc make python-pip zlibc zlib1g zlib1g-dev libssl-dev 15 | 16 | # http://bugs.python.org/issue19846 17 | # > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK. 18 | ENV LANG C.UTF-8 19 | 20 | # gpg: key 18ADD4FF: public key "Benjamin Peterson " imported 21 | ENV GPG_KEY C01E1CAD5EA2C4F0B8E3571504C367C218ADD4FF 22 | 23 | ENV PYTHON_VERSION 2.7.11 24 | 25 | # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" 26 | ENV PYTHON_PIP_VERSION 8.1.1 27 | 28 | RUN set -ex \ 29 | && sudo curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \ 30 | && sudo curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \ 31 | && export GNUPGHOME="$(mktemp -d)" \ 32 | && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \ 33 | && gpg --batch --verify python.tar.xz.asc python.tar.xz \ 34 | && sudo rm -r "$GNUPGHOME" python.tar.xz.asc \ 35 | && sudo mkdir -p /usr/src/python \ 36 | && sudo tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \ 37 | && sudo rm python.tar.xz \ 38 | \ 39 | && cd /usr/src/python \ 40 | && sudo ./configure --enable-shared --enable-unicode=ucs4 \ 41 | && sudo make -j$(nproc) \ 42 | && sudo make install \ 43 | && sudo ldconfig \ 44 | && sudo curl -fSL 'https://bootstrap.pypa.io/get-pip.py' | sudo python2 \ 45 | && sudo pip install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \ 46 | && sudo find /usr/local \ 47 | \( -type d -a -name test -o -name tests \) \ 48 | -o \( -type f -a -name '*.pyc' -o -name '*.pyo' \) \ 49 | -exec rm -rf '{}' + \ 50 | && sudo rm -rf /usr/src/python 51 | 52 | # install "virtualenv", since the vast majority of users of this image will want it 53 | RUN sudo pip install --no-cache-dir virtualenv 54 | EXPOSE 8080 55 | 56 | WORKDIR /projects 57 | 58 | CMD tailf /dev/null 59 | -------------------------------------------------------------------------------- /ubuntu_python/3.5/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/ubuntu_jre 10 | 11 | # remove several traces of debian python 12 | RUN sudo apt-get purge -y python.* && \ 13 | sudo apt-get update && \ 14 | sudo apt-get install -y gcc make python3-pip 15 | 16 | # http://bugs.python.org/issue19846 # > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK. 17 | ENV LANG C.UTF-8 18 | 19 | # gpg: key F73C700D: public key "Larry Hastings " imported 20 | ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D 21 | ENV PYTHON_VERSION 3.5.1 22 | 23 | # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" 24 | ENV PYTHON_PIP_VERSION 8.1.1 25 | 26 | RUN set -ex \ 27 | && sudo curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \ 28 | && sudo curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \ 29 | && export GNUPGHOME="$(mktemp -d)" \ 30 | && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \ 31 | && gpg --batch --verify python.tar.xz.asc python.tar.xz \ 32 | && sudo rm -r "$GNUPGHOME" python.tar.xz.asc \ 33 | && sudo mkdir -p /usr/src/python \ 34 | && sudo tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \ 35 | && sudo rm python.tar.xz \ 36 | \ 37 | && cd /usr/src/python \ 38 | && sudo ./configure --enable-shared --enable-unicode=ucs4 \ 39 | && sudo make -j$(nproc) \ 40 | && sudo make install \ 41 | && sudo ldconfig \ 42 | && sudo pip3 install --upgrade --ignore-installed pip==$PYTHON_PIP_VERSION \ 43 | && sudo find /usr/local \ 44 | \( -type d -a -name test -o -name tests \) \ 45 | -o \( -type f -a -name '*.pyc' -o -name '*.pyo' \) \ 46 | -exec rm -rf '{}' + \ 47 | && sudo rm -rf /usr/src/python 48 | 49 | # make some useful symlinks that are expected to exist 50 | RUN cd /usr/local/bin \ 51 | && sudo ln -s easy_install-3.5 easy_install \ 52 | && sudo ln -s idle3 idle \ 53 | && sudo ln -s pydoc3 pydoc \ 54 | && sudo ln -s python3 python \ 55 | && sudo ln -s python-config3 python-config 56 | RUN sudo pip install --no-cache-dir virtualenv 57 | 58 | EXPOSE 8080 59 | 60 | WORKDIR /projects 61 | 62 | CMD tailf /dev/null 63 | -------------------------------------------------------------------------------- /ubuntu_python/gae_python2.7/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/debian_jre 10 | 11 | ENV GAE /home/user/google_appengine 12 | 13 | RUN sudo apt-get update && \ 14 | sudo apt-get install --no-install-recommends -y -q build-essential python2.7 python2.7-dev python-pip && \ 15 | sudo pip install -U pip && \ 16 | sudo pip install virtualenv 17 | RUN wget -qO- "https://storage.googleapis.com/appengine-sdks/featured/google_appengine_1.9.40.zip" -O /tmp/gae-sdk.zip && \ 18 | unzip -q /tmp/gae-sdk.zip -d /home/user && \ 19 | rm /tmp/gae-sdk.zip 20 | 21 | EXPOSE 8080 8000 22 | WORKDIR /projects 23 | CMD tailf /dev/null 24 | -------------------------------------------------------------------------------- /ubuntu_python/gae_python3/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/debian_jre 10 | 11 | ENV GAE /home/user/google_appengine 12 | 13 | RUN sudo apt-get update -y && \ 14 | sudo apt-get install --no-install-recommends -y -q build-essential python3 python3-dev python-pip git python3-pip && \ 15 | sudo pip3 install -U pip && \ 16 | sudo pip3 install virtualenv 17 | RUN wget -qO- "https://storage.googleapis.com/appengine-sdks/featured/google_appengine_1.9.40.zip" -O /tmp/gae-sdk.zip && \ 18 | unzip -q /tmp/gae-sdk.zip -d /home/user && \ 19 | rm /tmp/gae-sdk.zip 20 | 21 | EXPOSE 8080 8000 22 | WORKDIR /projects 23 | CMD tailf /dev/null 24 | -------------------------------------------------------------------------------- /ubuntu_wildfly8/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM ubuntu 10 | EXPOSE 4403 8000 8080 9990 22 11 | RUN apt-get update && \ 12 | apt-get -y install sudo openssh-server procps wget unzip mc curl subversion nmap software-properties-common python-software-properties && \ 13 | mkdir /var/run/sshd && \ 14 | sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd && \ 15 | echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ 16 | useradd -u 1000 -G users,sudo -d /home/user --shell /bin/bash -m user && \ 17 | echo "secret\nsecret" | passwd user && \ 18 | add-apt-repository ppa:git-core/ppa && \ 19 | apt-get update && \ 20 | sudo apt-get install git -y && \ 21 | apt-get clean && \ 22 | apt-get -y autoremove && \ 23 | rm -rf /var/lib/apt/lists/* 24 | 25 | USER user 26 | 27 | LABEL che:server:8080:ref=wildfly che:server:9990:ref=jboss che:server:8080:protocol=http che:server:8000:ref=tomcat8-debug che:server:8000:protocol=http 28 | 29 | ENV MAVEN_VERSION=3.3.9 \ 30 | JAVA_VERSION=8u45 \ 31 | JAVA_VERSION_PREFIX=1.8.0_45 32 | 33 | ENV JAVA_HOME=/opt/jdk$JAVA_VERSION_PREFIX \ 34 | M2_HOME=/home/user/apache-maven-$MAVEN_VERSION 35 | 36 | ENV PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH 37 | 38 | RUN mkdir /home/user/apache-maven-$MAVEN_VERSION && \ 39 | wget \ 40 | --no-cookies \ 41 | --no-check-certificate \ 42 | --header "Cookie: oraclelicense=accept-securebackup-cookie" \ 43 | -qO- \ 44 | "http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-b14/jdk-$JAVA_VERSION-linux-x64.tar.gz" | sudo tar -zx -C /opt/ && \ 45 | wget -qO- "http://apache.ip-connect.vn.ua/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz" | tar -zx --strip-components=1 -C /home/user/apache-maven-$MAVEN_VERSION/ 46 | ENV TERM xterm 47 | 48 | ENV WILDFLY_VERSION 8.2.0.Final 49 | ENV WILDFLY_SHA1 c0dd7552c5207b0d116a9c25eb94d10b4f375549 50 | 51 | # Add the WildFly distribution to /opt, and make wildfly the owner of the extracted tar content 52 | # Make sure the distribution is available from a well-known place 53 | RUN cd /home/user \ 54 | && curl -O https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz && \ 55 | tar xf wildfly-$WILDFLY_VERSION.tar.gz \ 56 | && rm wildfly-$WILDFLY_VERSION.tar.gz && \ 57 | sed -i 's/127.0.0.1/0.0.0.0/g' /home/user/wildfly-$WILDFLY_VERSION/standalone/configuration/standalone.xml 58 | RUN sudo locale-gen en_US.UTF-8 59 | 60 | ENV LANG en_US.UTF-8 61 | ENV LANGUAGE en_US:en 62 | ENV LC_ALL en_US.UTF-8 63 | RUN echo "export JAVA_HOME=/opt/jdk$JAVA_VERSION_PREFIX\nexport M2_HOME=/home/user/apache-maven-$MAVEN_VERSION\nexport PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH" >> /home/user/.bashrc 64 | 65 | WORKDIR /projects 66 | 67 | CMD sudo /usr/sbin/sshd -D && \ 68 | tail -f /dev/null -------------------------------------------------------------------------------- /x11_vnc/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | FROM codenvy/ubuntu_jdk8 10 | 11 | RUN sudo apt-get update && \ 12 | sudo apt-get install -y --no-install-recommends supervisor x11vnc xvfb net-tools blackbox rxvt-unicode xfonts-terminus libxi6 libgconf-2-4 13 | 14 | # download and install noVNC 15 | 16 | RUN sudo mkdir -p /opt/noVNC/utils/websockify && \ 17 | wget -qO- "http://github.com/kanaka/noVNC/tarball/master" | sudo tar -zx --strip-components=1 -C /opt/noVNC && \ 18 | wget -qO- "https://github.com/kanaka/websockify/tarball/master" | sudo tar -zx --strip-components=1 -C /opt/noVNC/utils/websockify 19 | 20 | ADD index.html /opt/noVNC/ 21 | 22 | RUN sudo mkdir -p /etc/X11/blackbox && \ 23 | echo "[begin] (Blackbox) \n [exec] (Terminal) {urxvt -fn "xft:Terminus:size=12"} \n [end]" | sudo tee -a /etc/X11/blackbox/blackbox-menu 24 | 25 | ADD supervisord.conf /opt/ 26 | EXPOSE 6080 27 | WORKDIR /projects 28 | CMD /usr/bin/supervisord -c /opt/supervisord.conf && tail -f /dev/null 29 | -------------------------------------------------------------------------------- /x11_vnc/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | Page Redirection 18 | 19 | 20 | 21 | If you are not redirected automatically, follow the link to example 22 | 23 | 24 | -------------------------------------------------------------------------------- /x11_vnc/supervisord.conf: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2016 Codenvy, S.A. 2 | # All rights reserved. This program and the accompanying materials 3 | # are made available under the terms of the Eclipse Public License v1.0 4 | # which accompanies this distribution, and is available at 5 | # http://www.eclipse.org/legal/epl-v10.html 6 | # Contributors: 7 | # Codenvy, S.A. - initial API and implementation 8 | 9 | [supervisord] 10 | nodaemon=false 11 | logfile=/home/user/supervisord.log 12 | pidfile=/home/user/supervisord.pid 13 | loglevel=error 14 | 15 | [program:xvfb] 16 | priority=10 17 | command=Xvfb :0 -screen 0 1024x768x16 18 | 19 | [program:blackbox] 20 | priority=20 21 | command=blackbox 22 | environment=DISPLAY=":0",HOME="/home/user",SHELL="/bin/bash" 23 | 24 | [program:x11vnc] 25 | priority=30 26 | command=x11vnc -display :0 -xkb 27 | autorestart=true 28 | 29 | [program:novnc] 30 | priority=40 31 | command=/opt/noVNC/utils/launch.sh 32 | 33 | --------------------------------------------------------------------------------