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

adding instructions for settings.xml, GH AccessToken #116

Merged
merged 2 commits into from
Sep 26, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 31 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,19 +86,45 @@ second parameter is where the new file is saved. Leave blank to do nothing. Exam
Swagger UI is available at `http://127.0.0.1:8081/swagger-ui/index.html`. It describes the webservice endpoints and allows usage directly in the browser.

## Installation

1. Run `install.sh`
1. There are some GitHub package dependencies. GitHub requires maven authenticate as a valid user to fetch from their
package repository.
- Create `~/.m2/settings.xml` if it does not exist
- Create a GitHub personal access token if you do not have one (`settings` -> `developer settings` -> `tokens classic`)
- In below example need to update `username` to your own GitHub username. Update `password` to include your GitHub
access token created in the previous step
- Example file:
```
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository />
<interactiveMode />
<usePluginRegistry />
<offline />
<pluginGroups />
<servers>
<server>
<id>github</id>
<username>[my username]</username>
<password>[my GH Access Token]</password>
</server>
</servers>
<mirrors />
<proxies />
</settings>
```

2. Run `install.sh`
- This is intended to be installed onto a raspberry pi or some other local server. `install.sh` will install it to a
host of your choosing. The script needs to have the appropriate host variable set for where installation is desired.
2. Google photos authentication
3. Google photos authentication
- When the app initially launches, it will print a URL to the console which needs to be navigated to and proper authorizations
given. The browser this URL is launched in needs to be on the same machine as the meural-control is installed on. If that
isn't possible (for headless installations for instance), it is possible to run the OAuth flow on a non-headless server and
authenticate, and transfer the generated `tokens/StoredCredentials` to the appropriate directory on the remote headless machine.
`install.sh` contains a commented line that does exactly this.
3. Running on start of server (assuming raspberry pi)
4. Running on start of server (assuming raspberry pi)
- `sudo systemctl restart meural.service`
4. Other
5. Other
- Java needs to be available and installed (java 17+)
- On raspberry pi run `sudo apt install default-jdk`