Running with docker examples
This commit is contained in:
parent
615b488a49
commit
4ae6775ecd
6 changed files with 145 additions and 22 deletions
51
README.md
51
README.md
|
@ -4,7 +4,33 @@ DLNA addon for your self-hosted Nextcloud app instance that allows you to stream
|
||||||
devices in your network.
|
devices in your network.
|
||||||
It supports the group folders as well.
|
It supports the group folders as well.
|
||||||
|
|
||||||
Just edit the `application.yml` and rebuild the project with:
|
## Running in Docker
|
||||||
|
You can use the docker image with nextcloud-dlna e.g.:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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_nextcloud_db_host_ip_here>' \
|
||||||
|
-e NEXTCLOUD_DB_PASS='<your_nextcloud_db_pass_here>' \
|
||||||
|
nextcloud-dlna
|
||||||
|
```
|
||||||
|
|
||||||
|
or, if used together with the official Nextcloud docker image using the docker-composer. See the [examples](./examples)
|
||||||
|
directory. for more details about running nextcloud-dlna server in the docker container.
|
||||||
|
|
||||||
|
You can pass to the container other env variables that are listed below.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
See https://hub.docker.com/r/thanek/nextcloud-dlna for more docker image details.
|
||||||
|
|
||||||
|
## Building the project
|
||||||
|
|
||||||
|
Build the project with:
|
||||||
|
|
||||||
`./gradlew clean bootRun`
|
`./gradlew clean bootRun`
|
||||||
|
|
||||||
|
@ -16,6 +42,8 @@ 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`
|
`NEXTCLOUD_DLNA_SERVER_PORT=9999 java -jar nextcloud-dlna-X.Y.Z.jar`
|
||||||
|
|
||||||
|
## ENV variables
|
||||||
|
|
||||||
Available env variables with their default values that you can overwrite:
|
Available env variables with their default values that you can overwrite:
|
||||||
|
|
||||||
| env variable | default value | description |
|
| env variable | default value | description |
|
||||||
|
@ -32,27 +60,6 @@ Available env variables with their default values that you can overwrite:
|
||||||
| NEXTCLOUD_DB_PASS | nextcloud | nextcloud database password |
|
| NEXTCLOUD_DB_PASS | nextcloud | nextcloud database password |
|
||||||
|
|
||||||
|
|
||||||
## Running in Docker
|
|
||||||
You can use the docker image with nextcloud-dlna 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_nextcloud_db_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.
|
|
||||||
|
|
||||||
See https://hub.docker.com/r/thanek/nextcloud-dlna for more docker image details.
|
|
||||||
|
|
||||||
### Code used
|
### Code used
|
||||||
|
|
||||||
Some java code was taken from https://github.com/haku/dlnatoad
|
Some java code was taken from https://github.com/haku/dlnatoad
|
||||||
|
|
84
examples/docker-compose/docker-compose.yaml
Normal file
84
examples/docker-compose/docker-compose.yaml
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
version: '2'
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
app:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: none
|
||||||
|
o: bind
|
||||||
|
device: ${PWD}/app
|
||||||
|
app_etc:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: none
|
||||||
|
o: bind
|
||||||
|
device: ${PWD}/etc/apache2
|
||||||
|
db_data:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: none
|
||||||
|
o: bind
|
||||||
|
device: ${PWD}/db
|
||||||
|
db_etc:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: none
|
||||||
|
o: bind
|
||||||
|
device: ${PWD}/etc/mysql
|
||||||
|
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: mariadb:10.5
|
||||||
|
restart: always
|
||||||
|
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
|
||||||
|
volumes:
|
||||||
|
- db_data:/var/lib/mysql
|
||||||
|
- db_etc:/etc/mysql
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=sql
|
||||||
|
- MYSQL_PASSWORD=secret
|
||||||
|
- MYSQL_DATABASE=nextcloud
|
||||||
|
- MYSQL_USER=nextcloud
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
app:
|
||||||
|
image: nextcloud
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
links:
|
||||||
|
- db
|
||||||
|
- redis
|
||||||
|
volumes:
|
||||||
|
- app:/var/www/html
|
||||||
|
- app_etc:/etc/apache2
|
||||||
|
environment:
|
||||||
|
- PHP_MEMORY_LIMIT=1G
|
||||||
|
- PHP_UPLOAD_LIMIT=4G
|
||||||
|
- MYSQL_PASSWORD=secret
|
||||||
|
- MYSQL_DATABASE=nextcloud
|
||||||
|
- MYSQL_USER=nextcloud
|
||||||
|
- MYSQL_HOST=db
|
||||||
|
|
||||||
|
dlna:
|
||||||
|
image: thanek/nextcloud-dlna
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- app:/nextcloud
|
||||||
|
network_mode: "host"
|
||||||
|
ports:
|
||||||
|
- "9999:9999"
|
||||||
|
environment:
|
||||||
|
- NEXTCLOUD_DLNA_SERVER_PORT=9999
|
||||||
|
- NEXTCLOUD_DLNA_FRIENDLY_NAME=Nextcloud
|
||||||
|
- NEXTCLOUD_DATA_DIR=/nextcloud/data
|
||||||
|
- NEXTCLOUD_DB_TYPE=mariadb
|
||||||
|
- NEXTCLOUD_DB_HOST=localhost
|
||||||
|
- NEXTCLOUD_DB_PASS=secret
|
||||||
|
|
13
examples/docker-compose/readme.md
Normal file
13
examples/docker-compose/readme.md
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
This will run the nextcloud-dlna in docker together with the full Nextcloud installation (containing the app, database
|
||||||
|
and redis) located in the `./app` directory.
|
||||||
|
|
||||||
|
Note: in order to enable network access to the MariaDB server, after the first run, you'll need to edit
|
||||||
|
the `./etc/mariadb.cnf`, section `[client-config]` by adding the line:
|
||||||
|
```
|
||||||
|
port = 3306
|
||||||
|
```
|
||||||
|
and removing the line:
|
||||||
|
```
|
||||||
|
socket = /var/run/mysqld/mysqld.sock
|
||||||
|
```
|
||||||
|
, then restart the `db` (`nextcloud-db-1`) container.
|
3
examples/docker-compose/run.sh
Normal file
3
examples/docker-compose/run.sh
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
docker-compose up -d
|
2
examples/docker-standalone/readme.md
Normal file
2
examples/docker-standalone/readme.md
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
This will run the nextcloud-dlna in docker and connect to the Nextcloud installation assuming it is located in the
|
||||||
|
`/opt/nextcloud` directory.
|
14
examples/docker-standalone/run.sh
Normal file
14
examples/docker-standalone/run.sh
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
docker run -d \
|
||||||
|
--name="nextcloud-dlna" \
|
||||||
|
--restart=unless-stopped \
|
||||||
|
--net=host \
|
||||||
|
-p 9999:9999 \
|
||||||
|
-e NEXTCLOUD_DLNA_SERVER_PORT=9999 \
|
||||||
|
-e NEXTCLOUD_DLNA_FRIENDLY_NAME="Nextcloud" \
|
||||||
|
-e NEXTCLOUD_DB_HOST='localhost' \
|
||||||
|
-e NEXTCLOUD_DB_PASS='secret' \
|
||||||
|
-v '/opt/nextcloud/data:/nextcloud' \
|
||||||
|
-e NEXTCLOUD_DATA_DIR=/nextcloud \
|
||||||
|
thanek/nextcloud-dlna
|
Loading…
Reference in a new issue