Hello,

This is a port of Headwind MDM.

Headwind MDM is a Mobile Device Management platform for Android devices,
designed for corporate app developers and IT managers.

https://h-mdm.com

Features for open source version

 - Enrollment to Android 7+ devices through scanning a QR-code
 - Work in "Application mode" without enrollment
 - Customize the mobile desktop design and available applications
 - Automatic deployment of applications through the web panel
 - Mobile device management: groups, configurations, device status
 - Setup the available mobile device capabilities (GPS, Wi-Fi, Bluetooth etc.)
 - Manage the automatic OS update mode on the mobile device
 - Extensible platform design allowing the custom plugin development
 - Collection of application logs in the web panel
 - Centralized configuration of corporate applications

This is a fully self-hostable mobile device management solution for
Android devices that does not require any accounts.

I was looking for a solution to automatically provision several Android
devices in my family and discovered this. It's written in Java and so
the lift to port it to OpenBSD was not too bad.

This is a Tomcat application and uses a Postgres database. The build
system is maven, and the frontend builds with node. A few things that
were needed to get this port to work:

1.) Disable the frontend-maven-plugin as it attempts to download a Linux
version of node/npm. We now manually do this in do-install using
OpenBSD's node/npm. This is the only patch.
2.) They typically use an installation script specific to Ubuntu that
controls replacing variables in configuration files and setting up the
Postgres database after installation. However, the database can be
configured via an initialization sql script. What I've done is crafted a
maven build.properties to set our defaults for OpenBSD, and replaced the
values for the sql init script. This made is fully self-contained.
3.) README points out the user must copy the produced WAR and XML in
/var/tomcat as expected for any Tomcat based app.
4.) We only need Maven/Node for the build process so these are
BUILD_DEPENDS. Tomcat and Postgres are the RUN_DEPENDS.
5.) Like other ports, we need to ensure this can build offline. I've
created a custom "vendor" target for make that will control an OFFLINE
variable to allow downloading all the maven/node/bower dependencies. I
then package these .m2 - maven, .npm - node .cache - bower into a tgz.
I've hosted it (for now) at my domain though I would prefer not to.
6.) They support English and Russian (via a separate SQL initialization
script) -- I've opted to just handle English for now.

I'd appreciate any feedback, comments, concerns. Would love to get this
committed.

-- 
Chaz

Attachment: hmdm-server.tgz
Description: application/gtar-compressed

Reply via email to