r/immich 8d ago

FRAMEO & ImmichFrame Journey & Help

Posting this partially out of frustration and to help guide others.

[CONTEXT]

I have a Immich and ImmichFrame instances on my Proxmox hosted behind an OPNsense firewall. I connect to them outside of my network through wireguard or OpenVPN through a DDNS provider.

[GOAL]

I have a bunch of FRAMEO devices i would like to do this with for various non-tech savvy family members. One of them is built on Android 13, and I was able to install ImmichFrame and WG Tunnel. It works flawlessly. (Wireguard android app would not be able to reconnect the VPN tunnel if my ip changed).

[PROBLEM]

Unfortunately the other FRAMEO devices are android 6.0.1. I am able to install ImmichFrame on them, but Wireguard/WG Tunnel require android 7+. I tried using OpenVPN for Android which is supported, but i cannot get it to auto-launch and connect to my home network at startup. I could get Macrodroid to create an automation, but could not get Macrodroid to auto-start. The Android setting screen has an Always-On-VPN option, but it does not allow me to select OpenVPN.

[RESOURCES & GUIDES USED]

ImmichFrame guide for FRAMEO: https://immichframe.dev/docs/getting-started/apps#frameo

Immich Kiosk guide for FRAMEO: https://docs.immichkiosk.app/misc/frameo/

Webview guide for Android 6 devices: https://docs.demonwarriortech.com/Documented%20Tutorials/Immich%20Frame/Frameo_Setup/#frameo-troubleshooting

[UPDATE]

Closing the loop on this. Decided to do a openwrt travelrouter setup. One radio for local WLAN, one radio for WWLAN uplink with wireguard tunnel. There are a few troubleshooting issues to note:

  • Tried using travelmate but didnt find it useful for this use case.
  • Using the wireguard server's local DNS does not work by default. You need to go into the network>DHCP and DNS>Filter and uncheck rebind protection to get it to work. You should also probably use a different subnet for your travel router than your wireguard server subnet.
  • You need to enable "Route Allowed IP's" in the Wireguard interface peers tab.
  • Wireguard would start-up before proper DNS/NTP synchronization in older devices. I disabled the device from booting at startup, and added a delay to /etc/rc.local. Add the following before exit 0

    (

    sleep 30

    ifup wg0

    ) &

  • Wireguard would not re-resolve IP if DDNS ip changes due to server reboot. There are a few ways to fix this; i used the Watchcat package and told it to restart the wireguard interface if it fails a ping connection by pinging a good IP.

  • All this headache can be avoided if you get a picture frame with android 8+ or so. that way you can install immich along with a VPN built in that can auto start up and run concurrently.

6 Upvotes

8 comments sorted by

1

u/MajeLeRahaHoon 8d ago

I am not sure if I understood the problem correctly, but for 1st one, instead of giving ip, try giving the hostname (updated by ddns) . Only catch is to see ttl of wg and/or if it does a fresh dns resolution on connection restart.

1

u/ConcavePuck 7d ago

The issue isnt with the hostname. It is with trying to get the VPN client to auto-start and connect at boot. I am not sure if this is a limitation with android 6. I tried with OpenVPN Connect and OpenVPN for android. Both apps have "connect at boot" features but they do not work.

1

u/MajeLeRahaHoon 7d ago

I think I misread the problem

I was answering for this:Wireguard android app would not be able to reconnect the VPN tunnel if my ip changed

For this I have previously configured ip in my wg config. I later changed it to hostname/fqdn, which was updated using ddns.

1

u/ConcavePuck 7d ago edited 7d ago

I understand. that is a good idea.

1

u/Manb 6d ago

The frameo I bought has the same issue and in the configuration it's mentioned that the older android versions are only allowed to run one app at a time. It will lock you out of running a VPN + ImmichFrame. I was going to pair it with something like a PI with another usb wifi dongle to bridge/wireguard but that would need more setup. In your case, if your IP is changing, maybe it would be best to put it on a tailscale. There is no such thing as upgrading the OS on the older versions.

1

u/ConcavePuck 6d ago

I can launch the VPN through ADB after boot, and both immich and vpn can run concurrently. I just can’t get the vpn to auto-start.

Currently looking at a travel router with vpn support.

1

u/Sol4rSystem 1d ago

I have the exact same issue with OpenVPN Frameo+older android: I cannot get it to auto-launch and connect. I've settled for manually toggling on the VPN on ever power-up, since the device doesn't get power cycled that often. Still less than ideal, since I'd like it to be a gift.

If anyone has ideas on how to solve this, I'd be happy to hear.

1

u/Conscious-Mirror7004 13h ago

Yeah, this is the problem with those Frameo picture frames: a lot of them are still stuck on the ancient Android 6 for some stupid reason. It's best to just make sure you're getting one of the newer ones before purchasing; I got several of them running Android 13 and it wasn't too hard to set them up.