diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..5f6dcc4a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,34 @@ +# Dockerfile for GNS3 server development + +FROM ubuntu:16.04 + +ENV DEBIAN_FRONTEND noninteractive + +# Set the locale +RUN locale-gen en_US.UTF-8 +ENV LANG en_US.UTF-8 +ENV LANGUAGE en_US:en +ENV LC_ALL en_US.UTF-8 + +RUN apt-get update && apt-get install -y software-properties-common +RUN add-apt-repository ppa:gns3/ppa +RUN apt-get update && apt-get install -y \ + python3-pip \ + python3-dev \ + qemu-system-x86 \ + qemu-system-arm \ + qemu-kvm \ + libvirt-bin \ + x11vnc + +# Install uninstall to install dependencies +RUN apt-get install -y vpcs ubridge + +ADD . /server +WORKDIR /server + +RUN pip3 install -r /server/requirements.txt + +EXPOSE 3080 + +ENTRYPOINT python3 -m gns3server --local diff --git a/README.rst b/README.rst index 81ffc9d5..6da27c4f 100644 --- a/README.rst +++ b/README.rst @@ -71,6 +71,16 @@ To run tests use: py.test -v +Docker container +**************** + +For development you can run the GNS3 server in a container + +.. code:: bash + docker build -t gns3-server . + docker run -i --expose=8001 -p 8001:8001/tcp -t gns3-server python3 -m gns3server --local --port 8001 + + Run as daemon (Unix only) **************************