From c26502f4ef676f33122c64091a91909b3894798e Mon Sep 17 00:00:00 2001 From: florianpfleiderer Date: Sun, 12 Nov 2023 20:40:51 +0100 Subject: [PATCH 1/5] started dockerfile --- Dockerfile | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5eff109 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +######################################################################################################################## +# simplehttpserver build stage +######################################################################################################################## + +FROM alpine:3.17.0 AS build + +RUN apk update && apk add --no-cache \ + build-base \ + cmake \ + git + +WORKDIR /simplesynth-app + +COPY include ./include +COPY src ./src +COPY tests ./tests +COPY save ./save +COPY CMakeLists.txt ./ + +WORKDIR /simplesynth-app/build + +RUN cmake -DCMAKE_BUILD_TYPE=Release .. && make + +CMD ["./SimpleSynth"] + From 623b7b84e3d6bd929f67a3bd573eff772768fe37 Mon Sep 17 00:00:00 2001 From: florianpfleiderer Date: Sun, 12 Nov 2023 21:06:48 +0100 Subject: [PATCH 2/5] tried installing ubuntu:20.04 base --- Dockerfile | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5eff109..9e80762 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,12 +2,10 @@ # simplehttpserver build stage ######################################################################################################################## -FROM alpine:3.17.0 AS build +FROM ubuntu:20.04 as build -RUN apk update && apk add --no-cache \ - build-base \ - cmake \ - git +RUN apt-get update && \ + apt-get install -y build-essential git cmake WORKDIR /simplesynth-app @@ -19,7 +17,7 @@ COPY CMakeLists.txt ./ WORKDIR /simplesynth-app/build -RUN cmake -DCMAKE_BUILD_TYPE=Release .. && make +RUN cmake .. && make CMD ["./SimpleSynth"] From 3f625c4423042c0bcb213b221f960876373dd0d3 Mon Sep 17 00:00:00 2001 From: florianpfleiderer Date: Wed, 15 Nov 2023 12:04:49 +0100 Subject: [PATCH 3/5] some issues with X11 port vorwarding still need to be resolved --- .dockerignore | 20 ++++++++++++++++++++ Dockerfile | 17 ++++++----------- docker-compose.yml | 12 ++++++++++++ 3 files changed, 38 insertions(+), 11 deletions(-) create mode 100644 .dockerignore create mode 100644 docker-compose.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..4d68d77 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,20 @@ +# .dockerignore +# +# Created on Wed Nov 15 2023 by Florian Pfleiderer +# +# Copyright (c) 2023 TU Wien + +# Ignore .github directory +.github + +# Ignore build directory +build + +# Ignore LICENSE.md file +LICENSE.md + +# Ignore README.md file +README.md + +# Ignore .gitignore file +.gitignore diff --git a/Dockerfile b/Dockerfile index 9e80762..c546a97 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,22 +2,17 @@ # simplehttpserver build stage ######################################################################################################################## -FROM ubuntu:20.04 as build +FROM gcc:latest AS build RUN apt-get update && \ - apt-get install -y build-essential git cmake + apt-get install -y build-essential git cmake libgl1-mesa-dev libglfw3-dev libxinerama-dev libxcursor-dev libxi-dev libasound2-dev doxygen -WORKDIR /simplesynth-app +WORKDIR /simplesynth -COPY include ./include -COPY src ./src -COPY tests ./tests -COPY save ./save -COPY CMakeLists.txt ./ +COPY . . -WORKDIR /simplesynth-app/build +WORKDIR /simplesynth/build RUN cmake .. && make -CMD ["./SimpleSynth"] - +CMD [ "/bin/bash" ] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..60c8469 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,12 @@ +version: '3' +services: + simplesynth: + build: + context: . + ports: + - "2222:22" + environment: + - DISPLAY=$DISPLAY + volumes: + - /tmp/.X11-unix:/tmp/.X11-unix + command: /usr/sbin/sshd -D \ No newline at end of file From 10a6f665a18b8543c8f4beb26f929ae838a99cb3 Mon Sep 17 00:00:00 2001 From: florianpfleiderer Date: Wed, 15 Nov 2023 14:21:57 +0100 Subject: [PATCH 4/5] container starts, app doesnt start --- Dockerfile | 37 +++++++++++++++++++++++++++++++++---- docker-compose.yml | 12 ------------ 2 files changed, 33 insertions(+), 16 deletions(-) delete mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile index c546a97..280261f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,30 @@ -######################################################################################################################## -# simplehttpserver build stage -######################################################################################################################## +# Dockerfile +# +# Created on Wed Nov 15 2023 by Florian Pfleiderer +# +# Copyright (c) 2023 TU Wien FROM gcc:latest AS build +# Install necessary tools RUN apt-get update && \ - apt-get install -y build-essential git cmake libgl1-mesa-dev libglfw3-dev libxinerama-dev libxcursor-dev libxi-dev libasound2-dev doxygen + apt-get install -y \ + build-essential \ + cmake \ + git + +# Install dependencies +RUN apt-get update && \ + apt-get install -y \ + libgl1-mesa-dev \ + libglfw3-dev \ + libxinerama-dev \ + libxcursor-dev \ + libxi-dev \ + libasound2-dev \ + doxygen \ + openssh-server \ + && rm -rf /var/lib/apt/lists/* WORKDIR /simplesynth @@ -15,4 +34,14 @@ WORKDIR /simplesynth/build RUN cmake .. && make +WORKDIR /simplesynth + +# Configure SSH +# RUN mkdir /var/run/sshd +# RUN echo 'root:password' | chpasswd +# RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config + +#expose ssh port +# EXPOSE 22 + CMD [ "/bin/bash" ] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 60c8469..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: '3' -services: - simplesynth: - build: - context: . - ports: - - "2222:22" - environment: - - DISPLAY=$DISPLAY - volumes: - - /tmp/.X11-unix:/tmp/.X11-unix - command: /usr/sbin/sshd -D \ No newline at end of file From 3c39b7aa84a114f01a36f0a8c2992801cc010c9d Mon Sep 17 00:00:00 2001 From: florianpfleiderer Date: Wed, 15 Nov 2023 14:22:20 +0100 Subject: [PATCH 5/5] updated instructions to include docker --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index e597685..1bda9e7 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,14 @@ Clone: git clone https://stea.iue.tuwien.ac.at/CppProjects2023/GroupKProject ``` ### Build +#### using docker +``` +docker built -t simplesynth . +docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix simplesynth +``` + +If you want to run it on mac, see: https://medium.com/@nr817174/gui-containers-on-docker-running-graphical-applications-seamlessly-36e77925d0df + #### macos ``` mkdir build