mirror of
				https://github.com/avatao-content/test-tutorial-framework
				synced 2025-11-04 11:42:55 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
FROM eu.gcr.io/avatao-challengestore/tutorial-framework
 | 
						|
 | 
						|
# Install webservice dependencies
 | 
						|
RUN pip3 install Flask==1.0        \
 | 
						|
                 SQLAlchemy==1.2.7 \
 | 
						|
                 passlib==1.7.1    \
 | 
						|
                 git+https://github.com/avatao-content/tfwconnector.git#subdirectory=python3
 | 
						|
 | 
						|
# Define variables to use later
 | 
						|
ENV TFW_EHMAIN_DIR="/srv/.tfw_builtin_ehs"          \
 | 
						|
    TFW_WEBSERVICE_DIR="/srv/webservice"            \
 | 
						|
    TFW_IDE_WD="/home/${AVATAO_USER}/workdir"       \
 | 
						|
    TFW_TERMINADO_WD="/home/${AVATAO_USER}/workdir"
 | 
						|
 | 
						|
# Copy TFW related stuff to a dedicated directory
 | 
						|
COPY solvable/src ${TFW_EHMAIN_DIR}/
 | 
						|
 | 
						|
# Copy webservice to a dedicated directory
 | 
						|
COPY solvable/src/webservice/ ${TFW_WEBSERVICE_DIR}/
 | 
						|
ADD solvable/src/webservice/frontend-deps.tar ${TFW_WEBSERVICE_DIR}/static
 | 
						|
 | 
						|
# Create IDE directory, symlink server source and give proper permissions to AVATAO_USER
 | 
						|
RUN mkdir -p ${TFW_IDE_WD}                                               &&\
 | 
						|
    ln -s ${TFW_WEBSERVICE_DIR}/user_ops.py ${TFW_IDE_WD}                &&\
 | 
						|
    chown -R ${AVATAO_USER}: "${TFW_IDE_WD}" "${TFW_WEBSERVICE_DIR}"     &&\
 | 
						|
    chmod -R 755 "${TFW_IDE_WD}" "${TFW_WEBSERVICE_DIR}"
 | 
						|
 | 
						|
# Hide TFW related code from user
 | 
						|
RUN chown -R root:root ${TFW_SERVER_DIR} && chmod -R 700 ${TFW_SERVER_DIR}
 | 
						|
 | 
						|
# Make AVATAO_USER's home writeable and set it as WORKDIR
 | 
						|
# Make webservice directory writable
 | 
						|
VOLUME ["/home/${AVATAO_USER}", "${TFW_WEBSERVICE_DIR}"]
 | 
						|
WORKDIR /home/${AVATAO_USER}
 |