lineageos-ota-server/README.md

54 lines
1.9 KiB
Markdown
Raw Normal View History

2023-06-04 05:08:49 +00:00
[![Build Status](https://drone.deadbeef.codes/api/badges/steven/lineageos-ota-server/status.svg)](https://drone.deadbeef.codes/steven/lineageos-ota-server)
2023-06-04 05:03:52 +00:00
# lineageos-ota-server
2023-06-05 02:13:10 +00:00
A highly-scalable and lightweight OTA Server for LineageOS. The OTA server supports a single device model (eg: Google Pixel), if you intend to have OTA's available for a variety of device models, just create an additional OTA server instance for each device.
2023-06-04 19:54:19 +00:00
2023-06-09 23:04:15 +00:00
![alt text][logo]
2023-06-09 23:04:54 +00:00
[logo]: https://deadbeef.codes/steven/lineageos-ota-server/raw/branch/main/ota-logo.jpg "LineageOS OTA Server"
2023-06-09 23:04:15 +00:00
2023-06-04 22:07:17 +00:00
### docker compose example
The service listens on port 8080 by default. Mount the output directory for the builds of the device you wish to serve to the /out folder. Also, mount a persistent public directory which will be served publicly. The public folder can be shared across multiple OTA server instances if you wish.
```yaml
version: '3.8'
lineageos-ota:
image: registry.deadbeef.codes/lineageos-ota-server:latest
restart: always
expose:
- "8080"
volumes:
- /data/android/lineage/out/target/product/sunfish:/out
- /data/android/public:/public
```
2023-06-04 19:54:19 +00:00
### How to point device to OTA server
2023-06-04 22:07:17 +00:00
The recommended way is to include the configuration inside your build of the ROM. We do this by by including the URL as a system build.prop by doing the following:
2023-06-04 19:54:19 +00:00
Create new file /data/android/lineage/vendor/lineage/build/core/deadbeef-ota.mk
```makefile
2023-06-04 22:07:17 +00:00
# deadbeef.codes LineageOS OTA update server - replace with your own URL
2023-06-04 19:54:19 +00:00
ADDITIONAL_SYSTEM_PROPERTIES += \
2023-06-04 22:07:17 +00:00
lineage.updater.uri=https://lineageos-ota.deadbeef.codes
2023-06-04 19:54:19 +00:00
```
Edit /data/android/lineage/vendor/lineage/build/core/main.mk to include deadbeef-ota.mk
```makefile
# Include LineageOS versions
include $(TOPDIR)vendor/lineage/build/core/main_version.mk
# Include deadbeef.codes OTA server
include $(TOPDIR)vendor/lineage/build/core/deadbeef-ota.mk
```