mirror of
				https://github.com/Jokiller230/puzzlevision.git
				synced 2025-10-31 13:50:04 +00:00 
			
		
		
		
	feat(modules): add homepage service
feat(resources): add homepage service config files and assets
This commit is contained in:
		
							parent
							
								
									7b2e828c8f
								
							
						
					
					
						commit
						580a65beb8
					
				
					 9 changed files with 171 additions and 0 deletions
				
			
		
							
								
								
									
										40
									
								
								modules/nixos/services/homepage/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								modules/nixos/services/homepage/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,40 @@ | |||
| { | ||||
|   lib, | ||||
|   namespace, | ||||
|   config, | ||||
|   host, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| let | ||||
|   cfg = config.${namespace}.services.homepage; | ||||
|   homepageConfigDirectory = lib.snowfall.fs.get-file "resources/services/homepage"; | ||||
| in { | ||||
|   options.${namespace}.services.homepage = { enable = mkEnableOption "Enable Homepage, an intuitive dashboard for your services."; }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     systemd.tmpfiles.rules = [ | ||||
|       "d /var/lib/containers/homepage/config 0700 root root -" | ||||
|       "d /var/lib/containers/homepage/images 0700 root root -" | ||||
| 
 | ||||
|       "f /var/lib/containers/homepage 0700 root root - - - exec cp -r ${homepageConfigDirectory}/* /var/lib/containers/homepage" | ||||
|     ]; | ||||
| 
 | ||||
|     virtualisation.oci-containers.containers.vaultwarden = { | ||||
|       image = "ghcr.io/gethomepage/homepage:latest"; | ||||
|       autoStart = true; | ||||
|       hostname = host; | ||||
|       labels = { | ||||
|         "traefik.enable" = "true"; | ||||
|         "traefik.http.routers.homepage.entrypoints" = "websecure"; | ||||
|         "traefik.http.routers.homepage.rule" = "Host(`home.thevoid.cafe`)"; | ||||
|         "traefik.http.services.homepage.loadbalancer.server.port" = "3000"; | ||||
|       }; | ||||
|       volumes = [ | ||||
|         "/var/lib/containers/homepage/config:/app/config:rw" | ||||
|         "/var/lib/containers/homepage/images:/app/public/images:rw" | ||||
|         "/var/run/docker.sock:/var/run/docker.sock:ro" # Optional, used for docker integration. | ||||
|       ]; | ||||
|       extraOptions = ["--network=proxy"]; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										30
									
								
								resources/services/homepage/config/bookmarks.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								resources/services/homepage/config/bookmarks.yaml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,30 @@ | |||
| --- | ||||
| # For configuration options and examples, please see: | ||||
| # https://gethomepage.dev/en/configs/bookmarks | ||||
| 
 | ||||
| - IT: | ||||
|     - Github: | ||||
|         - abbr: GH | ||||
|           href: https://github.com/ | ||||
|     - Codeberg: | ||||
|         - icon: mdi-image-filter-hdr-outline | ||||
|           href: https://codeberg.org/ | ||||
|     - Stackoverflow: | ||||
|         - abbr: SO | ||||
|           href: https://stackoverflow.com/ | ||||
| 
 | ||||
| - Social: | ||||
|     - Reddit: | ||||
|         - abbr: RE | ||||
|           href: https://reddit.com/ | ||||
|     - Whatsapp: | ||||
|         - icon: mdi-chat-outline | ||||
|           href: https://web.whatsapp.com/ | ||||
| 
 | ||||
| - Fun: | ||||
|     - YouTube: | ||||
|         - icon: mdi-video-vintage | ||||
|           href: https://youtube.com/ | ||||
|     - A-Dark-Room: | ||||
|         - icon: mdi-campfire | ||||
|           href: https://adarkroom.doublespeakgames.com/ | ||||
							
								
								
									
										10
									
								
								resources/services/homepage/config/docker.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								resources/services/homepage/config/docker.yaml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | |||
| --- | ||||
| # For configuration options and examples, please see: | ||||
| # https://gethomepage.dev/en/configs/docker/ | ||||
| 
 | ||||
| # my-docker: | ||||
| #   host: 127.0.0.1 | ||||
| #   port: 2375 | ||||
| 
 | ||||
| default-docker: | ||||
|   socket: /var/run/docker.sock | ||||
							
								
								
									
										14
									
								
								resources/services/homepage/config/services.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								resources/services/homepage/config/services.yaml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | |||
| --- | ||||
| # For configuration options and examples, please see: | ||||
| # https://gethomepage.dev/en/configs/services | ||||
| 
 | ||||
| - System: | ||||
|     - Fritz!Box: | ||||
|         name: Fritz!Box | ||||
|         icon: avmfritzbox.png | ||||
|         href: http://192.168.1.1 | ||||
|         description: Home router configuration | ||||
|         widget: | ||||
|           type: "fritzbox" | ||||
|           url: http://192.168.1.1 | ||||
|         ping: http://192.168.1.1 | ||||
							
								
								
									
										54
									
								
								resources/services/homepage/config/settings.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								resources/services/homepage/config/settings.yaml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,54 @@ | |||
| --- | ||||
| # For configuration options and examples, please see: | ||||
| # https://gethomepage.dev/en/configs/settings | ||||
| 
 | ||||
| title: Jo's Home | ||||
| background: | ||||
|   image: /images/blossoms.png | ||||
|   blur: md | ||||
|   opacity: 45 | ||||
| 
 | ||||
| favicon: /images/logo.png | ||||
| 
 | ||||
| theme: dark | ||||
| color: zinc | ||||
| iconStyle: theme | ||||
| 
 | ||||
| layout: | ||||
|   Media: | ||||
|     style: row | ||||
|     columns: 1 | ||||
|   Utilities: | ||||
|     style: column | ||||
|     columns: 2 | ||||
|   Entertainment: | ||||
|     style: column | ||||
|     column: 3 | ||||
|   System: | ||||
|     style: column | ||||
|     columns: 3 | ||||
|   Development: | ||||
|     style: row | ||||
|     columns: 2 | ||||
|   Social: | ||||
|     style: column | ||||
|     columns: 3 | ||||
|   IT: | ||||
|     style: column | ||||
|     columns: 3 | ||||
|   Fun: | ||||
|     style: column | ||||
|     columns: 3 | ||||
| 
 | ||||
| headerStyle: clean | ||||
| 
 | ||||
| target: _blank | ||||
| 
 | ||||
| quicklaunch: | ||||
|   searchDescriptions: true | ||||
|   hideInternetSearch: false | ||||
|   hideVisitURL: false | ||||
| 
 | ||||
| hideVersion: true | ||||
| 
 | ||||
| showStats: false | ||||
							
								
								
									
										22
									
								
								resources/services/homepage/config/widgets.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								resources/services/homepage/config/widgets.yaml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,22 @@ | |||
| --- | ||||
| # For configuration options and examples, please see: | ||||
| # https://gethomepage.dev/en/configs/widgets | ||||
| 
 | ||||
| - resources: | ||||
|     label: System | ||||
|     cpu: true | ||||
|     memory: true | ||||
|     uptime: true | ||||
|     units: metric | ||||
| 
 | ||||
| - resources: | ||||
|     label: Storage | ||||
|     disk: / | ||||
| 
 | ||||
| - datetime: | ||||
|     text_size: xl | ||||
|     format: | ||||
|       timeStyle: short | ||||
|       dateStyle: long | ||||
|       hourCycle: h23 | ||||
|       locale: de | ||||
							
								
								
									
										
											BIN
										
									
								
								resources/services/homepage/images/blossoms.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								resources/services/homepage/images/blossoms.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 5.9 MiB | 
							
								
								
									
										
											BIN
										
									
								
								resources/services/homepage/images/logo.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								resources/services/homepage/images/logo.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 17 KiB | 
|  | @ -47,6 +47,7 @@ | |||
|       }; | ||||
| 
 | ||||
|       vaultwarden.enable = true; | ||||
|       homepage.enable = true; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue