2023-10-08 19:14:49 +00:00
# Nextcloud DLNA server
2023-10-22 13:01:08 +00:00
[![Java CI with Gradle ](https://github.com/thanek/nextcloud-dlna/actions/workflows/gradle.yml/badge.svg )](https://github.com/thanek/nextcloud-dlna/actions/workflows/gradle.yml)
2023-10-08 19:20:10 +00:00
DLNA addon for your self-hosted Nextcloud app instance that allows you to stream Nextcloud users content on client
devices in your network.
2023-10-08 19:14:49 +00:00
It supports the group folders as well.
Just edit the `application.yml` and rebuild the project with:
2023-10-08 19:20:10 +00:00
`./gradlew clean bootRun`
2023-10-09 16:27:45 +00:00
You can also pass the environment variables without editing the config files:
`NEXTCLOUD_DLNA_SERVER_PORT=9999 ./gradlew clean bootRun`
or, if you've already built the project and created the jar file:
`NEXTCLOUD_DLNA_SERVER_PORT=9999 java -jar nextcloud-dlna-X.Y.Z.jar`
Available env variables with their default values that you can overwrite:
| env variable | default value | description |
|------------------------------|----------------|---------------------------------------------------------|
| NEXTCLOUD_DLNA_SERVER_PORT | 8080 | port on which the contentController will listen |
| NEXTCLOUD_DLNA_INTERFACE | eth0 | interface the server will be listening on |
| NEXTCLOUD_DLNA_FRIENDLY_NAME | Nextcloud-DLNA | friendly name of the DLNA service |
| NEXTCLOUD_DATA_DIR | | nextcloud installation directory (that ends with /data) |
| NEXTCLOUD_DB_HOST | localhost | nextcloud database host |
| NEXTCLOUD_DB_PORT | 3306 | nextcloud database port |
| NEXTCLOUD_DB_NAME | nextcloud | nextcloud database name |
| NEXTCLOUD_DB_USER | nextcloud | nextcloud database username |
| NEXTCLOUD_DB_PASS | nextcloud | nextcloud database password |
2023-10-13 18:32:15 +00:00
## Running in Docker
2023-10-17 14:13:57 +00:00
You can use the docker image with nextcloud-dlna e.g.:
2023-10-13 18:32:15 +00:00
```
docker run -d \
--name="nextcloud-dlna" \
--net=host \
-v /path/to/nextcloud/app/ending/with/data:/nextcloud \
-e NEXTCLOUD_DATA_DIR=/nextcloud \
2023-10-17 14:13:57 +00:00
-e NEXTCLOUD_DB_HOST='< your_nextcloud_db_host_ip_here > ' \
2023-10-13 18:32:15 +00:00
-e NEXTCLOUD_DB_PASS='< your_nextcloud_db_pass_here > ' \
nextcloud-dlna
```
You can pass to the container other env variables that are listed above.
Note that it would not work on Mac OS since docker is a Linux container and the `host` networking mode doesn't actually
share the host's network interfaces.
2023-10-17 14:13:57 +00:00
See https://hub.docker.com/r/thanek/nextcloud-dlna for more docker image details.
2023-10-09 16:27:45 +00:00
### Code used
2023-10-08 19:20:10 +00:00
Some java code was taken from https://github.com/haku/dlnatoad
and https://github.com/UniversalMediaServer/UniversalMediaServer converted to Kotlin with upgrade to jupnp instead of
2023-10-17 14:13:57 +00:00
cling.