diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..858bd66 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM ubuntu:16.04 + + +RUN apt-get update && apt-get install -y git libfcgi-dev libpq-dev mono-complete python3-psycopg2 nginx php apache2 libapache2-mod-php spawn-fcgi cmake g++ libboost-dev libboost-serialization-dev libboost-test-dev libboost-filesystem-dev libboost-system-dev libboost-program-options-dev libboost-iostreams-dev libboost-regex-dev libboost-locale-dev liblog4cpp5-dev libconfig++-dev libconfig-dev libpcre3-dev +RUN git clone https://git.code.sf.net/p/tmconcordia/code +RUN cd code && mkdir build && cd build && ../cmake.sh && make && make install && ldconfig +RUN git clone https://git.wmi.amu.edu.pl/rjawor/concordia-server.git +RUN cd concordia-server && mkdir build && cd build && ../cmake.sh && make + +COPY fcgi_concordia /etc/nginx/sites-available +RUN rm /etc/nginx/sites-enabled/default +RUN ln -s /etc/nginx/sites-available/fcgi_concordia /etc/nginx/sites-enabled/fcgi_concordia +RUN /usr/sbin/nginx -g "daemon on;" + +#CMD concordia-server/scripts/start.sh \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 3a11b43..f0f25d9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,3 +12,8 @@ services: POSTGRES_USER: webuser POSTGRES_PASSWORD: webpassword POSTGRES_DB: backend_db + concordia-server: + build: . + container_name: concordia-server + ports: + - "10002:80" diff --git a/fcgi_concordia b/fcgi_concordia new file mode 100644 index 0000000..ce76941 --- /dev/null +++ b/fcgi_concordia @@ -0,0 +1,50 @@ +server { + listen 8800 default_server; + listen [::]:8800 default_server; + + # SSL configuration + # + # listen 443 ssl default_server; + # listen [::]:443 ssl default_server; + # + # Note: You should disable gzip for SSL traffic. + # See: https://bugs.debian.org/773332 + # + # Read up on ssl_ciphers to ensure a secure configuration. + # See: https://bugs.debian.org/765782 + # + # Self signed certs generated by the ssl-cert package + # Don't use them in a production server! + # + # include snippets/snakeoil.conf; + + root /var/www/html; + + # Add index.php to the list if you are using PHP + index index.html index.htm index.nginx-debian.html; + + server_name _; + + location / { + fastcgi_pass 127.0.0.1:8000; + + fastcgi_param GATEWAY_INTERFACE CGI/1.1; + fastcgi_param SERVER_SOFTWARE nginx; + fastcgi_param QUERY_STRING $query_string; + fastcgi_param REQUEST_METHOD $request_method; + fastcgi_param CONTENT_TYPE $content_type; + fastcgi_param CONTENT_LENGTH $content_length; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param SCRIPT_NAME $fastcgi_script_name; + fastcgi_param REQUEST_URI $request_uri; + fastcgi_param DOCUMENT_URI $document_uri; + fastcgi_param DOCUMENT_ROOT $document_root; + fastcgi_param SERVER_PROTOCOL $server_protocol; + fastcgi_param REMOTE_ADDR $remote_addr; + fastcgi_param REMOTE_PORT $remote_port; + fastcgi_param SERVER_ADDR $server_addr; + fastcgi_param SERVER_PORT $server_port; + fastcgi_param SERVER_NAME $server_name; + + } +} \ No newline at end of file diff --git a/todo b/todo new file mode 100644 index 0000000..59f3bd3 --- /dev/null +++ b/todo @@ -0,0 +1,4 @@ +1. Change db settings in CMakeLists.txt in concordia-server repo +2. Rebuild docker-compose and check if concordia-server connects to db via internal "docker-compose" network +3. do not expose concordia-postgres ports if the above works +4. Move scripts in the tests folder of concordia-server repo to the concordia-docker. Adjust them accordingly (host, port) \ No newline at end of file