47 lines
1.7 KiB
Markdown
47 lines
1.7 KiB
Markdown
[![Build Status](https://drone.deadbeef.codes/api/badges/steven/lineageos-ota-server/status.svg)](https://drone.deadbeef.codes/steven/lineageos-ota-server)
|
|
|
|
# lineageos-ota-server
|
|
|
|
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.
|
|
|
|
![alt text][logo]
|
|
|
|
[logo]: https://deadbeef.codes/steven/lineageos-ota-server/raw/branch/main/ota-logo.jpg "LineageOS OTA Server"
|
|
|
|
|
|
### 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/sunfish:/public
|
|
|
|
```
|
|
|
|
### How to point device to OTA server
|
|
|
|
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:
|
|
|
|
Create new file /data/android/lineage/vendor/lineage/build/core/deadbeef-ota.mk
|
|
|
|
|
|
|
|
Edit (create if not exist) /data/android/lineage/vendor/extra/product.mk
|
|
|
|
```makefile
|
|
|
|
# Include deadbeef.codes OTA server
|
|
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
|
lineage.updater.uri=https://lineageos-ota-{device}.deadbeef.codes
|
|
|
|
``` |