docker image
This commit is contained in:
		
							parent
							
								
									adcb02180d
								
							
						
					
					
						commit
						1e2f124e65
					
				
					 3 changed files with 46 additions and 0 deletions
				
			
		|  | @ -6,6 +6,10 @@ This repo has a simple sync script with a few features: | ||||||
| - after install commands | - after install commands | ||||||
| - deploy script | - deploy script | ||||||
| 
 | 
 | ||||||
|  | ## Deployment | ||||||
|  | To import the dotfiles run:   | ||||||
|  | `curl --proto '=https' --tlsv1.2 -sSf https://git.faulty.nl/didier/dotfiles/-/raw/main/lib/deploy.sh | sh` | ||||||
|  | 
 | ||||||
| ## Notes | ## Notes | ||||||
| - `gpackage.list`   | - `gpackage.list`   | ||||||
| This is a list with packages only installed if the `-g` or `--graphical` flag is used. | This is a list with packages only installed if the `-g` or `--graphical` flag is used. | ||||||
							
								
								
									
										12
									
								
								lib/Dockerfile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								lib/Dockerfile
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | ||||||
|  | FROM python:3.10-alpine | ||||||
|  | 
 | ||||||
|  | RUN apk add git | ||||||
|  | 
 | ||||||
|  | COPY . /app | ||||||
|  | 
 | ||||||
|  | WORKDIR /app | ||||||
|  | 
 | ||||||
|  | # if no remote then add remote or otherwrite | ||||||
|  | RUN git remote get-url origin || git remote add origin https://git.faulty.nl/didier/dotfiles && git remote set-url origin https://git.faulty.nl/didier/dotfiles | ||||||
|  | 
 | ||||||
|  | ENTRYPOINT ["python3", "/app/lib/docker.py"] | ||||||
							
								
								
									
										30
									
								
								lib/docker.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								lib/docker.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,30 @@ | ||||||
|  | # any HTTP request returns the contents of: ./lib/deploy.sh | ||||||
|  | # If the deploy script is older then a day, do a git pull | ||||||
|  | 
 | ||||||
|  | from http.server import BaseHTTPRequestHandler, HTTPServer | ||||||
|  | import subprocess | ||||||
|  | import os | ||||||
|  | import time | ||||||
|  | 
 | ||||||
|  | class handler(BaseHTTPRequestHandler): | ||||||
|  |     def do_GET(self): | ||||||
|  |         self.send_response(200) | ||||||
|  |         self.send_header('Content-type','text/plain') | ||||||
|  |         self.end_headers() | ||||||
|  |         if (time.time() - os.path.getmtime('./lib/deploy.sh') > 86400): | ||||||
|  |             subprocess.call(['git', 'pull']) | ||||||
|  |         with open('./lib/deploy.sh') as f: | ||||||
|  |             self.wfile.write(bytes(f.read(), 'utf-8')) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def main(): | ||||||
|  |     try: | ||||||
|  |         server = HTTPServer(('', 80), handler) | ||||||
|  |         print('started httpserver...') | ||||||
|  |         server.serve_forever() | ||||||
|  |     except KeyboardInterrupt: | ||||||
|  |         print('^C received, shutting down the web server') | ||||||
|  |         server.socket.close() | ||||||
|  | 
 | ||||||
|  | if __name__ == '__main__': | ||||||
|  |     main() | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue