GRM - [G]rapheneOS [R]epo [M]anager
A graphical UI for managing a custom Apps repository for GrapheneOS
Click here for Screenshots :)
GRM is not related to the Graphene project in any way. It is just a personal project and comes without any guarantees ;)
The GrapheneOS name and logo are trademarks of the GrapheneOS project.
While GRM runs on any Linux natively it can be used on any Operating System which supports docker, which means:
- Windows
- Linux
- Mac OS
You have to setup your repository as described here
a one-liner ;)
git clone https://github.com/sfX-android/GRM.git /opt/GRM
After that you will find a file GRM.desktop
in /opt/GRM/
. If you like you can install it: cp GRM.desktop ~/.local/share/applications/
(If you are using a different installation directory for GRM you obviously need to change GRM.desktop
accordingly).
Create SSH keys for GRM to access your repository server. If your current Operating System is not Linux just do these commands on your repository server and scp or copy & paste the keys locally.
- create a directory for your GRM data, eg. name it "GRM"
- create these subdirectories (exactly named like that) in "GRM":
ssh
(you need to put the SSH keys here)apps
(all APKs in this directory will be available in GRM later)
- Create a key named
GRM_ed25519
(this filename is fixed):ssh-keygen -a 100 -t ed25519 -f GRM_ed25519
when prompted for a password simply press ENTER twice (required) - add
GRM_ed25519.pub
to your./ssh/authorized_keys
on your repository server (GRM supports only ssh pub key auth) - put the SSH key files into the folder
ssh
- docker:
GRM/ssh
(see above) - Linux:
/opt/GRM/ssh
- docker:
- verify that your SSH user can access your server without being prompted:
- docker: use a SSH client and add the GRM_ed25519 key there for authentication
- Linux:
ssh -i /opt/GRM/ssh/GRM_ed25519 <PUT-YOUR-USERNAME-HERE>@<PUT-YOUR-SSH-SERVER-HERE>
- if you see a hostkey verification prompt accept it but you should be logged in without specifying a password. If you get prompted for a password something is wrong in your setup which needs to be fixed first before you can proceed!
- Create custom.vars (copy from
custom.vars.example
) in/opt/GRM/
and setup at least your remote server details there
Follow the Docker guide
/opt/GRM/grm
(or using the Start menu of your fav distro and search for GRM
if you installed the Desktop file)