diff --git a/dogebox.json b/dogebox.json index afc0728..d051ef4 100644 --- a/dogebox.json +++ b/dogebox.json @@ -8,6 +8,15 @@ }, { "location": "gigawallet" + }, + { + "location": "dogenet" + }, + { + "location": "dogemap" + }, + { + "location": "identity" } ] } diff --git a/dogemap/logo.png b/dogemap/logo.png new file mode 100644 index 0000000..91095b8 Binary files /dev/null and b/dogemap/logo.png differ diff --git a/dogemap/manifest.json b/dogemap/manifest.json new file mode 100644 index 0000000..a43bd80 --- /dev/null +++ b/dogemap/manifest.json @@ -0,0 +1,58 @@ +{ + "manifestVersion": 1, + "meta": { + "name": "Dogemap", + "version": "0.0.1", + "logoPath": "logo.png", + "shortDescription": "Find shibes \u0026 nodes around the globe", + "longDescription": "", + "upstreamVersions": null + }, + "config": { + "sections": null + }, + "container": { + "build": { + "nixFile": "pup.nix", + "nixFileSha256": "80146c76ffae6231c70cdcc363e756d7e1b4d9659f1729c29053b6ebc89cdf60" + }, + "services": [ + { + "name": "dogemap", + "command": { + "exec": "/bin/run.sh", + "cwd": "", + "env": null + } + } + ], + "exposes": [ + { + "name": "website", + "type": "http", + "port": 8080, + "interfaces": null, + "listenOnHost": false, + "webUI": true + } + ], + "requiresInternet": false + }, + "interfaces": [], + "dependencies": [ + { + "interfaceName": "dogenet-web-api", + "interfaceVersion": "0.0.1", + "permissionGroups": [ + "Web API" + ], + "source": { + "sourceLocation": "", + "pupName": "", + "pupVersion": "", + "pupLogoBase64": "" + } + } + ], + "metrics": null +} \ No newline at end of file diff --git a/dogemap/pup.nix b/dogemap/pup.nix new file mode 100644 index 0000000..ed643c6 --- /dev/null +++ b/dogemap/pup.nix @@ -0,0 +1,22 @@ +{ pkgs ? import {} }: + +let + jampuppy = pkgs.callPackage (pkgs.fetchurl { + url = "https://raw.githubusercontent.com/dogeorg/dogebox-nur-packages/0b01b0f9a537e44d0faf105abd879ea8dfac04ca/pkgs/jampuppy/default.nix"; + sha256 = "sha256-467MLF9QKhj1ah823AUzQCL9zhMWzbIPf6bfhZqtvMw="; + }) {}; + + ui = pkgs.fetchgit { + url = "https://github.com/dogeorg/dogemap-ui.git"; + rev = "v0.0.2"; + sha256 = "sha256-qITc1EcEYvHOeVszztd7G3l04AJfu/wzOapRokMvndk="; + }; + + dogemap = pkgs.writeScriptBin "run.sh" '' + #!${pkgs.bash}/bin/bash + ${jampuppy}/bin/jampuppy -A index.html --dir ${ui} --host 0.0.0.0 --port 8080 --proxy "/dogenet http://''${DBX_IFACE_DOGENET_WEB_API_HOST}:''${DBX_IFACE_DOGENET_WEB_API_PORT}/" + ''; +in +{ + inherit dogemap; +} diff --git a/dogenet/logo.png b/dogenet/logo.png new file mode 100644 index 0000000..aa0821e Binary files /dev/null and b/dogenet/logo.png differ diff --git a/dogenet/manifest.json b/dogenet/manifest.json new file mode 100644 index 0000000..ec85311 --- /dev/null +++ b/dogenet/manifest.json @@ -0,0 +1,87 @@ +{ + "manifestVersion": 1, + "meta": { + "name": "Dogenet", + "version": "0.0.1", + "logoPath": "logo.png", + "shortDescription": "Node to Node communication protocol", + "longDescription": "", + "upstreamVersions": null + }, + "config": { + "sections": null + }, + "container": { + "build": { + "nixFile": "pup.nix", + "nixFileSha256": "d2dae1243d04962bf51b5ec136d2c833357fe19491eef9e40916a7aed42ae140" + }, + "services": [ + { + "name": "dogenet", + "command": { + "exec": "/bin/run.sh", + "cwd": "", + "env": null + } + } + ], + "exposes": [ + { + "name": "dogenet-gossip", + "type": "tcp", + "port": 42069, + "interfaces": null, + "listenOnHost": true, + "webUI": false + }, + { + "name": "handler", + "type": "tcp", + "port": 42068, + "interfaces": ["dogenet-handler"], + "listenOnHost": false, + "webUI": false + }, + { + "name": "web-api", + "type": "tcp", + "port": 8080, + "interfaces": ["dogenet-web-api"], + "listenOnHost": false, + "webUI": false + } + ], + "requiresInternet": true + }, + "interfaces": [ + { + "name": "dogenet-handler", + "version": "0.0.1", + "permissionGroups": [ + { + "name": "Handler", + "description": "Allows a new Dogenet Handler to be registered", + "severity": 2, + "routes": null, + "port": 42068 + } + ] + }, + { + "name": "dogenet-web-api", + "version": "0.0.1", + "permissionGroups": [ + { + "name": "Web API", + "description": "Allows access to Web API", + "severity": 1, + "routes": null, + "port": 8080 + } + ] + } + ], + "dependencies": [], + "metrics": null +} diff --git a/dogenet/pup.nix b/dogenet/pup.nix new file mode 100644 index 0000000..a52b502 --- /dev/null +++ b/dogenet/pup.nix @@ -0,0 +1,19 @@ +{ pkgs ? import {} }: + +let + dogenet_upstream = pkgs.callPackage (pkgs.fetchurl { + url = "https://raw.githubusercontent.com/dogeorg/dogebox-nur-packages/22e2e8041f9d857861c9b60bcefd6f0291fa5c56/pkgs/dogenet/default.nix"; + sha256 = "sha256-fSjv8kJ5VCZ5nUlZpBqmNu/sS4wLU/glinOT7Axao8A="; + }) {}; + + dogenet = pkgs.writeScriptBin "run.sh" '' + #!${pkgs.bash}/bin/bash + export KEY=`cat /storage/delegated.key` + IP=`${pkgs.curl}/bin/curl https://reflector.dogecoin.org/me | ${pkgs.jq}/bin/jq -r .ip` + cp ${dogenet_upstream}/bin/storage/dbip-city-ipv4-num.csv /storage + ${dogenet_upstream}/bin/dogenet --handler ''${DBX_PUP_IP}:42068 --web ''${DBX_PUP_IP}:8080 --public ''${IP}:42069 --dir /storage + ''; +in +{ + inherit dogenet; +} diff --git a/identity/logo.png b/identity/logo.png new file mode 100644 index 0000000..2e43745 Binary files /dev/null and b/identity/logo.png differ diff --git a/identity/manifest.json b/identity/manifest.json new file mode 100644 index 0000000..80ee13d --- /dev/null +++ b/identity/manifest.json @@ -0,0 +1,56 @@ +{ + "manifestVersion": 1, + "meta": { + "name": "Identity", + "version": "0.0.1", + "logoPath": "logo.png", + "shortDescription": "Express your own identity on the network", + "longDescription": "", + "upstreamVersions": null + }, + "config": { + "sections": null + }, + "container": { + "build": { + "nixFile": "pup.nix", + "nixFileSha256": "1d6749e67102bf2148e5d204d7eaecb9ac68be72ac5392408974b9827582673e" + }, + "services": [ + { + "name": "identity", + "command": { + "exec": "/bin/run.sh", + "cwd": "", + "env": null + } + } + ], + "exposes": [ + { + "name": "Identity Editor", + "type": "http", + "port": 8099, + "interfaces": null, + "listenOnHost": false, + "webUI": true + } + ], + "requiresInternet": false + }, + "interfaces": [], + "dependencies": [ + { + "interfaceName": "dogenet-handler", + "interfaceVersion": "0.0.1", + "permissionGroups": ["Handler"], + "source": { + "sourceLocation": "", + "pupName": "", + "pupVersion": "", + "pupLogoBase64": "" + } + } + ], + "metrics": null +} diff --git a/identity/pup.nix b/identity/pup.nix new file mode 100644 index 0000000..d483fbf --- /dev/null +++ b/identity/pup.nix @@ -0,0 +1,23 @@ +{ pkgs ? import {} }: + +let + identity_upstream = pkgs.callPackage (pkgs.fetchurl { + url = "https://raw.githubusercontent.com/dogeorg/dogebox-nur-packages/2840c907f07133f7f79fd83e2846d490d6236214/pkgs/identity/default.nix"; + sha256 = "sha256-4Z+rVHOccoLZlgB5+YQKfKsTPAq5onALVE0BvvVhHLY="; + }) {}; + + ui = pkgs.fetchgit { + url = "https://github.com/dogeorg/identity-ui.git"; + rev = "bb10be894c8953d7c7a8dfe7fe4e80b09d9fbb34"; + hash = "sha256-ajfO3OpIWqf+fcTUE9noWO4PbMlMHBpNEfxbJyFftvk="; + }; + + identity = pkgs.writeScriptBin "run.sh" '' + #!${pkgs.bash}/bin/bash + export KEY=`cat /storage/delegated.key` + ${identity_upstream}/bin/identity --bind ''${DBX_PUP_IP}:8099 --web ${ui}/src --dir /storage --handler ''${DBX_IFACE_DOGENET_HANDLER_HOST}:''${DBX_IFACE_DOGENET_HANDLER_PORT} + ''; +in +{ + inherit identity; +}