Преглед на файлове

docker file for test server

clementinecomputing преди 6 години
родител
ревизия
8e6e1c4201
променени са 6 файла, в които са добавени 144 реда и са изтрити 0 реда
  1. 4 0
      .gitignore
  2. 38 0
      server/docker/Dockerfile
  3. 37 0
      server/docker/build_and_run.sh
  4. 23 0
      server/docker/run_daemon.sh
  5. 24 0
      server/docker/run_interactive.sh
  6. 18 0
      server/docker/startup_and_persist.sh

+ 4 - 0
.gitignore

@@ -15,3 +15,7 @@ diuhttpd
 *.a
 *.so
 *.so.1
+
+config.log
+config.status
+libtool

+ 38 - 0
server/docker/Dockerfile

@@ -0,0 +1,38 @@
+FROM debian:buster
+
+MAINTAINER Abram Connelly <abram@clementinecomputing.com>
+
+RUN \
+  apt-get update && \
+  apt-get -y upgrade && \
+  apt-get clean
+
+RUN \
+  apt-get install -y gcc perl \
+    git openssh-server sqlite3 \
+    default-mysql-server apache2 \
+    netcat telnet wget
+
+RUN \
+  apt-get install -y vim
+
+RUN \
+  useradd -m bus && \
+  echo 'bus:bus' | chpasswd
+
+RUN \
+  su bus -c " cd /home/bus && \
+    git clone https://tree.clementinecomputing.com/clementinecomputing/popufare "
+
+RUN \
+  apt-get install -y libswitch-perl libdate-calc-perl
+
+COPY ./startup_and_persist.sh /root/startup_and_persist.sh
+
+RUN \
+  chmod u+x /root/startup_and_persist.sh
+
+EXPOSE 80 22 443 6055 2857 7277 2455 3556 8377
+
+
+CMD ["/root/startup_and_persist.sh"]

+ 37 - 0
server/docker/build_and_run.sh

@@ -0,0 +1,37 @@
+#!/bin/bash
+
+export SSH_DEFAULT_PORT="6055"
+export AVLS_DAEMON_PORT="2857"
+export PASSDB_DAEMON_PORT="7277"
+export BILLDB_DAEMON_PORT="2455"
+export HELLO_DAEMON_PORT="3556"
+export UPDATE_DAEMON_PORT="8377"
+
+docker build --no-cache -t popufare .
+
+docker run -d popufare \
+  -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 \
+  bus
+
+## for interactive debugging...
+##
+# docker run --net=host -it popufare \
+#  -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 \
+#  bus
+
+
+docker ps

+ 23 - 0
server/docker/run_daemon.sh

@@ -0,0 +1,23 @@
+#!/bin/bash
+
+export SSH_DEFAULT_PORT="6055"
+export AVLS_DAEMON_PORT="2857"
+export PASSDB_DAEMON_PORT="7277"
+export BILLDB_DAEMON_PORT="2455"
+export HELLO_DAEMON_PORT="3556"
+export UPDATE_DAEMON_PORT="8377"
+
+#docker build --no-cache -t popufare .
+
+docker run -d popufare \
+  -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 \
+  bus
+
+docker ps

+ 24 - 0
server/docker/run_interactive.sh

@@ -0,0 +1,24 @@
+#!/bin/bash
+
+export SSH_DEFAULT_PORT="6055"
+export AVLS_DAEMON_PORT="2857"
+export PASSDB_DAEMON_PORT="7277"
+export BILLDB_DAEMON_PORT="2455"
+export HELLO_DAEMON_PORT="3556"
+export UPDATE_DAEMON_PORT="8377"
+
+#docker build --no-cache -t popufare .
+
+## 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 "

+ 18 - 0
server/docker/startup_and_persist.sh

@@ -0,0 +1,18 @@
+#!/bin/bash
+
+service apache2 start
+service ssh start
+
+export D=/home/bus/popufare/server/daemons
+
+su bus -c " $D/avls_server/avls_server.pl >> /tmp/avls.log " &
+su bus -c " $D/hello_daemon/hello_daemon.pl >> /tmp/hello.log  " &
+su bus -c " cd $D/billing_server ; $D/billing_server/billing_server.pl >> /tmp/billing_server.log " &
+su bus -c " $D/version_server/version_daemon.pl >> /tmp/version_daemon.log  " &
+su bus -c " $D/buspass_server/buspass_server.pl >> /tmp/buspass_server.log  " &
+
+while [ true ] ;
+do
+  echo heartbeat
+  sleep 3
+done