Browse Source

dockerfile updates

* testing ssh keypair
* supporting scripts for testing
clementinecomputing 6 years ago
parent
commit
3cfe321503

+ 19 - 5
server/docker/Dockerfile

@@ -9,12 +9,12 @@ RUN \
 
 
 RUN \
 RUN \
   apt-get install -y gcc perl \
   apt-get install -y gcc perl \
-    git openssh-server sqlite3 \
+    git openssh-server sqlite3 libdbd-sqlite3-perl \
     default-mysql-server apache2 \
     default-mysql-server apache2 \
     netcat telnet wget
     netcat telnet wget
 
 
 RUN \
 RUN \
-  apt-get install -y vim
+  apt-get install -y libswitch-perl libdate-calc-perl
 
 
 RUN \
 RUN \
   useradd -m bus && \
   useradd -m bus && \
@@ -22,11 +22,25 @@ RUN \
 
 
 RUN \
 RUN \
   su bus -c " cd /home/bus && \
   su bus -c " cd /home/bus && \
-    git clone https://tree.clementinecomputing.com/clementinecomputing/popufare "
-
+    git clone https://tree.clementinecomputing.com/clementinecomputing/popufare && \
+    mkdir -p /home/bus/.ssh && chmod 0700 /home/bus/.ssh "
+
+## setup test ssh access
+##
+## WARNING: this MUST be changed for anything other than testing purposes
+##
+COPY ./snakeoil_id_rsa.pub /home/bus/.ssh/authorized_keys.snakeoil
+RUN su bus -c \
+  " cat /home/bus/.ssh/authorized_keys.snakeoil >> /home/bus/.ssh/authorized_keys && \
+    chmod 640 /home/bus/.ssh/authorized_keys "
+
+# non-essential but helpful for debuggin/admin
+#
 RUN \
 RUN \
-  apt-get install -y libswitch-perl libdate-calc-perl
+  apt-get install -y vim
 
 
+# main startup scripts
+#
 COPY ./startup_and_persist.sh /root/startup_and_persist.sh
 COPY ./startup_and_persist.sh /root/startup_and_persist.sh
 
 
 RUN \
 RUN \

+ 2 - 2
server/docker/build_and_run.sh

@@ -9,7 +9,7 @@ export UPDATE_DAEMON_PORT="8377"
 
 
 docker build --no-cache -t popufare .
 docker build --no-cache -t popufare .
 
 
-docker run -d popufare \
+docker run -d \
   -p 8080:80 \
   -p 8080:80 \
   -p 4430:443 \
   -p 4430:443 \
   -p $SSH_DEFAULT_PORT:22 \
   -p $SSH_DEFAULT_PORT:22 \
@@ -18,7 +18,7 @@ docker run -d popufare \
   -p $BILLDB_DAEMON_PORT:$BILLDB_DAEMON_PORT \
   -p $BILLDB_DAEMON_PORT:$BILLDB_DAEMON_PORT \
   -p $HELLO_DAEMON_PORT:$HELLO_DAEMON_PORT \
   -p $HELLO_DAEMON_PORT:$HELLO_DAEMON_PORT \
   -p $UPDATE_DAEMON_PORT:$UPDATE_DAEMON_PORT \
   -p $UPDATE_DAEMON_PORT:$UPDATE_DAEMON_PORT \
-  bus
+  popufare bus
 
 
 ## for interactive debugging...
 ## for interactive debugging...
 ##
 ##

+ 6 - 0
server/docker/gen-snakeoil-ssh-keypair

@@ -0,0 +1,6 @@
+#!/bin/bash
+
+ssh-keygen -t rsa -f snakeoil_id_rsa -N "" -C testing -q
+
+chmod a+r snakeoil_id_rsa
+

+ 29 - 13
server/docker/run_interactive.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 #!/bin/bash
 
 
+#export uname="bus"
+export uname="root"
+
 export SSH_DEFAULT_PORT="6055"
 export SSH_DEFAULT_PORT="6055"
 export AVLS_DAEMON_PORT="2857"
 export AVLS_DAEMON_PORT="2857"
 export PASSDB_DAEMON_PORT="7277"
 export PASSDB_DAEMON_PORT="7277"
@@ -7,18 +10,31 @@ export BILLDB_DAEMON_PORT="2455"
 export HELLO_DAEMON_PORT="3556"
 export HELLO_DAEMON_PORT="3556"
 export UPDATE_DAEMON_PORT="8377"
 export UPDATE_DAEMON_PORT="8377"
 
 
-#docker build --no-cache -t popufare .
-
 ## for interactive debugging...
 ## for interactive debugging...
 ##
 ##
-docker run  \
-  -p 8080:80 \
-  -p 4430:443 \
-  -p $SSH_DEFAULT_PORT:22 \
-  -p $AVLS_DAEMON_PORT:$AVLS_DAEMON_PORT \
-  -p $PASSDB_DAEMON_PORT:$PASSDB_DAEMON_PORT \
-  -p $BILLDB_DAEMON_PORT:$BILLDB_DAEMON_PORT \
-  -p $HELLO_DAEMON_PORT:$HELLO_DAEMON_PORT \
-  -p $UPDATE_DAEMON_PORT:$UPDATE_DAEMON_PORT \
-  --net=host -it popufare \
-  bash -c " su - bus "
+if [[ "$uname" == "root" ]] ; then
+
+  docker run  \
+    -p 8080:80 \
+    -p 4430:443 \
+    -p $SSH_DEFAULT_PORT:22 \
+    -p $AVLS_DAEMON_PORT:$AVLS_DAEMON_PORT \
+    -p $PASSDB_DAEMON_PORT:$PASSDB_DAEMON_PORT \
+    -p $BILLDB_DAEMON_PORT:$BILLDB_DAEMON_PORT \
+    -p $HELLO_DAEMON_PORT:$HELLO_DAEMON_PORT \
+    -p $UPDATE_DAEMON_PORT:$UPDATE_DAEMON_PORT \
+    -it popufare \
+    /bin/bash
+else
+  docker run  \
+    -p 8080:80 \
+    -p 4430:443 \
+    -p $SSH_DEFAULT_PORT:22 \
+    -p $AVLS_DAEMON_PORT:$AVLS_DAEMON_PORT \
+    -p $PASSDB_DAEMON_PORT:$PASSDB_DAEMON_PORT \
+    -p $BILLDB_DAEMON_PORT:$BILLDB_DAEMON_PORT \
+    -p $HELLO_DAEMON_PORT:$HELLO_DAEMON_PORT \
+    -p $UPDATE_DAEMON_PORT:$UPDATE_DAEMON_PORT \
+    -it popufare \
+    bash -c " service ssh start && su - bus "
+fi

+ 27 - 0
server/docker/snakeoil_id_rsa

@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEA0gwlzUCngi8nk++kRSkXELCn3hwxivfOPdLiKeQh+yqMSBzO
+08+AbOkPpMyRm4nqtgpXwqA5M0Q2sY+6KdbApih6Y0EyCubp+xeNSDioghLB37X6
+H0rpk47PS2lQiHokGDkxqUDVrix7LltFZTedZZmqvcnvDNfQ7H78DvDfEt2Q4Zqr
+OncZ2k/zOI77AGWMsOVEDSRfl0lCJx+88uHHZyR35Y9XrcQ9mr7YzBiiVJsEz2zL
+XNyWlJ/Z3aoWqbgw3n2L161im0v0dD1hiWcAljBUUexQK8vwhVBK5fEYjmM8ibaA
+6Xk/jb/hPZ2CPFlqZwGy46p6Y5AGUhDbnXJktwIDAQABAoIBAALMSKCgUNrqF+Pf
+mFeXgYgmYkYSKBLK1EN8kKiwMkevPGklgRfPNs28mQm/89yXjLnaD2s3SSvGp9fb
+q0YtZymPdnnl/22nv8wpdydUIeKBr3V0bh2GmO/vQhGmGH2I6vwrnt67T11fmFB4
+xMbhY8ZbsquOihGouk68Lk1gpggRR1OQba6763tbEfq0OBo2wRZD+Et4DCmFZJz8
+5hO5KuUTSo+9XkqwAyclkSFLNEUaQ32aU8WlnaIgmq8HnbyEoJ3FBbRtiVy25aQU
+yIHpdKSRlUPzLcq/jlE9gXxpsjVAD6JixHWTzIkeoLPfP8CqV1PwMe4xOrg/YJ8u
+/FUUmHkCgYEA7sMMtX4ujzTRvCeTqfgJ3AorwihsPhBgS74c5KTgnIyoXYahWwwP
+xR3qtUaXjV9z1wL2rlwmHihRuC/h3zTlhnUZwyMRqGNDO4Jvvy3AqSJXWIacRtBd
+4V4FL1Uf9uYqBxVsmfPBwXkdKhA81DwcejYy86QjoqC2OoQgVlhG350CgYEA4TZh
+BYXbZHG4eNGVU0BozDXPVhJdVY6qK2AQUKUGjscThbAtnG6XfIvdvAxMIhBEn1KG
+t9eLky7ysg+jCyMx7gi526JbRpupBXys6WlxZTpOVDJnR0CklTmGt00GUcO1k789
+oadYcvYXL0KBVu7ox6QxBYM3/JHZ1Zw0G68NJ2MCgYBwGo62DJfpz2AGmwJ/FKH0
+eaYQFJC2F1RPW+UPCccYWgaXWyYZrLEe2SwhjxKLY1ztgEu4lDWlhULRW1IPTjPS
+jNrav3WD/Y9MurKjLeU+xIwEWbe4nA7oSQ/gKHTIpUroZovGQSghIi+qV1NoRw0L
+6LTFprTAn/rPwMe6ItqsFQKBgFAqKx7sJsv6Ls/SynR32NXX0ZWxs8dgoPIPn78U
+/uCTvD86FwI323RZ1PO67N6zK7oKhimqb+RUMc9wAXlVbdBtCrtDb3oSrndliacM
+AXEm7/rIdjrGp872Sx20LSutnlSZHjcMek9xiY8o/SEUqYdmyoxLyQH+aKvAjkvM
+Y8JBAoGAQtQzgYfAbLUjrksm8GLFP3JpG5ZhKtiLPEWdUkxNxRfojSYW8krecOBH
+uFAJwxx8D201b24tjvJrLN5NkQQ+qsDCX8MG/x3QaJcBh1ysgefwQs+GXyT5uxCz
+t5jrLAVxnHIO4eYHngxcb1wIh4vBWs8Q3bP835J7rAjd3A1tFQo=
+-----END RSA PRIVATE KEY-----

+ 1 - 0
server/docker/snakeoil_id_rsa.pub

@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSDCXNQKeCLyeT76RFKRcQsKfeHDGK98490uIp5CH7KoxIHM7Tz4Bs6Q+kzJGbieq2ClfCoDkzRDaxj7op1sCmKHpjQTIK5un7F41IOKiCEsHftfofSumTjs9LaVCIeiQYOTGpQNWuLHsuW0VlN51lmaq9ye8M19DsfvwO8N8S3ZDhmqs6dxnaT/M4jvsAZYyw5UQNJF+XSUInH7zy4cdnJHflj1etxD2avtjMGKJUmwTPbMtc3JaUn9ndqhapuDDefYvXrWKbS/R0PWGJZwCWMFRR7FAry/CFUErl8RiOYzyJtoDpeT+Nv+E9nYI8WWpnAbLjqnpjkAZSENudcmS3 testing