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