this post was submitted on 29 Mar 2024
79 points (95.4% liked)

Selfhosted

40173 readers
1090 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Hi! I'm swapping my daily android phone for the nth time today and going through my set-up "check-list". As apps are updating/installing, I thought I'd check in with the hive-mind, what are you all doing to make the process easier? Maybe you know of a way to self-host some sort of android profile server? I'll post my process + list of goals & gripes below and if you have any tips or suggestions about what I can do better, I'd love to hear them!!

Current Process

  • flash clean rom
  • walk through the setup process
  • enable developer mode + adb
  • go through default app list disabling/uninstalling crap i don't want
  • use 'fdroidcl' to install all my fdroid apps
  • adb push a gpg private key to import into OpenKeychain
  • generate a ssh keypair in Password Store, put public key on my server via ConnectBot, clone passwords repo
  • log into firefox sync
  • log into joplin
  • configure fairmail
  • configure davx
  • log in to google account
  • download play store apps I was missing
  • go through apps one by one, logging in to accounts + doing configuration
  • deal with fucking whatsapp
  • hold old phone + new phone side by side and made sure i got everything

Goals & Gripes

App Installation

fdroidcl helps a LOT here, i can have a list of my minimal required packages - password management solution, browser, and notes get installed and it solves a lot of bootstrapping problems for me. I never need to do the dance of opening chrome, downloading fdroid, giving chrome install permissions, installing fdroid, etc.

that said, it is /slow/ and obviously limited to installing apps from fdroid repositories. maybe the slowness i can solve with self-hosting an fdroid repo, but i'm still stuck with having to install a bunch of apps manually either through aurora store, or play store.

App configuration

If i could push in arbitrary app configurations i would be sooooo happy. certain apps have config export/import, like my launcher, but that's far from all of them. i've tried a number of "backup" options, like Titanium, but obviously they don't work without root and don't always work /with/ root, especially going across devices. I've vaguely considered using Appium for this but ... ehhhh.

De-googling

Okay, so I can probably solve the apk problem somehow... I can solve the contacts sync... but I really like android auto, and that's a non-starter without a system google account afaik.

Whatsapp

i've never once managed to successfully move whatsapp to another device and not lose my chat history. it starts restoring from a backup, fails, and kicks me into being logged in without any chance of a restore.

Edit: oh and if you have any suggestion that'd make me not hate re-pairing wearos watch... πŸ₯Ί

top 16 comments
sorted by: hot top controversial new old
[–] [email protected] 28 points 7 months ago (2 children)

Oh nice a nicely-formatted list of reasons I don't switch phones more frequently than once every 5 years: I loathe setting them up as specifically as I want them to behave

[–] [email protected] 4 points 7 months ago

It's not just the initial setup either. You spend those 5 years tweaking the phone continuously. It's hard to let go of something that's been chiseled to perfection and start all over again.

[–] [email protected] 2 points 7 months ago

Yeah, my list would end up being longer than some novels. Also, software churn makes it an ever evolving process, so having a list where half of it is wrong by the next time I need it seems less than ideal.

[–] [email protected] 7 points 7 months ago (1 children)

Possible alternative for Whatsapp is to run matrix and a WhatsApp bridge, then all of your messages will be stored in the WhatsApp bridge, and you can access them via a matrix client. Pretty long winded though. As for Android auto, I can't afford a fancy new car with a screen in it so I just mount my phone on the dashboard and use it like that with no Android auto.

Strikes me that there should be some kind of provisioning tool similar to Ansible for Android devices, what does industry do when they need to automate provisioning of thousands of devices for POS, retail, barcode scanning, delivery drivers, etc.

[–] [email protected] 1 points 7 months ago* (last edited 7 months ago)

what does industry do when they need to automate provisioning of thousands of devices for POS, retail, barcode scanning, delivery drivers, etc.

MDM doesn't help with the kind of stuff OP is trying to automate, but it does usually cover most business use cases and if you need more than that, you generally either have a contract to get the manufacturer to do it for you or just put what you need into the org-specific superapp you already have to have.

[–] [email protected] 5 points 7 months ago* (last edited 7 months ago) (1 children)

It's pretty new but if you are interested in degoogling and looking for ways to use android auto, there is apparently a working solution with GrapheneOS but I have not tested so can not verify it.

https://grapheneos.org/features#android-auto

Edit: typo

[–] [email protected] 6 points 7 months ago (1 children)

It works. Been using it without fail.

[–] [email protected] 2 points 7 months ago (1 children)

I can also vouch that Android Auto works in a work profile.

[–] [email protected] 1 points 7 months ago

That's an interesting suggestion, thanks! I might wind up trying that for android auto + google voice πŸ€”

[–] [email protected] 4 points 7 months ago (1 children)

Check Robotnix, this is a Nixos module for declarative building of Android You can specify stuff to be installed, maybe you can automate some other stuff you do

[–] [email protected] 1 points 7 months ago (1 children)

Hmm, thanks for the suggestion... this looks like it might be mainly for only pixel devices? Or devices that have a LineageOS build? I might be frustrated enough with the problem to learn Nix, but I don't want to be limited to particular hardware.

[–] [email protected] 1 points 7 months ago

I believe it can do all(if you know how), pixels just are widely spread and supported

[–] [email protected] 3 points 7 months ago

Basically this, but update the system, then install GrapheneOS, set that up, setup Google, setup bitwarden, start to load apps from Obtainium, setup each (and uninstall the app from the old device as I go). Then gp apps, same thing. Then device settings. Using FX file manager at some point to login to my nas and pull config and backup files, as necessary.

Takes me a full day, but I can be confident that I have everything migrated and not have to do anything else. I use my phone for many things (tasks.org, calendula, the usual calendar and email, banking...) and also for safety/reassurance (all my medical details are input and updated whenever there is a change, my watch detects falls and has LTE if my phone is dead, etc) which is very important to me being disabled.

It's a bitch to do but once you have a rhythm, it's actually pretty much zombie auto-pilot. The initial setup for bitwarden (g play) which has the prerequisite of Google (account) as a whole without having a simple way to input passwords 60+ characters long quickly is oof. Once I had bw ready, it's just boom boom boom. I get a new phone whenever a family member needs to upgrade to my current one, so it can be a yearly process, or like 3 years. The new device keeps me excited and powering through the dull process.

[–] [email protected] 2 points 7 months ago

restoring the whatsapp chat history from its own backup worked every time i tried it.

Maybe the backup was created by an older version of whatsapp than the version you were trying to restore to?

A backup solution like "seedvault" which is built in to lineageOS might help. It includes settings like wifi passwords, app-data and the apk's.

Since seedvault is integrated as a system app in lineageOS, it doesn't require a rooted system like titanium.

There are some limitations though, for example some apps don't allow backups and seedvault respects that setting.

[–] [email protected] 1 points 7 months ago (1 children)

After installing Lineage, I root the phone and install Neo Backup.
Then I just make an up to date backup on my old phone, copy that over (easiest with KDE Connect), and restore. That deals with about 60% of the apps and their data. The rest are mostly apps where I have to log in again and some special cases like WhatsApp or Signal where using their own backups is required.

I made a list when I changed my phone last year of working/non-working apps from my phone at that point.

Permissions don't carry over and have to be regranted to every app.

[–] [email protected] 1 points 7 months ago

Hey, thanks for that, I appreciate you sharing your list.

One option you can consider with fairmail and gmail is to use an "app password" to authenticate to IMAP, instead of oauth. That might work better when backing up with neo backup?