Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make hosting atomic data as easy as possible #29

Closed
7 of 9 tasks
joepio opened this issue Oct 15, 2020 · 2 comments
Closed
7 of 9 tasks

Make hosting atomic data as easy as possible #29

joepio opened this issue Oct 15, 2020 · 2 comments
Labels
help wanted Extra attention is needed

Comments

@joepio
Copy link
Member

joepio commented Oct 15, 2020

Atomic Data is all about data ownership and control. To do this, we need to make it as easy as possible to host an atomic server somewhere. That's one of the reasons I've picked rust as a language - it compiles to pretty much any target, including WASM. But if we really want to achieve maximum adoption, we need to eliminate as much barriers as possible. There are various approaches to this problem:

Server ease of use

Make it as simple as possible to run and setup atomic-server. Eliminate as much mental energy and time required from the setup process. Make it compatible with most machines. Eliminate runtime dependencies. Provide several options that people are familiar with. Use sensible defaults instead of asking too many questions.

Cloudflare Workers + KV

Cloudflare has this really interesting product, called Workers, which lets you run JS and WASM in a serverless context. This means it is way easier to manage than a VPS. It offers storage using KV, which has no native support for Rust ATM, although it can be accessed using wasm-bindgen.

The logic currently present in Atomic-Server is kept as minimal as possible (most resides in atomic-lib), and could probably made in Cloudflare Workers, judging from this todo example.

Running Atomic-Server on a smartphone

#25

Most people have an old smartphone in a drawer somewhere. These are powerful enough to run atomic-server. So first, we need some way of running it on smartphones. I'd rather not create new swift / java apps for both iOS and android platforms, so I prefer running the existing stuff on Android.

Luckily, atomic-server does compile to arm. This should open some possibilities. Couple of ideas:

  • Run linux on android (using gnuroot)
  • Using the android JNI interface to interface java - rust.
  • Using flutter + wasm. Would be ideal (just one codebase to maintain, both for UI and server). Still requires a solution to actix not having WASI compatibility, though.
@joepio joepio added the help wanted Extra attention is needed label Jan 23, 2021
@joepio
Copy link
Member Author

joepio commented Jun 30, 2021

tauri is an interesting new way of packaging / bundling desktop apps.

Most relevant for browser front-ends, though, so atomic-data-browser in this case.

Edit: have been working on this see #215

@joepio
Copy link
Member Author

joepio commented Jan 25, 2022

Closing this in favor of the milestone https://github.com/joepio/atomic-data-rust/milestone/1

@joepio joepio closed this as completed Jan 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant