diff --git a/Dockerfile b/Dockerfile index 1189c90ba..3f302149e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,70 +5,45 @@ # # @copyright 2014-2015, Institute for Automation of Complex Power Systems, EONERC # This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential. -# Unauthorized copying of this file, via any medium is strictly prohibited. +# Unauthorized copying of this file, via any medium is strictly prohibited. ################################################################################### -FROM stv0g/dotfiles -#FROM debian:jessie - +FROM fedora:latest MAINTAINER Steffen Vogel # Expose ports for HTTP and WebSocket frontend EXPOSE 80 EXPOSE 443 -# Install development environement -RUN apt-get update && \ - apt-get -y install \ +# Toolchain & dependencies +RUN dnf -y update && \ + dnf -y install \ + pkgconfig \ gcc \ - g++ \ - clang \ - gdb \ - bison \ - flex \ make \ + wget \ + tar \ cmake \ - libc6-dev \ - pkg-config \ + openssl-devel \ + libconfig-devel \ + libnl3-devel \ + pciutils-devel \ + libcurl-devel \ + jansson-devel \ + libuuid-devel + +# Tools for documentation +RUN dnf -y update && \ + dnf -y install \ doxygen \ dia \ - graphviz \ - wget \ - vim + graphviz -# Install dependencies for native arch -RUN apt-get update && \ - apt-get -y install \ - libconfig-dev \ - libnl-3-dev \ - libnl-route-3-dev \ - libpci-dev \ - libjansson-dev \ - libcurl4-openssl-dev \ - libssl-dev \ - uuid-dev - -# Install dependencies for 32bit x86 arch (required for 32bit libOpalAsync) -# (64 bit header files are used) -RUN dpkg --add-architecture i386 && \ - apt-get update && \ - apt-get -y install \ - libc6-dev-i386 \ - lib32gcc-4.9-dev \ - libconfig9:i386 \ - libnl-3-200:i386 \ - libnl-route-3-200:i386 \ - libpci3:i386 \ - libjansson4:i386 \ - libcurl3:i386 \ - libuuid1:i386 - -# Checkout source code from GitHub -#RUN git clone git@github.com:RWTH-ACS/VILLASnode.git /villas - -WORKDIR /villas - -# Compile -#RUN make -C /villas +# Tools for deployment / packaging +RUN dnf -y update && \ + dnf -y install \ + openssh-clients \ + rpmdevtools \ + rpm-build ENTRYPOINT /bin/bash diff --git a/Dockerfile.develop b/Dockerfile.develop new file mode 100644 index 000000000..b7931dbf0 --- /dev/null +++ b/Dockerfile.develop @@ -0,0 +1,74 @@ +# Dockerfile for VILLASnode development and testing +# +# Use this Dockerfile running: +# $ make docker +# +# @copyright 2014-2015, Institute for Automation of Complex Power Systems, EONERC +# This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential. +# Unauthorized copying of this file, via any medium is strictly prohibited. +################################################################################### + +FROM stv0g/dotfiles +#FROM debian:jessie + +MAINTAINER Steffen Vogel + +# Expose ports for HTTP and WebSocket frontend +EXPOSE 80 +EXPOSE 443 + +# Install development environement +RUN apt-get update && \ + apt-get -y install \ + gcc \ + g++ \ + clang \ + gdb \ + bison \ + flex \ + make \ + cmake \ + libc6-dev \ + pkg-config \ + doxygen \ + dia \ + graphviz \ + wget \ + vim + +# Install dependencies for native arch +RUN apt-get update && \ + apt-get -y install \ + libconfig-dev \ + libnl-3-dev \ + libnl-route-3-dev \ + libpci-dev \ + libjansson-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + uuid-dev + +# Install dependencies for 32bit x86 arch (required for 32bit libOpalAsync) +# (64 bit header files are used) +RUN dpkg --add-architecture i386 && \ + apt-get update && \ + apt-get -y install \ + libc6-dev-i386 \ + lib32gcc-4.9-dev \ + libconfig9:i386 \ + libnl-3-200:i386 \ + libnl-route-3-200:i386 \ + libpci3:i386 \ + libjansson4:i386 \ + libcurl3:i386 \ + libuuid1:i386 + +# Checkout source code from GitHub +#RUN git clone git@github.com:RWTH-ACS/VILLASnode.git /villas + +WORKDIR /villas + +# Compile +#RUN make -C /villas + +ENTRYPOINT /bin/bash \ No newline at end of file diff --git a/doc/Install.md b/doc/Install.md index 32730a346..291f85be0 100644 --- a/doc/Install.md +++ b/doc/Install.md @@ -17,11 +17,11 @@ Install libraries and developement headers for: Use the following command to install the dependencies under Debian-based distributions: - $ sudo apt-get install build-essential pkg-config libconfig-dev libnl-3-dev libnl-route-3-dev libpci-deb libjansson-dev libcurl4-openssl-dev uuid-dev + $ sudo apt-get install build-essential pkg-config wget tar cmake doxygen dia graphviz libconfig-dev libnl-3-dev libnl-route-3-dev libpci-deb libjansson-dev libcurl4-openssl-dev uuid-dev or the following line for Fedora / CentOS / Redhat systems: - $ sudo yum install pkgconfig gcc make libconfig-devel libnl3-devel pciutils-devel libcurl-devel jansson-devel libuuid-devel + $ sudo yum install gcc pkgconfig make wget tar cmake openssl-devel doxygen dia graphviz libconfig-devel libnl3-devel pciutils-devel libcurl-devel jansson-devel libuuid-devel ### Compilation