dockerized go-apt-cacher with config for internal use
This commit is contained in:
		
							parent
							
								
									d9e17716a1
								
							
						
					
					
						commit
						589cc2fdaa
					
				
							
								
								
									
										12
									
								
								.drone.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.drone.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | |||||||
|  | kind: pipeline | ||||||
|  | name: test-docker-build | ||||||
|  | 
 | ||||||
|  | steps: | ||||||
|  | - name: test-docker-build | ||||||
|  |   image: plugins/docker | ||||||
|  |   settings: | ||||||
|  |     repo: sneak/go-apt-cacher | ||||||
|  |     dry_run: true | ||||||
|  |     tags: | ||||||
|  |       - ${DRONE_COMMIT_SHA} | ||||||
|  |       - ${DRONE_BRANCH} | ||||||
							
								
								
									
										22
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								Dockerfile
									
									
									
									
									
								
							| @ -1,3 +1,23 @@ | |||||||
| FROM ubuntu:focal | FROM golang:1.15-buster AS builder | ||||||
| 
 | 
 | ||||||
|  | WORKDIR /usr/local/src | ||||||
|  | #RUN apt update && apt install -y git | ||||||
| 
 | 
 | ||||||
|  | RUN git clone https://github.com/cybozu-go/aptutil.git && \ | ||||||
|  |     cd aptutil && \ | ||||||
|  |     git checkout 3f82d83844818cdd6a6d7dca3eca0f76d8a3fce5 | ||||||
|  | 
 | ||||||
|  | WORKDIR /usr/local/src/aptutil | ||||||
|  | RUN go mod download | ||||||
|  | WORKDIR /usr/local/src/aptutil/cmd/go-apt-cacher | ||||||
|  | RUN go build | ||||||
|  | RUN find . | ||||||
|  | 
 | ||||||
|  | FROM debian:buster-slim AS final | ||||||
|  | COPY --from=builder /usr/local/src/aptutil/cmd/go-apt-cacher/go-apt-cacher /usr/local/bin/go-apt-cacher | ||||||
|  | ADD ./go-apt-cacher.toml /etc/go-apt-cacher.toml | ||||||
|  | RUN chmod ugoa+rx /usr/local/bin/* && \ | ||||||
|  |     mkdir -p /var/spool/go-apt-cacher && \ | ||||||
|  |     chown nobody:nogroup /var/spool/go-apt-cacher | ||||||
|  | USER nobody:nogroup | ||||||
|  | ENTRYPOINT ["/usr/local/bin/go-apt-cacher"] | ||||||
|  | |||||||
							
								
								
									
										5
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | docker: | ||||||
|  | 	docker build --progress plain -t sneak/go-apt-cacher . | ||||||
|  | 
 | ||||||
|  | run: | ||||||
|  | 	docker run -p 8080:8080 -ti sneak/go-apt-cacher | ||||||
							
								
								
									
										42
									
								
								go-apt-cacher.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								go-apt-cacher.toml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | |||||||
|  | # listen_address is the listening address of go-apt-cacher. | ||||||
|  | # Default is ":3142". | ||||||
|  | listen_address = ":8080" | ||||||
|  | 
 | ||||||
|  | # Interval to check updates for Release/InRelease files. | ||||||
|  | # Default: 600 seconds | ||||||
|  | check_interval = 600 | ||||||
|  | 
 | ||||||
|  | # Cache period for bad HTTP response statuses. | ||||||
|  | # Default: 3 seconds | ||||||
|  | cache_period = 3 | ||||||
|  | 
 | ||||||
|  | # Directory for meta data files. | ||||||
|  | # The directory owner must be the same as the process owner of go-apt-cacher. | ||||||
|  | meta_dir = "/var/spool/go-apt-cacher/meta" | ||||||
|  | 
 | ||||||
|  | # Directory for non-meta data files. | ||||||
|  | # This directory must be different from meta_dir. | ||||||
|  | # The directory owner must be the same as the process owner of go-apt-cacher. | ||||||
|  | cache_dir = "/var/spool/go-apt-cacher/cache" | ||||||
|  | 
 | ||||||
|  | # Capacity for cache_dir. | ||||||
|  | # Default: 1 GiB | ||||||
|  | cache_capacity = 10 | ||||||
|  | 
 | ||||||
|  | # Maximum concurrent connections for an upstream server. | ||||||
|  | # Setting this 0 disables limit on the number of connections. | ||||||
|  | # Default: 10 | ||||||
|  | max_conns = 20 | ||||||
|  | 
 | ||||||
|  | # log specifies logging configurations. | ||||||
|  | # Details at https://godoc.org/github.com/cybozu-go/well#LogConfig | ||||||
|  | [log] | ||||||
|  | #filename = "/var/log/go-apt-cacher.log" | ||||||
|  | level = "info" | ||||||
|  | format = "plain" | ||||||
|  | 
 | ||||||
|  | # mapping declares which prefix maps to a Debian repository URL. | ||||||
|  | # prefix must match this regexp: ^[a-z0-9._-]+$ | ||||||
|  | [mapping] | ||||||
|  | ubuntu = "http://archive.ubuntu.com/ubuntu" | ||||||
|  | security = "http://security.ubuntu.com/ubuntu" | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user