nextcloud-dlna/README.md
xis 9be7c7e5d9 add Docker support
add hashCode && equals
2023-10-13 20:32:41 +02:00

58 lines
No EOL
2.7 KiB
Markdown

# Nextcloud DLNA server
DLNA addon for your self-hosted Nextcloud app instance that allows you to stream Nextcloud users content on client
devices in your network.
It supports the group folders as well.
Just edit the `application.yml` and rebuild the project with:
`./gradlew clean bootRun`
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 |
## Running in Docker
You can build your Docker image using the `docker build -t nextcloud-dlna .` command. Next, you need to run the docker
image with the `net=host` option e.g:
```
docker run -d \
--name="nextcloud-dlna" \
--net=host \
-v /path/to/nextcloud/app/ending/with/data:/nextcloud \
-e NEXTCLOUD_DATA_DIR=/nextcloud \
-e NEXTCLOUD_DB_HOST='<your_host_ip_here>' \
-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.
### Code used
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
cling.