diff --git a/gitlab.yml b/gitlab.yml index 93ee43d..cd08973 100644 --- a/gitlab.yml +++ b/gitlab.yml @@ -1,65 +1,65 @@ version: "3.6" services: gitlab: networks: - proxy - image: gitlab/gitlab-ce:latest + image: gitlab/gitlab-ce:14.10.3-ce.0 hostname: 'lsms-gitlab.epfl.ch' ports: - "4022:22" - "5050:5050" volumes: - data:/var/opt/gitlab - logs:/var/log/gitlab - config:/etc/gitlab - /etc/pki/tls/certs/:/etc/gitlab/ssl # shm_size: '256m' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'https://lsms-gitlab.epfl.ch' registry_external_url 'https://lsms-gitlab.epfl.ch:5050' gitlab_rails['gitlab_shell_ssh_port'] = 4022 nginx['listen_port'] = 9000 nginx['listen_https'] = false nginx['redirect_http_to_https'] = false registry_nginx['redirect_http_to_https'] = false mattermost_nginx['redirect_http_to_https'] = false letsencrypt['enable'] = false nginx['client_max_body_size'] = 0 gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "mail.epfl.ch" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "lsms-cloud" gitlab_rails['smtp_domain'] = "epfl.ch" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true gitlab_rails['smtp_pool'] = false gitlab_rails['smtp_openssl_verify_mode'] = 'none' # gitlab_rails['gitlab_email_reply_to'] = 'noreply@epfl.ch' gitlab_rails['smtp_password'] = '${MAIL_PASSWORD}' # VIRTUAL_HOST: lsms-gitlab.epfl.ch VIRTUAL_PORT: 9000 gitlab-runner: image: gitlab/gitlab-runner:alpine volumes: - runner:/etc/gitlab-runner - /var/run/docker.sock:/var/run/docker.sock volumes: config: logs: data: runner: networks: proxy: external: true diff --git a/jupyterhub.docker b/jupyterhub.docker index 3ddd57c..0edc9fd 100644 --- a/jupyterhub.docker +++ b/jupyterhub.docker @@ -1,48 +1,48 @@ FROM debian:bullseye MAINTAINER Guillaume Anciaux ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 ## for apt to be noninteractive ENV DEBIAN_FRONTEND noninteractive ENV DEBCONF_NONINTERACTIVE_SEEN true -RUN apt-get -qq update && apt-get install -y cmake cmake-curses-gui build-essential python3-dev libboost-dev libfftw3-dev libgsl-dev gfortran liblapack-dev libopenmpi-dev sharutils git doxygen graphviz python3-pip texlive-latex-base libmumps-dev libscotch-dev && apt -y clean && rm -rf /var/lib/apt/lists/* +RUN apt-get -qq update && apt-get install -y cmake cmake-curses-gui build-essential python3-dev libboost-dev libfftw3-dev libgsl-dev gfortran liblapack-dev libopenmpi-dev sharutils git doxygen graphviz python3-pip texlive-latex-base libmumps-dev libscotch-dev ffmpeg && apt -y clean && rm -rf /var/lib/apt/lists/* RUN apt-get -qq update && apt-get install -y xsltproc ccache bc libgtest-dev && apt -y clean && rm -rf /var/lib/apt/lists/* RUN apt-get -qq update && apt-get install -y libocct-data-exchange-dev libocct-foundation-dev libocct-modeling-algorithms-dev libocct-modeling-data-dev libocct-ocaf-dev && apt -y clean && rm -rf /var/lib/apt/lists/* RUN echo "\ deb http://deb.debian.org/debian testing main contrib non-free" >> /etc/apt/sources.list RUN echo " \ Package: * \ Pin: release a=stable \ Pin-Priority: 800 \ \ Package: * \ Pin: release a=testing \ Pin-Priority: 600 \ " >> /etc/apt/preferences.d/priorities RUN apt-get -qq update && apt-get install -t testing -y libgmsh-dev RUN apt-get update && apt -y install nodejs npm git-lfs libgl1-mesa-glx xvfb imagemagick && apt -y clean && rm -rf /var/lib/apt/lists/* RUN apt-get update && apt -y install python3-pip && apt -y clean && rm -rf /var/lib/apt/lists/* RUN pip3 install jupyterhub RUN npm install -g configurable-http-proxy # RUN mkdir /repos && cd /repos && git clone https://github.com/InsightSoftwareConsortium/itkwidgets.git # RUN cd /repos/itkwidgets && pip install -e . -RUN pip3 install jupyterlab notebook jupyterlab-git numpy scipy sympy matplotlib pyvista ipyvtklink itkwidgets gmsh akantu meshio pep8 tamaas +RUN pip3 install jupyterlab notebook jupyterlab-git numpy scipy sympy matplotlib pyvista ipyvtklink itkwidgets akantu meshio pep8 tamaas RUN pip3 install git+https://gitlab.com/ganciaux/slides.git -RUN pip3 install sphinx breathe sphinx-rtd-theme pytest scipy xmltodict meshio pep8 +RUN pip3 install sphinx breathe sphinx-rtd-theme pytest scipy xmltodict meshio pep8 RISE RUN pip3 install --upgrade setuptools wheel twine RUN mkdir -p /srv/jupyterhub/ WORKDIR /srv/jupyterhub/ RUN ln -sf /dev/stdout /var/log/jupytherhub.log RUN mkdir /etc/users && mv /etc/passwd /etc/users && mv /etc/group /etc/users RUN jupyter nbextension install --py itkwidgets RUN jupyter nbextension enable itkwidgets --py CMD ["jupyterhub", "&>>" ,"/var/log/jupyterhub.log"] \ No newline at end of file diff --git a/portainer.yml b/portainer.yml index cbab7a0..c878fcf 100644 --- a/portainer.yml +++ b/portainer.yml @@ -1,75 +1,75 @@ version: '3.9' services: nginx-proxy: image: jwilder/nginx-proxy networks: - proxy - proxy_jupyter ports: - "80:80" - "443:443" volumes: - "/var/run/docker.sock:/tmp/docker.sock:ro" - "./vhost.d:/etc/nginx/vhost.d:ro" - /etc/pki/tls/certs/:/etc/nginx/certs configs: - - source: nginx_config + - source: nginx_config_copy target: /etc/nginx/conf.d/my_proxy.conf # environment: # - HTTPS_METHOD=nohttp agent: image: portainer/agent:2.9.3 environment: # REQUIRED: Should be equal to the service name prefixed by "tasks." when # deployed inside an overlay network AGENT_CLUSTER_ADDR: tasks.agent # AGENT_PORT: 9001 # LOG_LEVEL: debug volumes: - /var/run/docker.sock:/var/run/docker.sock - /var/lib/docker/volumes:/var/lib/docker/volumes networks: - agent_network deploy: mode: global placement: constraints: [node.platform.os == linux] portainer: image: portainer/portainer-ce:2.9.3 command: -H tcp://tasks.agent:9001 --tlsskipverify volumes: - data:/data environment: - VIRTUAL_HOST=lsms-portainer.epfl.ch - VIRTUAL_PORT=9000 - VIRTUAL_PATH=/ - VIRTUAL_DEST=/ networks: - proxy - agent_network deploy: mode: replicated replicas: 1 placement: constraints: [node.role == manager] networks: proxy: external: true proxy_jupyter: external: true agent_network: external: true volumes: data: configs: - nginx_config: + nginx_config_copy: external: true