Dockerfile 3.71 KB
FROM python:3.8

ARG uid

RUN apt-get update && apt-get install -y \
    default-mysql-client \
    git \
    nano \
    vim

# DEV only
RUN apt-get install -y \
	# for dot => PNG diagrams generation with pyreverse (pylint)
	graphviz graphviz-dev

# Guitastro
RUN apt-get install -y \
	# - ASTROMETRY.NET
	astrometry.net astrometry-data-tycho2
	#astrometry-data-2mass
	# - PIL
	#python3-pil python3-pil.imagetk
	#python3-venv
	#python3-pip

# - INDI => for Guitastro
# https://indilib.org/get-indi/download-ubuntu.html
# For apt-add-repository :
RUN apt-get install -y software-properties-common
RUN apt-add-repository ppa:mutlaqja/ppa
#RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 487CEC2B3F33A288
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 487CEC2B3F33A288
#RUN apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 487CEC2B3F33A288
#RUN apt-key adv --keyserver http://ppa.launchpad.net/mutlaqja/ppa/ubuntu/dists/jammy --recv-keys 487CEC2B3F33A288
#RUN apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys 487CEC2B3F33A288
#10 1.751 E: The repository 'http://ppa.launchpad.net/mutlaqja/ppa/ubuntu jammy InRelease' is not signed.
RUN apt-get update 
#RUN apt-get install -y indi-full
#RUN apt-get install -y gsc
#RUN apt-get install -y kstars-bleeding
#RUN apt-get install -y libindi1
#RUN apt-get install -y indi-bin
#RUN apt-get install -y swig
#RUN apt-get install -y libz3-dev
#RUN apt-get install -y libcfitsio-dev
#RUN apt-get install -y libnova-dev
#RUN apt-get install -y libindi-dev
# Obligatoire ?
#RUN pip install --user --install-option="--prefix=" pyindi-client

# - ASTAP (Astrometry) => for Guitastro
# Download .deb file from https://www.hnsky.org/astap.htm
RUN apt-get install -y wget 
RUN wget https://www.hnsky.org/astap_amd64.deb
RUN apt-get install -y ./astap_amd64.deb
RUN rm ./astap_amd64.deb

# - PYLON (Cameras BASLER) => for Guitastro
# https://www.baslerweb.com/en/products/software/basler-pylon-camera-software-suite/
# pylon_6.3.0.23157_x86_64_setup.tar.gz
# tar -xvf pylon_6.3.0.23157_x86_64_setup.tar.gz
# copier le fichier pylon_6.3.0.23157_x86_64.tar.gz à l’endroit où installer le logiciel.
# tar -xvf pylon_6.3.0.23157_x86_64.tar.gz
# apt-get install ./pylon_6.3.0.23157-deb0_amd64.deb

# Guitastro DEV only

# - ANACONDA / SPYDER
# https://www.anaconda.com/products/individual
# Install spyder

# - DOCUMENT GENERATION
# apt-get install python3-sphinx
# apt install spyder
# apt install graphviz libgraphviz-dev



# Get IRAP self signed certificate
RUN echo | openssl s_client -connect gitlab.irap.omp.eu:443 -servername gitlab.irap.omp.eu 2>/dev/null | openssl x509 > /etc/ssl/certs/gitlab.irap.omp.eu.crt

RUN echo "$uid" > test.txt
# Adding new user (pyros_user) and creating his home folder
RUN useradd --create-home --shell /bin/bash pyros_user --uid $uid

# Create the work dir and set permissions as pyros_user 
RUN mkdir -p /home/pyros_user/app/ && chown -R pyros_user:pyros_user /home/pyros_user/app
WORKDIR /home/pyros_user/app

# Switch from root to pyros_user
USER pyros_user

RUN pip install --user --upgrade pip
RUN pip install --user wheel
# TODO: pourquoi numpy ??? A virer ?
RUN pip install --user numpy

# Copy local host machine files to image
COPY --chown=pyros_user:pyros_user . .
# Copy some aliases
RUN cp .bash_aliases ..
#RUN mv .bash_aliases ..
#COPY --chown=pyros_user:pyros_user .bash_aliases ..

# Adding local/bin to path to avoid pip warning
ENV PATH "$PATH:/home/pyros_user/.local/bin"

# Installing click on the image to prevent error on the first execution of the installation script
RUN pip install --user click

# Installing packages required for PyROS
RUN pip install --user -r ./install/requirements.txt
RUN pip install --user -r ./install/requirements_dev.txt