Skip to content

Repository files navigation

Databox

The Databox platform is an open-source personal networked device, augmented by cloud-hosted services, that collates, curates, and mediates access to an individual’s personal data by verified and audited third party applications and services. The Databox will form the heart of an individual’s personal data processing ecosystem, providing a platform for managing secure access to data and enabling authorised third parties to provide the owner with authenticated services, including services that may be accessed while roaming outside the home environment. Databox project is led by Dr Hamed Haddadi (Imperial College) in collaboration with Dr Richard Mortier (University of Cambridge) and Professors Derek McAuley, Tom Rodden, Chris Greenhalgh, and Andy Crabtree (University of Nottingham) and funded by EPSRC. See http://www.databoxproject.uk/ for more information.

Getting Started

These instructions will get you a copy of the project up and running on your local machine. For development and testing purposes, see Development section below.

Prerequisites

  1. Requires Docker. Read here for docker installation.
  2. Once docker is installed and running, install docker-compose. Read here for installation.
  3. Requires Git (if it is not already on your machine). Read here for git installation.

Get started

  1. Clone Databox Git repo.
git clone https://github.com/me-box/databox.git

Operation

Make sure Docker is installed and running before starting Databox. Run the following to get your databox up and running.

cd databox
./databox-start

The above script pulls Databox pre-build images published on Docker hub and run Databox in your local machine.

Once it's started, point a web browser at https://127.0.0.1:8989 to access Databox UI.

To stop databox and clean up,

./databox-stop

Development

To develop on the platform and core components run the data-box start script with 'dev' parameter. See below.

./databox-start dev

Unlike using the pre-build images, this will clone all the relevant source repositories locally, and build them into the required Docker images. To try your component out, add your code into a directory with a Databox manifest and Dockerfile, and then add a reference to it in docker-compose-dev-local-images.yaml. Your image will then be built alongside the platform. To install your app, upload the manifest to the local app store on http://127.0.0.1:8181 and it should then become visible in the UI, ready for you to install.

Get Started with the Graphical SDK

The graphical SDK will allow you to quickly build and test simple databox apps. The current version of SDK run by default in dev mode. To start the sdk run:

./databox-start sdk

The SDK web UI is available at http://127.0.0.1:8086

To stop the SDK run:

./databox-stop sdk

Databox has a number of platform components, divided into two parts: Core and User components.

Core Components

User Components

Drivers

Apps

Libraries for writing drivers and apps

For writing a new driver or app for Databox, one needs Databox Api's. To make app/driver development easy, we have wrapped Databox api's in nodejs, python and go. Using any of these libraries, a developer can build their databox app/driver.

  • lib-node-databox: Databox nodejs api library for building databox apps and drivers.
  • lib-python-databox: Databox python api library for building databox apps and drivers.
  • lib-go-databox: Databox go api library for building databox apps and drivers.

API and System specifications

Databox System Design document can be find here and general API specifications are here.

Running the tests

./databox-test 

For more details, have a look here.

Contributing

The databox project welcomes contributions via pull requests see CONTRIBUTING.md for more information. Good start is from having a look on the current issues and forking the databox repo and fixing bugs/issues and submitting a pull request. Read more on Fork and Pull here.

Versioning

This documentation is up-to-date till this commit. The master branches on all components points to the current release and are tagged in git using semver.

Authors

The list of contributors who participated in this project.

License

MIT Licence, See here.

Known issues

During development of system components and custom drivers

  • While building the platform and core components you can sometimes get an error:
TLS certificates invalid

This is caused when Databox is started before docker has cleaned up the networks.

This issue can be fixed if you run ./databox-start

  • In some cases, the time in docker containers on Mac can get out of sync with the system clock. This causes the HTTPS certs generated by the CM from being valid. See docker/for-mac#17. Fix this by restarting Docker for Mac.

About

Databox container manager and dashboard server

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - tlodge/databox: Databox container manager and dashboard server · GitHub
Skip to content

Repository files navigation

Databox

The Databox platform is an open-source personal networked device, augmented by cloud-hosted services, that collates, curates, and mediates access to an individual’s personal data by verified and audited third party applications and services. The Databox will form the heart of an individual’s personal data processing ecosystem, providing a platform for managing secure access to data and enabling authorised third parties to provide the owner with authenticated services, including services that may be accessed while roaming outside the home environment. Databox project is led by Dr Hamed Haddadi (Imperial College) in collaboration with Dr Richard Mortier (University of Cambridge) and Professors Derek McAuley, Tom Rodden, Chris Greenhalgh, and Andy Crabtree (University of Nottingham) and funded by EPSRC. See http://www.databoxproject.uk/ for more information.

Getting Started

These instructions will get you a copy of the project up and running on your local machine. For development and testing purposes, see Development section below.

Prerequisites

  1. Requires Docker. Read here for docker installation.
  2. Once docker is installed and running, install docker-compose. Read here for installation.
  3. Requires Git (if it is not already on your machine). Read here for git installation.

Get started

  1. Clone Databox Git repo.
git clone https://github.com/me-box/databox.git

Operation

Make sure Docker is installed and running before starting Databox. Run the following to get your databox up and running.

cd databox
./databox-start

The above script pulls Databox pre-build images published on Docker hub and run Databox in your local machine.

Once it's started, point a web browser at https://127.0.0.1:8989 to access Databox UI.

To stop databox and clean up,

./databox-stop

Development

To develop on the platform and core components run the data-box start script with 'dev' parameter. See below.

./databox-start dev

Unlike using the pre-build images, this will clone all the relevant source repositories locally, and build them into the required Docker images. To try your component out, add your code into a directory with a Databox manifest and Dockerfile, and then add a reference to it in docker-compose-dev-local-images.yaml. Your image will then be built alongside the platform. To install your app, upload the manifest to the local app store on http://127.0.0.1:8181 and it should then become visible in the UI, ready for you to install.

Get Started with the Graphical SDK

The graphical SDK will allow you to quickly build and test simple databox apps. The current version of SDK run by default in dev mode. To start the sdk run:

./databox-start sdk

The SDK web UI is available at http://127.0.0.1:8086

To stop the SDK run:

./databox-stop sdk

Databox has a number of platform components, divided into two parts: Core and User components.

Core Components

User Components

Drivers

Apps

Libraries for writing drivers and apps

For writing a new driver or app for Databox, one needs Databox Api's. To make app/driver development easy, we have wrapped Databox api's in nodejs, python and go. Using any of these libraries, a developer can build their databox app/driver.

  • lib-node-databox: Databox nodejs api library for building databox apps and drivers.
  • lib-python-databox: Databox python api library for building databox apps and drivers.
  • lib-go-databox: Databox go api library for building databox apps and drivers.

API and System specifications

Databox System Design document can be find here and general API specifications are here.

Running the tests

./databox-test 

For more details, have a look here.

Contributing

The databox project welcomes contributions via pull requests see CONTRIBUTING.md for more information. Good start is from having a look on the current issues and forking the databox repo and fixing bugs/issues and submitting a pull request. Read more on Fork and Pull here.

Versioning

This documentation is up-to-date till this commit. The master branches on all components points to the current release and are tagged in git using semver.

Authors

The list of contributors who participated in this project.

License

MIT Licence, See here.

Known issues

During development of system components and custom drivers

  • While building the platform and core components you can sometimes get an error:
TLS certificates invalid

This is caused when Databox is started before docker has cleaned up the networks.

This issue can be fixed if you run ./databox-start

  • In some cases, the time in docker containers on Mac can get out of sync with the system clock. This causes the HTTPS certs generated by the CM from being valid. See docker/for-mac#17. Fix this by restarting Docker for Mac.

About

Databox container manager and dashboard server

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - tlodge/databox: Databox container manager and dashboard server · GitHub
Skip to content

Repository files navigation

Databox

The Databox platform is an open-source personal networked device, augmented by cloud-hosted services, that collates, curates, and mediates access to an individual’s personal data by verified and audited third party applications and services. The Databox will form the heart of an individual’s personal data processing ecosystem, providing a platform for managing secure access to data and enabling authorised third parties to provide the owner with authenticated services, including services that may be accessed while roaming outside the home environment. Databox project is led by Dr Hamed Haddadi (Imperial College) in collaboration with Dr Richard Mortier (University of Cambridge) and Professors Derek McAuley, Tom Rodden, Chris Greenhalgh, and Andy Crabtree (University of Nottingham) and funded by EPSRC. See http://www.databoxproject.uk/ for more information.

Getting Started

These instructions will get you a copy of the project up and running on your local machine. For development and testing purposes, see Development section below.

Prerequisites

  1. Requires Docker. Read here for docker installation.
  2. Once docker is installed and running, install docker-compose. Read here for installation.
  3. Requires Git (if it is not already on your machine). Read here for git installation.

Get started

  1. Clone Databox Git repo.
git clone https://github.com/me-box/databox.git

Operation

Make sure Docker is installed and running before starting Databox. Run the following to get your databox up and running.

cd databox
./databox-start

The above script pulls Databox pre-build images published on Docker hub and run Databox in your local machine.

Once it's started, point a web browser at https://127.0.0.1:8989 to access Databox UI.

To stop databox and clean up,

./databox-stop

Development

To develop on the platform and core components run the data-box start script with 'dev' parameter. See below.

./databox-start dev

Unlike using the pre-build images, this will clone all the relevant source repositories locally, and build them into the required Docker images. To try your component out, add your code into a directory with a Databox manifest and Dockerfile, and then add a reference to it in docker-compose-dev-local-images.yaml. Your image will then be built alongside the platform. To install your app, upload the manifest to the local app store on http://127.0.0.1:8181 and it should then become visible in the UI, ready for you to install.

Get Started with the Graphical SDK

The graphical SDK will allow you to quickly build and test simple databox apps. The current version of SDK run by default in dev mode. To start the sdk run:

./databox-start sdk

The SDK web UI is available at http://127.0.0.1:8086

To stop the SDK run:

./databox-stop sdk

Databox has a number of platform components, divided into two parts: Core and User components.

Core Components

User Components

Drivers

Apps

Libraries for writing drivers and apps

For writing a new driver or app for Databox, one needs Databox Api's. To make app/driver development easy, we have wrapped Databox api's in nodejs, python and go. Using any of these libraries, a developer can build their databox app/driver.

  • lib-node-databox: Databox nodejs api library for building databox apps and drivers.
  • lib-python-databox: Databox python api library for building databox apps and drivers.
  • lib-go-databox: Databox go api library for building databox apps and drivers.

API and System specifications

Databox System Design document can be find here and general API specifications are here.

Running the tests

./databox-test 

For more details, have a look here.

Contributing

The databox project welcomes contributions via pull requests see CONTRIBUTING.md for more information. Good start is from having a look on the current issues and forking the databox repo and fixing bugs/issues and submitting a pull request. Read more on Fork and Pull here.

Versioning

This documentation is up-to-date till this commit. The master branches on all components points to the current release and are tagged in git using semver.

Authors

The list of contributors who participated in this project.

License

MIT Licence, See here.

Known issues

During development of system components and custom drivers

  • While building the platform and core components you can sometimes get an error:
TLS certificates invalid

This is caused when Databox is started before docker has cleaned up the networks.

This issue can be fixed if you run ./databox-start

  • In some cases, the time in docker containers on Mac can get out of sync with the system clock. This causes the HTTPS certs generated by the CM from being valid. See docker/for-mac#17. Fix this by restarting Docker for Mac.

About

Databox container manager and dashboard server

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - tlodge/databox: Databox container manager and dashboard server · GitHub
Skip to content

Repository files navigation

Databox

The Databox platform is an open-source personal networked device, augmented by cloud-hosted services, that collates, curates, and mediates access to an individual’s personal data by verified and audited third party applications and services. The Databox will form the heart of an individual’s personal data processing ecosystem, providing a platform for managing secure access to data and enabling authorised third parties to provide the owner with authenticated services, including services that may be accessed while roaming outside the home environment. Databox project is led by Dr Hamed Haddadi (Imperial College) in collaboration with Dr Richard Mortier (University of Cambridge) and Professors Derek McAuley, Tom Rodden, Chris Greenhalgh, and Andy Crabtree (University of Nottingham) and funded by EPSRC. See http://www.databoxproject.uk/ for more information.

Getting Started

These instructions will get you a copy of the project up and running on your local machine. For development and testing purposes, see Development section below.

Prerequisites

  1. Requires Docker. Read here for docker installation.
  2. Once docker is installed and running, install docker-compose. Read here for installation.
  3. Requires Git (if it is not already on your machine). Read here for git installation.

Get started

  1. Clone Databox Git repo.
git clone https://github.com/me-box/databox.git

Operation

Make sure Docker is installed and running before starting Databox. Run the following to get your databox up and running.

cd databox
./databox-start

The above script pulls Databox pre-build images published on Docker hub and run Databox in your local machine.

Once it's started, point a web browser at https://127.0.0.1:8989 to access Databox UI.

To stop databox and clean up,

./databox-stop

Development

To develop on the platform and core components run the data-box start script with 'dev' parameter. See below.

./databox-start dev

Unlike using the pre-build images, this will clone all the relevant source repositories locally, and build them into the required Docker images. To try your component out, add your code into a directory with a Databox manifest and Dockerfile, and then add a reference to it in docker-compose-dev-local-images.yaml. Your image will then be built alongside the platform. To install your app, upload the manifest to the local app store on http://127.0.0.1:8181 and it should then become visible in the UI, ready for you to install.

Get Started with the Graphical SDK

The graphical SDK will allow you to quickly build and test simple databox apps. The current version of SDK run by default in dev mode. To start the sdk run:

./databox-start sdk

The SDK web UI is available at http://127.0.0.1:8086

To stop the SDK run:

./databox-stop sdk

Databox has a number of platform components, divided into two parts: Core and User components.

Core Components

User Components

Drivers

Apps

Libraries for writing drivers and apps

For writing a new driver or app for Databox, one needs Databox Api's. To make app/driver development easy, we have wrapped Databox api's in nodejs, python and go. Using any of these libraries, a developer can build their databox app/driver.

  • lib-node-databox: Databox nodejs api library for building databox apps and drivers.
  • lib-python-databox: Databox python api library for building databox apps and drivers.
  • lib-go-databox: Databox go api library for building databox apps and drivers.

API and System specifications

Databox System Design document can be find here and general API specifications are here.

Running the tests

./databox-test 

For more details, have a look here.

Contributing

The databox project welcomes contributions via pull requests see CONTRIBUTING.md for more information. Good start is from having a look on the current issues and forking the databox repo and fixing bugs/issues and submitting a pull request. Read more on Fork and Pull here.

Versioning

This documentation is up-to-date till this commit. The master branches on all components points to the current release and are tagged in git using semver.

Authors

The list of contributors who participated in this project.

License

MIT Licence, See here.

Known issues

During development of system components and custom drivers

  • While building the platform and core components you can sometimes get an error:
TLS certificates invalid

This is caused when Databox is started before docker has cleaned up the networks.

This issue can be fixed if you run ./databox-start

  • In some cases, the time in docker containers on Mac can get out of sync with the system clock. This causes the HTTPS certs generated by the CM from being valid. See docker/for-mac#17. Fix this by restarting Docker for Mac.

About

Databox container manager and dashboard server

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - tlodge/databox: Databox container manager and dashboard server · GitHub
Skip to content

Repository files navigation

Databox

The Databox platform is an open-source personal networked device, augmented by cloud-hosted services, that collates, curates, and mediates access to an individual’s personal data by verified and audited third party applications and services. The Databox will form the heart of an individual’s personal data processing ecosystem, providing a platform for managing secure access to data and enabling authorised third parties to provide the owner with authenticated services, including services that may be accessed while roaming outside the home environment. Databox project is led by Dr Hamed Haddadi (Imperial College) in collaboration with Dr Richard Mortier (University of Cambridge) and Professors Derek McAuley, Tom Rodden, Chris Greenhalgh, and Andy Crabtree (University of Nottingham) and funded by EPSRC. See http://www.databoxproject.uk/ for more information.

Getting Started

These instructions will get you a copy of the project up and running on your local machine. For development and testing purposes, see Development section below.

Prerequisites

  1. Requires Docker. Read here for docker installation.
  2. Once docker is installed and running, install docker-compose. Read here for installation.
  3. Requires Git (if it is not already on your machine). Read here for git installation.

Get started

  1. Clone Databox Git repo.
git clone https://github.com/me-box/databox.git

Operation

Make sure Docker is installed and running before starting Databox. Run the following to get your databox up and running.

cd databox
./databox-start

The above script pulls Databox pre-build images published on Docker hub and run Databox in your local machine.

Once it's started, point a web browser at https://127.0.0.1:8989 to access Databox UI.

To stop databox and clean up,

./databox-stop

Development

To develop on the platform and core components run the data-box start script with 'dev' parameter. See below.

./databox-start dev

Unlike using the pre-build images, this will clone all the relevant source repositories locally, and build them into the required Docker images. To try your component out, add your code into a directory with a Databox manifest and Dockerfile, and then add a reference to it in docker-compose-dev-local-images.yaml. Your image will then be built alongside the platform. To install your app, upload the manifest to the local app store on http://127.0.0.1:8181 and it should then become visible in the UI, ready for you to install.

Get Started with the Graphical SDK

The graphical SDK will allow you to quickly build and test simple databox apps. The current version of SDK run by default in dev mode. To start the sdk run:

./databox-start sdk

The SDK web UI is available at http://127.0.0.1:8086

To stop the SDK run:

./databox-stop sdk

Databox has a number of platform components, divided into two parts: Core and User components.

Core Components

User Components

Drivers

Apps

Libraries for writing drivers and apps

For writing a new driver or app for Databox, one needs Databox Api's. To make app/driver development easy, we have wrapped Databox api's in nodejs, python and go. Using any of these libraries, a developer can build their databox app/driver.

  • lib-node-databox: Databox nodejs api library for building databox apps and drivers.
  • lib-python-databox: Databox python api library for building databox apps and drivers.
  • lib-go-databox: Databox go api library for building databox apps and drivers.

API and System specifications

Databox System Design document can be find here and general API specifications are here.

Running the tests

./databox-test 

For more details, have a look here.

Contributing

The databox project welcomes contributions via pull requests see CONTRIBUTING.md for more information. Good start is from having a look on the current issues and forking the databox repo and fixing bugs/issues and submitting a pull request. Read more on Fork and Pull here.

Versioning

This documentation is up-to-date till this commit. The master branches on all components points to the current release and are tagged in git using semver.

Authors

The list of contributors who participated in this project.

License

MIT Licence, See here.

Known issues

During development of system components and custom drivers

  • While building the platform and core components you can sometimes get an error:
TLS certificates invalid

This is caused when Databox is started before docker has cleaned up the networks.

This issue can be fixed if you run ./databox-start

  • In some cases, the time in docker containers on Mac can get out of sync with the system clock. This causes the HTTPS certs generated by the CM from being valid. See docker/for-mac#17. Fix this by restarting Docker for Mac.

About

Databox container manager and dashboard server

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - tlodge/databox: Databox container manager and dashboard server · GitHub
Skip to content

Repository files navigation

Databox

The Databox platform is an open-source personal networked device, augmented by cloud-hosted services, that collates, curates, and mediates access to an individual’s personal data by verified and audited third party applications and services. The Databox will form the heart of an individual’s personal data processing ecosystem, providing a platform for managing secure access to data and enabling authorised third parties to provide the owner with authenticated services, including services that may be accessed while roaming outside the home environment. Databox project is led by Dr Hamed Haddadi (Imperial College) in collaboration with Dr Richard Mortier (University of Cambridge) and Professors Derek McAuley, Tom Rodden, Chris Greenhalgh, and Andy Crabtree (University of Nottingham) and funded by EPSRC. See http://www.databoxproject.uk/ for more information.

Getting Started

These instructions will get you a copy of the project up and running on your local machine. For development and testing purposes, see Development section below.

Prerequisites

  1. Requires Docker. Read here for docker installation.
  2. Once docker is installed and running, install docker-compose. Read here for installation.
  3. Requires Git (if it is not already on your machine). Read here for git installation.

Get started

  1. Clone Databox Git repo.
git clone https://github.com/me-box/databox.git

Operation

Make sure Docker is installed and running before starting Databox. Run the following to get your databox up and running.

cd databox
./databox-start

The above script pulls Databox pre-build images published on Docker hub and run Databox in your local machine.

Once it's started, point a web browser at https://127.0.0.1:8989 to access Databox UI.

To stop databox and clean up,

./databox-stop

Development

To develop on the platform and core components run the data-box start script with 'dev' parameter. See below.

./databox-start dev

Unlike using the pre-build images, this will clone all the relevant source repositories locally, and build them into the required Docker images. To try your component out, add your code into a directory with a Databox manifest and Dockerfile, and then add a reference to it in docker-compose-dev-local-images.yaml. Your image will then be built alongside the platform. To install your app, upload the manifest to the local app store on http://127.0.0.1:8181 and it should then become visible in the UI, ready for you to install.

Get Started with the Graphical SDK

The graphical SDK will allow you to quickly build and test simple databox apps. The current version of SDK run by default in dev mode. To start the sdk run:

./databox-start sdk

The SDK web UI is available at http://127.0.0.1:8086

To stop the SDK run:

./databox-stop sdk

Databox has a number of platform components, divided into two parts: Core and User components.

Core Components

User Components

Drivers

Apps

Libraries for writing drivers and apps

For writing a new driver or app for Databox, one needs Databox Api's. To make app/driver development easy, we have wrapped Databox api's in nodejs, python and go. Using any of these libraries, a developer can build their databox app/driver.

  • lib-node-databox: Databox nodejs api library for building databox apps and drivers.
  • lib-python-databox: Databox python api library for building databox apps and drivers.
  • lib-go-databox: Databox go api library for building databox apps and drivers.

API and System specifications

Databox System Design document can be find here and general API specifications are here.

Running the tests

./databox-test 

For more details, have a look here.

Contributing

The databox project welcomes contributions via pull requests see CONTRIBUTING.md for more information. Good start is from having a look on the current issues and forking the databox repo and fixing bugs/issues and submitting a pull request. Read more on Fork and Pull here.

Versioning

This documentation is up-to-date till this commit. The master branches on all components points to the current release and are tagged in git using semver.

Authors

The list of contributors who participated in this project.

License

MIT Licence, See here.

Known issues

During development of system components and custom drivers

  • While building the platform and core components you can sometimes get an error:
TLS certificates invalid

This is caused when Databox is started before docker has cleaned up the networks.

This issue can be fixed if you run ./databox-start

  • In some cases, the time in docker containers on Mac can get out of sync with the system clock. This causes the HTTPS certs generated by the CM from being valid. See docker/for-mac#17. Fix this by restarting Docker for Mac.

About

Databox container manager and dashboard server

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - tlodge/databox: Databox container manager and dashboard server · GitHub
Skip to content

Repository files navigation

Databox

The Databox platform is an open-source personal networked device, augmented by cloud-hosted services, that collates, curates, and mediates access to an individual’s personal data by verified and audited third party applications and services. The Databox will form the heart of an individual’s personal data processing ecosystem, providing a platform for managing secure access to data and enabling authorised third parties to provide the owner with authenticated services, including services that may be accessed while roaming outside the home environment. Databox project is led by Dr Hamed Haddadi (Imperial College) in collaboration with Dr Richard Mortier (University of Cambridge) and Professors Derek McAuley, Tom Rodden, Chris Greenhalgh, and Andy Crabtree (University of Nottingham) and funded by EPSRC. See http://www.databoxproject.uk/ for more information.

Getting Started

These instructions will get you a copy of the project up and running on your local machine. For development and testing purposes, see Development section below.

Prerequisites

  1. Requires Docker. Read here for docker installation.
  2. Once docker is installed and running, install docker-compose. Read here for installation.
  3. Requires Git (if it is not already on your machine). Read here for git installation.

Get started

  1. Clone Databox Git repo.
git clone https://github.com/me-box/databox.git

Operation

Make sure Docker is installed and running before starting Databox. Run the following to get your databox up and running.

cd databox
./databox-start

The above script pulls Databox pre-build images published on Docker hub and run Databox in your local machine.

Once it's started, point a web browser at https://127.0.0.1:8989 to access Databox UI.

To stop databox and clean up,

./databox-stop

Development

To develop on the platform and core components run the data-box start script with 'dev' parameter. See below.

./databox-start dev

Unlike using the pre-build images, this will clone all the relevant source repositories locally, and build them into the required Docker images. To try your component out, add your code into a directory with a Databox manifest and Dockerfile, and then add a reference to it in docker-compose-dev-local-images.yaml. Your image will then be built alongside the platform. To install your app, upload the manifest to the local app store on http://127.0.0.1:8181 and it should then become visible in the UI, ready for you to install.

Get Started with the Graphical SDK

The graphical SDK will allow you to quickly build and test simple databox apps. The current version of SDK run by default in dev mode. To start the sdk run:

./databox-start sdk

The SDK web UI is available at http://127.0.0.1:8086

To stop the SDK run:

./databox-stop sdk

Databox has a number of platform components, divided into two parts: Core and User components.

Core Components

User Components

Drivers

Apps

Libraries for writing drivers and apps

For writing a new driver or app for Databox, one needs Databox Api's. To make app/driver development easy, we have wrapped Databox api's in nodejs, python and go. Using any of these libraries, a developer can build their databox app/driver.

  • lib-node-databox: Databox nodejs api library for building databox apps and drivers.
  • lib-python-databox: Databox python api library for building databox apps and drivers.
  • lib-go-databox: Databox go api library for building databox apps and drivers.

API and System specifications

Databox System Design document can be find here and general API specifications are here.

Running the tests

./databox-test 

For more details, have a look here.

Contributing

The databox project welcomes contributions via pull requests see CONTRIBUTING.md for more information. Good start is from having a look on the current issues and forking the databox repo and fixing bugs/issues and submitting a pull request. Read more on Fork and Pull here.

Versioning

This documentation is up-to-date till this commit. The master branches on all components points to the current release and are tagged in git using semver.

Authors

The list of contributors who participated in this project.

License

MIT Licence, See here.

Known issues

During development of system components and custom drivers

  • While building the platform and core components you can sometimes get an error:
TLS certificates invalid

This is caused when Databox is started before docker has cleaned up the networks.

This issue can be fixed if you run ./databox-start

  • In some cases, the time in docker containers on Mac can get out of sync with the system clock. This causes the HTTPS certs generated by the CM from being valid. See docker/for-mac#17. Fix this by restarting Docker for Mac.

About

Databox container manager and dashboard server

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - tlodge/databox: Databox container manager and dashboard server · GitHub
Skip to content

Repository files navigation

Databox

The Databox platform is an open-source personal networked device, augmented by cloud-hosted services, that collates, curates, and mediates access to an individual’s personal data by verified and audited third party applications and services. The Databox will form the heart of an individual’s personal data processing ecosystem, providing a platform for managing secure access to data and enabling authorised third parties to provide the owner with authenticated services, including services that may be accessed while roaming outside the home environment. Databox project is led by Dr Hamed Haddadi (Imperial College) in collaboration with Dr Richard Mortier (University of Cambridge) and Professors Derek McAuley, Tom Rodden, Chris Greenhalgh, and Andy Crabtree (University of Nottingham) and funded by EPSRC. See http://www.databoxproject.uk/ for more information.

Getting Started

These instructions will get you a copy of the project up and running on your local machine. For development and testing purposes, see Development section below.

Prerequisites

  1. Requires Docker. Read here for docker installation.
  2. Once docker is installed and running, install docker-compose. Read here for installation.
  3. Requires Git (if it is not already on your machine). Read here for git installation.

Get started

  1. Clone Databox Git repo.
git clone https://github.com/me-box/databox.git

Operation

Make sure Docker is installed and running before starting Databox. Run the following to get your databox up and running.

cd databox
./databox-start

The above script pulls Databox pre-build images published on Docker hub and run Databox in your local machine.

Once it's started, point a web browser at https://127.0.0.1:8989 to access Databox UI.

To stop databox and clean up,

./databox-stop

Development

To develop on the platform and core components run the data-box start script with 'dev' parameter. See below.

./databox-start dev

Unlike using the pre-build images, this will clone all the relevant source repositories locally, and build them into the required Docker images. To try your component out, add your code into a directory with a Databox manifest and Dockerfile, and then add a reference to it in docker-compose-dev-local-images.yaml. Your image will then be built alongside the platform. To install your app, upload the manifest to the local app store on http://127.0.0.1:8181 and it should then become visible in the UI, ready for you to install.

Get Started with the Graphical SDK

The graphical SDK will allow you to quickly build and test simple databox apps. The current version of SDK run by default in dev mode. To start the sdk run:

./databox-start sdk

The SDK web UI is available at http://127.0.0.1:8086

To stop the SDK run:

./databox-stop sdk

Databox has a number of platform components, divided into two parts: Core and User components.

Core Components

User Components

Drivers

Apps

Libraries for writing drivers and apps

For writing a new driver or app for Databox, one needs Databox Api's. To make app/driver development easy, we have wrapped Databox api's in nodejs, python and go. Using any of these libraries, a developer can build their databox app/driver.

  • lib-node-databox: Databox nodejs api library for building databox apps and drivers.
  • lib-python-databox: Databox python api library for building databox apps and drivers.
  • lib-go-databox: Databox go api library for building databox apps and drivers.

API and System specifications

Databox System Design document can be find here and general API specifications are here.

Running the tests

./databox-test 

For more details, have a look here.

Contributing

The databox project welcomes contributions via pull requests see CONTRIBUTING.md for more information. Good start is from having a look on the current issues and forking the databox repo and fixing bugs/issues and submitting a pull request. Read more on Fork and Pull here.

Versioning

This documentation is up-to-date till this commit. The master branches on all components points to the current release and are tagged in git using semver.

Authors

The list of contributors who participated in this project.

License

MIT Licence, See here.

Known issues

During development of system components and custom drivers

  • While building the platform and core components you can sometimes get an error:
TLS certificates invalid

This is caused when Databox is started before docker has cleaned up the networks.

This issue can be fixed if you run ./databox-start

  • In some cases, the time in docker containers on Mac can get out of sync with the system clock. This causes the HTTPS certs generated by the CM from being valid. See docker/for-mac#17. Fix this by restarting Docker for Mac.

About

Databox container manager and dashboard server

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages