Davros lets you store all of your files in the cloud and sync them between your devices.
Davros is built to run inside Sandstorm, an open source web application platform. You can run Sandstorm yourself.
- Set up Sandstorm
- Download the latest release and upload it to your Sandstorm server.
Davros is built using Node.js and Ember.js. To run locally, you'll need to install Node.js. We also recommend that you use yarn to install dependencies since that will lock versions to the ones that are used during deployment.
To install yarn run npm install -g yarn
Then:
yarn installyarn dev
At this point you'll have Davros running at http://localhost:4200 (Vite UI) with the backend API/WebDAV server on http://localhost:8000 proxied through Vite.
If you need a different backend port, set DAVROS_BACKEND_URL for the UI and PORT for the backend.
Running Davros outside Sandstorm is only suitable for local development: it relies on Sandstorm for user management and authentication. No environment variable is required to enable standalone startup, and requests without Sandstorm permission headers are allowed. Do not expose the development servers to untrusted networks.
In development, you can connect your desktop client to the backend URL (default http://localhost:8000/) with any username and password.
Previews are converted on the server into selectable PDFs using davros-preview. Supported formats are Microsoft Word (.doc, .docx), Excel (.xls, .xlsx), PowerPoint (.ppt, .pptx), and OpenDocument (.odt, .ods, .odp). The browser's built-in PDF viewer handles display, text selection, search, and page navigation. No Office parser or worker runs in the web app. A browser with PDF viewing enabled is required. Conversion finishes before display; cached PDFs support byte-range requests so the browser can fetch pages as needed. Spreadsheet pages expand to fit all columns at their natural size, retaining vertical pagination instead of splitting columns across pages or applying print-to-fit scaling.
yarn fetch:native-preview downloads the Linux amd64
davros-preview v0.5.0 release,
verifies its pinned SHA-256, and installs all three binaries, fonts, and licenses under
output/native-preview.
A few parts of Davros depend on running within Sandstorm, such as the authentication instructions on the Clients page. Install spktool and a supported VM provider. For example, with Lima installed, run these commands from the Davros directory:
spktool vm create --provider lima
yarn build
spktool build --provider lima
spktool dev --provider limaUse spktool vm up --provider lima to start an existing VM, or spktool vm provision --provider lima to rerun its setup. Replace lima with vagrant if you use the Vagrant provider.
After changing the app, rebuild with yarn build and spktool build --provider lima, then restart spktool dev --provider lima.
yarn lint:hbsyarn lint:jsyarn lint:js -- --fix
Set up the spktool VM as described above before releasing. The commands below use Lima; substitute your configured provider if needed.
- Edit
.sandstorm/sandstorm-pkgdef.capnpand updateappVersionandappMarketingVersion. Bump major version for major breaking changes, minor version for significant new features, and patch version for tiny features and bugfixes. - Edit
CHANGELOG.mdand add a section with your new version. - Run
yarn buildto build the UI, thenspktool build --provider limato build the server and prepare the package dependencies. - Run
spktool dev --provider limaand navigate around the app testing various functionality. This is generally good to do, but when you exit, this will also update.sandstorm/sandstorm-files.listwith any new files. - Run
spktool pack --provider lima build/[VERSION].spk(replacing[VERSION]with the version you chose in step 2) - On a sandstorm instance, upload the packed app file and install it. Test it to ensure everything works properly and that all files were included.
- Commit any uncommitted changes and tag them
v[VERSION]. - Run
spktool publish --provider lima build/[VERSION].spk
See LICENSE file.
