Skip to content
Snippets Groups Projects
Commit 7d30d7e3 authored by Fabio Vitello's avatar Fabio Vitello
Browse files

Moved nginx env to a new folder

parent 080c83e4
No related branches found
No related tags found
1 merge request!160Resolve TMSS-175
No preview for this file type
File added
File added
File added
version: "2"
services:
tmss_test:
build:
context: .
dockerfile: tmss_testenv_Dockerfile
container_name: tmss_test
ports:
- "8000:8000"
# - "3003:3003"
networks:
- "tmss"
# environment:
# - OIDC_ENDPOINT_HOST=172.25.0.10
# - OIDC_RP_CLIENT_ID=1
tmss_test_nginx:
build:
context: .
dockerfile: tmss_nginx_Dockerfile
container_name: tmss_test_nginx
ports:
- "5005:5005"
networks:
- "tmss"
tmss_test_oidc:
build:
context: ../../test/oidc/docker-test-mozilla-django-oidc/
dockerfile: dockerfiles/oidc_testprovider
container_name: tmss_test_oidc
ports:
- "8088:8088"
networks:
tmss:
ipv4_address: 172.25.0.10
networks:
tmss:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.25.0.0/16
gateway: 172.25.0.1
events {}
http {
include mime.types;
server {
listen 5005;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
location /static/ {
try_files $uri $uri/ @api_proxy;
}
location @api_proxy {
proxy_pass http://tmss_test:8000$uri;
proxy_intercept_errors on;
recursive_error_pages on;
}
location /api/ {
proxy_pass http://tmss_test:8000;
}
location @dashboard_proxy {
proxy_pass http://tmss_test:8000$uri;
}
location /dashboard/ {
proxy_pass http://tmss_test:8000;
}
location /oidc/ {
proxy_pass http://tmss_test:8000;
}
location /openid/ {
proxy_pass http://tmss_test_oidc:8088;
}
}
}
\ No newline at end of file
#
# This sets up a Docker image that runs the tmss frontend for testing
#
FROM centos:7
RUN yum install -y nginx
#
# This sets up a Docker image that runs an nginx proxy for tmss fronend testing
# Both the frontend as well as the API have to be served from the same origin (unless TMSS serves appropriate CORS headers).
#
FROM centos:7
RUN yum install -y epel-release
RUN yum install -y nginx
COPY nginx.conf /nginx.conf
CMD ["nginx", "-c", "/nginx.conf", "-g", "daemon off;"]
EXPOSE 80
#
# This sets up a Docker image that runs tmss for testing
#
FROM centos:7
EXPOSE 8000
RUN yum -y groupinstall 'Development Tools' && \
yum -y install epel-release readline-devel && \
yum -y install cmake log4cplus-devel python3 python3-devel python3-pip nodejs npm java && \
yum install -y cmake gcc-c++ make log4cplus log4cplus-devel python3 python3-libs python3-devel boost readline-devel boost-devel binutils-devel boost-python36 boost-python36-devel gettext which openldap-devel npm nodejs git java-11-openjdk && \
npm install -g npx && \
npm install -g n && \
n stable && \
npm install -g serve
RUN echo "Installing packages for TMSS..." && \
yum erase -y postgresql postgresql-server postgresql-devel
RUN yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
RUN yum install -y postgresql96 postgresql96-server postgresql96-devel
# yum -y install https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-3.noarch.rpm && \
# yum -y install postgresql94-devel openldap-devel postgresql94-server which && \
ENV PATH=$PATH:/usr/pgsql-9.6/bin/
RUN pip3 install django-filter django-auth-ldap coreapi python-ldap-test django-jsonforms django-json-widget "git+git://github.com/nnseva/django-jsoneditor.git" psycopg2-binary markdown ldap3 drf-yasg flex swagger-spec-validator testing.postgresql mozilla_django_oidc
RUN pip3 install cython kombu lxml requests pygcn xmljson mysql-connector-python python-dateutil django djangorestframework djangorestframework-xml ldap==1.0.2 flask fabric coverage python-qpid-proton PyGreSQL numpy h5py psycopg2 testing.postgresql Flask-Testing scipy Markdown django-filter python-ldap python-ldap-test ldap3 djangorestframework django-jsonforms django-json-widget django-jsoneditor drf-yasg flex swagger-spec-validator django-auth-ldap mozilla-django-oidc jsonschema
#ENV PATH=$PATH:/usr/pgsql-9.4/bin/
USER postgres
RUN echo "Checking out code base" && \
whoami && \
cd /tmp && \
git clone https://git.astron.nl/ro/lofar.git && \
cd lofar && \
git checkout TMSS-175
USER root
RUN mv /tmp/lofar /lofar && \
cd /lofar && \
. CMake/gen_LofarPackageList_cmake.sh && \
PACKAGE=TMSS && \
VARIANT=gnucxx11_opt && \
echo "Building $PACKAGE..." && \
mkdir -p build/$VARIANT && \
cd build/$VARIANT && \
cmake -DBUILD_PACKAGES=$PACKAGE ../.. && \
make && \
make install && \
chown -R postgres:postgres .
USER postgres
RUN mkdir -p ~postgres/.lofar/dbcredentials/ && \
echo -e '[database:tmss_ldap_test]\n\
host=localhost\n\
user=tmssldap\n\
password=tmssldap\n\
type=unknown\n\
port=3389\n\
database=tmss_ldap_test' > ~postgres/.lofar/dbcredentials/tmss_ldap_test.ini && \
echo -e '[database:tmss]\n\
type = postgresql\n\
host = localhost\n\
database = tmss\n\
port = 5432\n\
user = tmssdb\n\
password = tmssdb\n' > ~postgres/.lofar/dbcredentials/tmss.ini
EXPOSE 8000
ENV TMSS_DBCREDENTIALS=tmss
ENV TMSS_LDAPCREDENTIALS=tmss_ldap_test
#ENTRYPOINT /bin/bash -c 'export VARIANT=gnucxx11_opt; \
# source /lofar/build/$VARIANT/lofarinit.sh; \
# cat /var/lib/pgsql/.lofar/dbcredentials/tmss.ini; \
# cat /var/lib/pgsql/.lofar/dbcredentials/tmss_ldap_test.ini; \
#/usr/bin/python3 /lofar/build/$VARIANT/installed/lib64/python3.6/site-packages/lofar/sas/tmss/manage.py runserver 0.0.0.0:8000'
#/lofar/build/gnucxx11_opt/installed/lib64/python3.6/site-packages/lofar/sas/tmss/manage.py
# tmss_test_environment'
# tmss_test_ldap & \
# tmss_test_database & \
# sleep 15 && \
# tmss & \
# cd /lofar/build/gnucxx11_opt/installed/share/www && \
# serve -s . -p 3003'
# Configure authentication
RUN echo -e "\n" >> /lofar/build/gnucxx11_opt/installed/lib64/python3.6/site-packages/lofar/sas/tmss/tmss/settings.py
RUN echo -e "REST_FRAMEWORK['DEFAULT_AUTHENTICATION_CLASSES']=[]\n" >> /lofar/build/gnucxx11_opt/installed/lib64/python3.6/site-packages/lofar/sas/tmss/tmss/settings.py
RUN echo -e "REST_FRAMEWORK['DEFAULT_PERMISSION_CLASSES']=[]\n" >> /lofar/build/gnucxx11_opt/installed/lib64/python3.6/site-packages/lofar/sas/tmss/tmss/settings.py
# Allow Django HTTP access
EXPOSE 8000
RUN echo -e "ALLOWED_HOSTS=['*']\n" >> /lofar/build/gnucxx11_opt/installed/lib64/python3.6/site-packages/lofar/sas/tmss/tmss/settings.py
# Hot patches
# Run LOFAR app
#CMD bash -c 'source /lofar/build/gnucxx11_opt/lofarinit.sh && tmss_test_ldap && \
# tmss_test_database && \
# tmss'
ENV POSTGRES_PORT=5444
ENV POSTGRES_DB=test
ENV POSTGRES_PASSWORD=test
ENV POSTGRES_USER=test_tmss_user
ENV POSTGRES_HOST=localhost
ENTRYPOINT /bin/bash -c 'export VARIANT=gnucxx11_opt; source /lofar/build/$VARIANT/lofarinit.sh;tmss_test_database & \
sleep 15 && \
/usr/bin/python3 /lofar/build/gnucxx11_opt/installed/lib64/python3.6/site-packages/lofar/sas/tmss/manage.py runserver 0.0.0.0:8000'
#/bin/bash -c 'export VARIANT=gnucxx11_opt; source /lofar/build/$VARIANT/lofarinit.sh; tmss_test_database &;sleep 10; python3 /lofar/build/gnucxx11_opt/installed/lib64/python3.6/site-packages/lofar/sas/tmss/manage.py runserver 0.0.0.0:8000'
# It also works to serve the dev server for interactive development as such:
# cd /lofar/build/gnucxx11_opt/SAS/TMSS/frontend/frontend_poc && \
# npm start
......@@ -6,13 +6,13 @@ services:
dockerfile: tmss_testenv_Dockerfile
container_name: tmss_test
ports:
- "8000:8000"
# - "3003:3003"
- "8008:8008"
- "3003:3003"
networks:
- "tmss"
# environment:
# - OIDC_ENDPOINT_HOST=172.25.0.10
# - OIDC_RP_CLIENT_ID=1
environment:
- OIDC_ENDPOINT_HOST=172.25.0.10
- OIDC_RP_CLIENT_ID=1
tmss_test_nginx:
build:
context: .
......
......@@ -18,27 +18,26 @@ http {
}
location @api_proxy {
proxy_pass http://tmss_test:8000$uri;
proxy_pass http://tmss_test:8008$uri;
proxy_intercept_errors on;
recursive_error_pages on;
error_page 404 = @dashboard_proxy;
error_page 404 = @frontend_proxy;
}
location /api/ {
proxy_pass http://tmss_test:8000;
location @frontend_proxy {
proxy_pass http://tmss_test:3003$uri;
}
location @dashboard_proxy {
proxy_pass http://tmss_test:8000$uri;
location /api/ {
proxy_pass http://tmss_test:8008;
}
location /dashboard/ {
proxy_pass http://tmss_test:8000;
location /frontend/ {
proxy_pass http://tmss_test:3003;
}
location /oidc/ {
proxy_pass http://tmss_test:8000;
proxy_pass http://tmss_test:8008;
}
location /openid/ {
......
......@@ -3,44 +3,25 @@
#
FROM centos:7
EXPOSE 8000
RUN yum -y groupinstall 'Development Tools' && \
yum -y install epel-release readline-devel && \
yum -y install epel-release && \
yum -y install cmake log4cplus-devel python3 python3-devel python3-pip nodejs npm java && \
yum install -y cmake gcc-c++ make log4cplus log4cplus-devel python3 python3-libs python3-devel boost readline-devel boost-devel binutils-devel boost-python36 boost-python36-devel gettext which openldap-devel npm nodejs git java-11-openjdk && \
npm install -g npx && \
npm install -g n && \
n stable && \
npm install -g serve
RUN echo "Installing packages for TMSS..." && \
yum erase -y postgresql postgresql-server postgresql-devel
RUN yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
RUN yum install -y postgresql96 postgresql96-server postgresql96-devel
# yum -y install https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-3.noarch.rpm && \
# yum -y install postgresql94-devel openldap-devel postgresql94-server which && \
ENV PATH=$PATH:/usr/pgsql-9.6/bin/
RUN pip3 install django-filter django-auth-ldap coreapi python-ldap-test django-jsonforms django-json-widget "git+git://github.com/nnseva/django-jsoneditor.git" psycopg2-binary markdown ldap3 drf-yasg flex swagger-spec-validator testing.postgresql mozilla_django_oidc
RUN pip3 install cython kombu lxml requests pygcn xmljson mysql-connector-python python-dateutil django djangorestframework djangorestframework-xml ldap==1.0.2 flask fabric coverage python-qpid-proton PyGreSQL numpy h5py psycopg2 testing.postgresql Flask-Testing scipy Markdown django-filter python-ldap python-ldap-test ldap3 djangorestframework django-jsonforms django-json-widget django-jsoneditor drf-yasg flex swagger-spec-validator django-auth-ldap mozilla-django-oidc jsonschema
yum -y install https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-3.noarch.rpm && \
yum -y install postgresql94-devel openldap-devel postgresql94-server which && \
pip3 install django-filter django-auth-ldap coreapi python-ldap-test django-jsonforms django-json-widget "git+git://github.com/nnseva/django-jsoneditor.git" psycopg2-binary markdown ldap3 drf-yasg flex swagger-spec-validator testing.postgresql mozilla_django_oidc
#ENV PATH=$PATH:/usr/pgsql-9.4/bin/
USER postgres
ENV PATH=$PATH:/usr/pgsql-9.4/bin/
RUN echo "Checking out code base" && \
whoami && \
cd /tmp && \
git clone https://git.astron.nl/ro/lofar.git && \
cd lofar && \
git checkout TMSS-175
USER root
RUN mv /tmp/lofar /lofar && \
cd /lofar && \
git checkout TMSS-146 && \
. CMake/gen_LofarPackageList_cmake.sh && \
PACKAGE=TMSS && \
VARIANT=gnucxx11_opt && \
......@@ -53,7 +34,6 @@ RUN mv /tmp/lofar /lofar && \
chown -R postgres:postgres .
USER postgres
RUN mkdir -p ~postgres/.lofar/dbcredentials/ && \
echo -e '[database:tmss_ldap_test]\n\
host=localhost\n\
......@@ -69,60 +49,20 @@ RUN mkdir -p ~postgres/.lofar/dbcredentials/ && \
port = 5432\n\
user = tmssdb\n\
password = tmssdb\n' > ~postgres/.lofar/dbcredentials/tmss.ini
EXPOSE 8000
ENV TMSS_DBCREDENTIALS=tmss
ENV TMSS_LDAPCREDENTIALS=tmss_ldap_test
#ENTRYPOINT /bin/bash -c 'export VARIANT=gnucxx11_opt; \
# source /lofar/build/$VARIANT/lofarinit.sh; \
# cat /var/lib/pgsql/.lofar/dbcredentials/tmss.ini; \
# cat /var/lib/pgsql/.lofar/dbcredentials/tmss_ldap_test.ini; \
#/usr/bin/python3 /lofar/build/$VARIANT/installed/lib64/python3.6/site-packages/lofar/sas/tmss/manage.py runserver 0.0.0.0:8000'
#/lofar/build/gnucxx11_opt/installed/lib64/python3.6/site-packages/lofar/sas/tmss/manage.py
# tmss_test_environment'
# tmss_test_ldap & \
# tmss_test_database & \
# sleep 15 && \
# tmss & \
# cd /lofar/build/gnucxx11_opt/installed/share/www && \
# serve -s . -p 3003'
# Configure authentication
RUN echo -e "\n" >> /lofar/build/gnucxx11_opt/installed/lib64/python3.6/site-packages/lofar/sas/tmss/tmss/settings.py
RUN echo -e "REST_FRAMEWORK['DEFAULT_AUTHENTICATION_CLASSES']=[]\n" >> /lofar/build/gnucxx11_opt/installed/lib64/python3.6/site-packages/lofar/sas/tmss/tmss/settings.py
RUN echo -e "REST_FRAMEWORK['DEFAULT_PERMISSION_CLASSES']=[]\n" >> /lofar/build/gnucxx11_opt/installed/lib64/python3.6/site-packages/lofar/sas/tmss/tmss/settings.py
# Allow Django HTTP access
EXPOSE 8000
RUN echo -e "ALLOWED_HOSTS=['*']\n" >> /lofar/build/gnucxx11_opt/installed/lib64/python3.6/site-packages/lofar/sas/tmss/tmss/settings.py
# Hot patches
# Run LOFAR app
#CMD bash -c 'source /lofar/build/gnucxx11_opt/lofarinit.sh && tmss_test_ldap && \
# tmss_test_database && \
# tmss'
ENV POSTGRES_PORT=5444
ENV POSTGRES_DB=test
ENV POSTGRES_PASSWORD=test
ENV POSTGRES_USER=test_tmss_user
ENV POSTGRES_HOST=localhost
ENTRYPOINT /bin/bash -c 'export VARIANT=gnucxx11_opt; source /lofar/build/$VARIANT/lofarinit.sh;tmss_test_database & \
sleep 15 && \
/usr/bin/python3 /lofar/build/gnucxx11_opt/installed/lib64/python3.6/site-packages/lofar/sas/tmss/manage.py runserver 0.0.0.0:8000'
#/bin/bash -c 'export VARIANT=gnucxx11_opt; source /lofar/build/$VARIANT/lofarinit.sh; tmss_test_database &;sleep 10; python3 /lofar/build/gnucxx11_opt/installed/lib64/python3.6/site-packages/lofar/sas/tmss/manage.py runserver 0.0.0.0:8000'
ENTRYPOINT /bin/bash -c 'export VARIANT=gnucxx11_opt; \
source /lofar/build/$VARIANT/lofarinit.sh; \
cat /var/lib/pgsql/.lofar/dbcredentials/tmss.ini; \
cat /var/lib/pgsql/.lofar/dbcredentials/tmss_ldap_test.ini; \
tmss_testldap & \
tmss_testdatabase & \
sleep 15 && \
tmss & \
cd /lofar/build/gnucxx11_opt/installed/share/www && \
serve -s . -p 3003'
# It also works to serve the dev server for interactive development as such:
# cd /lofar/build/gnucxx11_opt/SAS/TMSS/frontend/frontend_poc && \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment