forked from fediversity/simple-nixos-fediverse
		
	Factorise services URIs
This commit is contained in:
		
							parent
							
								
									9d1f20fc1c
								
							
						
					
					
						commit
						fb02afc6c9
					
				
					 7 changed files with 28 additions and 24 deletions
				
			
		|  | @ -53,5 +53,9 @@ in { | |||
|         urlFor = bucket: "http://${bucket}.${rootDomainAndPort}"; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     pixelfed.domain = "pixelfed.${config.fediversity.domain}"; | ||||
|     mastodon.domain = "mastdodon.${config.fediversity.domain}"; | ||||
|     peertube.domain = "peertube.${config.fediversity.domain}"; | ||||
|   }; | ||||
| } | ||||
|  |  | |||
|  | @ -63,12 +63,14 @@ lib.mkIf (config.fediversity.enable && config.fediversity.mastodon.enable) { | |||
|   services.mastodon = { | ||||
|     enable = true; | ||||
| 
 | ||||
|     # TODO: set up a domain name, and a DNS service so that this can run not in a vm | ||||
|     # localDomain = "domain.social"; | ||||
|     localDomain = config.fediversity.mastodon.domain; | ||||
|     configureNginx = true; | ||||
| 
 | ||||
|     # TODO: configure a mailserver so this works | ||||
|     # smtp.fromAddress = "mastodon@domain.social"; | ||||
|     smtp = { | ||||
|       fromAddress = "noreply@${config.fediversity.mastodon.domain}"; | ||||
|       createLocally = false; | ||||
|     }; | ||||
| 
 | ||||
|     # TODO: this is hardware-dependent. let's figure it out when we have hardware | ||||
|     # streamingProcesses = 1; | ||||
|  | @ -81,4 +83,3 @@ lib.mkIf (config.fediversity.enable && config.fediversity.mastodon.enable) { | |||
|     # defaults.email = "test@example.com"; | ||||
|   }; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -53,6 +53,14 @@ lib.mkIf (config.fediversity.enable && config.fediversity.peertube.enable) { | |||
|   }; | ||||
| 
 | ||||
|   services.peertube = { | ||||
|     enable = true; | ||||
|     localDomain = config.fediversity.peertube.domain; | ||||
| 
 | ||||
|     # TODO: in most of nixpkgs, these are true by default. upstream that unless there's a good reason not to. | ||||
|     redis.createLocally = true; | ||||
|     database.createLocally = true; | ||||
|     configureNginx = true; | ||||
| 
 | ||||
|     settings = { | ||||
|       object_storage = { | ||||
|         enabled = true; | ||||
|  |  | |||
|  | @ -35,7 +35,10 @@ lib.mkIf (config.fediversity.enable && config.fediversity.pixelfed.enable) { | |||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   services.pixelfed.enable = true; | ||||
|   services.pixelfed = { | ||||
|     enable = true; | ||||
|     domain = config.fediversity.pixelfed.domain; | ||||
|   }; | ||||
| 
 | ||||
|   services.pixelfed.settings = { | ||||
|     # DANGEROUSLY_SET_FILESYSTEM_DRIVER = "s3"; | ||||
|  |  | |||
|  | @ -14,14 +14,6 @@ | |||
|       }; | ||||
| 
 | ||||
|       services.mastodon = { | ||||
|         # redirects to localhost, but allows it to have a proper domain name | ||||
|         localDomain = "mastodon.localhost"; | ||||
| 
 | ||||
|         smtp = { | ||||
|           fromAddress = "mastodon@mastodon.localhost"; | ||||
|           createLocally = false; | ||||
|         }; | ||||
| 
 | ||||
|         extraConfig = { | ||||
|           EMAIL_DOMAIN_ALLOWLIST = "example.com"; | ||||
|         }; | ||||
|  | @ -65,7 +57,7 @@ | |||
|           BIND = "0.0.0.0"; | ||||
|           # for letter_opener (still doesn't work though) | ||||
|           REMOTE_DEV = "true"; | ||||
|           LOCAL_DOMAIN = "mastodon.localhost:8443"; | ||||
|           LOCAL_DOMAIN = "${config.fediversity.mastodon.domain}:8443"; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,9 +1,11 @@ | |||
| { pkgs, modulesPath, ... }: { | ||||
|   imports = [ (modulesPath + "/virtualisation/qemu-vm.nix") ]; | ||||
| 
 | ||||
|   imports = [ | ||||
|     ../fediversity | ||||
|     (modulesPath + "/virtualisation/qemu-vm.nix") | ||||
|   ]; | ||||
| 
 | ||||
|   services.peertube = { | ||||
|     enable = true; | ||||
|     # redirects to localhost, but allows it to have a proper domain name | ||||
|     localDomain = "peertube.localhost"; | ||||
|     enableWebHttps = false; | ||||
|     settings = { | ||||
|       listen.hostname = "0.0.0.0"; | ||||
|  | @ -13,11 +15,6 @@ | |||
|     secrets.secretsFile = pkgs.writeText "secret" '' | ||||
|       574e093907d1157ac0f8e760a6deb1035402003af5763135bae9cbd6abe32b24 | ||||
|     ''; | ||||
| 
 | ||||
|     # TODO: in most of nixpkgs, these are true by default. upstream that unless there's a good reason not to. | ||||
|     redis.createLocally = true; | ||||
|     database.createLocally = true; | ||||
|     configureNginx = true; | ||||
|   }; | ||||
| 
 | ||||
|   virtualisation.forwardPorts = [ | ||||
|  |  | |||
|  | @ -13,7 +13,6 @@ | |||
| 
 | ||||
|   networking.firewall.allowedTCPPorts = [ 80 ]; | ||||
|   services.pixelfed = { | ||||
|     domain = "pixelfed.localhost"; | ||||
|     # TODO: secrets management! | ||||
|     secretFile = pkgs.writeText "secrets.env" '' | ||||
|       APP_KEY=adKK9EcY8Hcj3PLU7rzG9rJ6KKTOtYfA | ||||
|  |  | |||
		Reference in a new issue