mirror of
				https://github.com/f-droid/fdroidserver.git
				synced 2025-11-04 06:30:27 +03:00 
			
		
		
		
	Merge branch 'docker-buildserver-always-apt-https' into 'master'
buildserver: always use HTTPS for apt connections in Docker image See merge request fdroid/fdroidserver!1603
This commit is contained in:
		
						commit
						e4b54c9768
					
				
					 2 changed files with 20 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -98,6 +98,14 @@ metadata_v0:
 | 
			
		|||
    # Ubuntu and other distros often lack https:// support
 | 
			
		||||
    - grep Debian /etc/issue.net
 | 
			
		||||
        && { find /etc/apt/sources.list* -type f | xargs sed -i s,http:,https:, ; }
 | 
			
		||||
    # The official Debian docker images ship without ca-certificates,
 | 
			
		||||
    # TLS certificates cannot be verified until that is installed. The
 | 
			
		||||
    # following code turns off TLS verification, and enables HTTPS, so
 | 
			
		||||
    # at least unverified TLS is used for apt-get instead of plain
 | 
			
		||||
    # HTTP.  Once ca-certificates is installed, the CA verification is
 | 
			
		||||
    # enabled by removing this config.  This set up makes the initial
 | 
			
		||||
    # `apt-get update` and `apt-get install` look the same as verified
 | 
			
		||||
    # TLS to the network observer and hides the metadata.
 | 
			
		||||
    - echo 'Acquire::https::Verify-Peer "false";' > /etc/apt/apt.conf.d/99nocacertificates
 | 
			
		||||
    - apt-get update
 | 
			
		||||
    - apt-get install ca-certificates
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,11 +37,22 @@ RUN useradd --create-home -s /bin/bash vagrant && echo -n 'vagrant:vagrant' | ch
 | 
			
		|||
#
 | 
			
		||||
# Ensure fdroidserver's dependencies are marked manual before purging
 | 
			
		||||
# unneeded packages, otherwise, all its dependencies get purged.
 | 
			
		||||
#
 | 
			
		||||
# The official Debian docker images ship without ca-certificates, so
 | 
			
		||||
# TLS certificates cannot be verified until that is installed. The
 | 
			
		||||
# following code temporarily turns off TLS verification, and enables
 | 
			
		||||
# HTTPS, so at least unverified TLS is used for apt-get instead of
 | 
			
		||||
# plain HTTP.  Once ca-certificates is installed, the CA verification
 | 
			
		||||
# is enabled by removing the newly created config file.  This set up
 | 
			
		||||
# makes the initial `apt-get update` and `apt-get install` look the
 | 
			
		||||
# same as verified TLS to the network observer and hides the metadata.
 | 
			
		||||
RUN printf "path-exclude=/usr/share/locale/*\npath-exclude=/usr/share/man/*\npath-exclude=/usr/share/doc/*\npath-include=/usr/share/doc/*/copyright\n" >/etc/dpkg/dpkg.cfg.d/01_nodoc \
 | 
			
		||||
	&& mkdir -p /usr/share/man/man1 \
 | 
			
		||||
	&& echo 'Acquire::https::Verify-Peer "false";' > /etc/apt/apt.conf.d/99nocacertificates \
 | 
			
		||||
	&& find /etc/apt/sources.list* -type f -exec sed -i s,http:,https:, {} \; \
 | 
			
		||||
	&& apt-get update \
 | 
			
		||||
	&& apt-get install ca-certificates \
 | 
			
		||||
        && sed -i 's,http:,https:,' /etc/apt/sources.list.d/debian.sources \
 | 
			
		||||
	&& rm /etc/apt/apt.conf.d/99nocacertificates \
 | 
			
		||||
	&& apt-get upgrade \
 | 
			
		||||
	&& apt-get dist-upgrade \
 | 
			
		||||
	&& apt-get install openssh-client iproute2 python3 openssh-server sudo \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue