• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.builds/H30-Sep-2021-3534

.github/H30-Sep-2021-415363

artwork/H03-May-2022-

cmake/H30-Sep-2021-1,8991,564

conan/H30-Sep-2021-4939

config/H30-Sep-2021-2,1031,764

doc/H30-Sep-2021-7,9065,144

gerbera-web/H03-May-2022-31,18631,103

scripts/H30-Sep-2021-720536

src/H30-Sep-2021-46,74231,279

test/H03-May-2022-6,7505,122

web/H03-May-2022-21,01119,385

.clang-formatH A D30-Sep-202160 43

.dockerignoreH A D30-Sep-2021351 3831

.editorconfigH A D30-Sep-202124 32

.gitignoreH A D30-Sep-2021340 3325

AUTHORSH A D30-Sep-2021109 43

CONTRIBUTING.mdH A D30-Sep-2021962 3017

ChangeLog.mdH A D30-Sep-202137.6 KiB966921

DockerfileH A D30-Sep-20211.8 KiB5343

LICENSE.mdH A D30-Sep-202115 KiB269221

README.Docker.mdH A D30-Sep-20212.6 KiB6552

README.mdH A D30-Sep-20216.4 KiB9980

conanfile.pyH A D30-Sep-20215.8 KiB190159

README.Docker.md

1<img src="https://github.com/gerbera/gerbera/blob/master/artwork/logo-horiz.png?raw=true" />
2
3# Gerbera - UPnP Media Server
4
5[![Current Release](https://img.shields.io/github/release/gerbera/gerbera.svg?style=for-the-badge)](https://github.com/gerbera/gerbera/releases/latest) [![Build Status](https://img.shields.io/github/workflow/status/gerbera/gerbera/CI%20validation?style=for-the-badge)](https://github.com/gerbera/gerbera/actions?query=workflow%3A%22CI+validation%22+branch%3Amaster) [![Docker Version](https://img.shields.io/docker/v/gerbera/gerbera?color=teal&label=docker&logoColor=white&sort=semver&style=for-the-badge)](https://hub.docker.com/r/gerbera/gerbera/tags?name=v) [![Documentation Status](https://img.shields.io/readthedocs/gerbera?style=for-the-badge)](http://docs.gerbera.io/en/stable/?badge=stable) [![IRC](https://img.shields.io/badge/IRC-on%20freenode-orange.svg?style=for-the-badge)](https://webchat.freenode.net/?channels=#gerbera)
6
7Gerbera is a UPnP media server which allows you to stream your digital media through your home network and consume it on a variety of UPnP compatible devices.
8
9## Documentation
10For general help on using Gerbera, head over to our documentation online at [docs.gerbera.io](https://docs.gerbera.io).
11
12# Image Architectures
13- amd64
14- armv7
15- arm64
16
17# Network Setup
18### Ports
19Port `49494/tcp` (HTTP) and `1900/udp` (SSDP Multicast) are exposed by default.
20
21### Multicast
22UPnP relies on having clients and servers able to communicate via IP Multicast.
23The default docker bridge network setup does not support multicast. The easiest way to achieve this is to use
24"host networking".
25Connecting Gerbera to your network via the "macvlan" driver should work, but remember you will not be
26able to access the container from the docker host with this method by default.
27
28# Examples
29## Serve some files via a volume
30```console
31$ docker run \
32    --name some-gerbera \
33    --network=host \
34    -v /some/files:/content:ro \
35     gerbera/gerbera:vX.X.X
36```
37
38or for those that prefer docker-compose:
39
40```console
41---
42version: "2.1"
43services:
44  gerbera:
45    image: gerbera/gerbera
46    container_name: gerbera
47    network_mode: host
48    volumes:
49      - gerbera-config:/var/run/gerbera
50      - /some/files:/content:ro
51```
52
53The directory `/content` is automatically scanned for content by default.
54Host networking enables us to bypass issues with broadcast across docker bridges.
55
56## Provide your own config file
57```console
58$ docker run \
59    --name another-gerbera \
60    --network=host \
61    -v /some/files:/content:ro \
62    -v /some/path/config.xml:/var/run/gerbera/config.xml \
63     gerbera/gerbera:vX.X.X
64```
65

README.md

1<img src="https://github.com/gerbera/gerbera/blob/master/artwork/logo-horiz.png?raw=true" />
2
3# Gerbera - UPnP Media Server
4
5 [![Current Release](https://img.shields.io/github/release/gerbera/gerbera.svg?style=for-the-badge)](https://github.com/gerbera/gerbera/releases/latest) [![Build Status](https://img.shields.io/github/workflow/status/gerbera/gerbera/CI%20validation?style=for-the-badge)](https://github.com/gerbera/gerbera/actions?query=workflow%3A%22CI+validation%22+branch%3Amaster) [![Docker Version](https://img.shields.io/docker/v/gerbera/gerbera?color=teal&label=docker&logoColor=white&sort=semver&style=for-the-badge)](https://hub.docker.com/r/gerbera/gerbera/tags?name=v) [![Documentation Status](https://img.shields.io/readthedocs/gerbera?style=for-the-badge)](http://docs.gerbera.io/en/stable/?badge=stable) [![IRC](https://img.shields.io/badge/IRC-on%20libera.chat-orange.svg?style=for-the-badge)](https://web.libera.chat/?channels=#gerbera)
6
7Gerbera is a UPnP media server which allows you to stream your digital media through your home network and consume it on a variety of UPnP compatible devices.
8
9**Pull requests are very welcome and reporting issues is encouraged.**
10
11## Documentation
12View our documentation online at [https://docs.gerbera.io](https://docs.gerbera.io).
13
14## Features
15* Browse and playback your media via your network on all kinds of devices.
16* Web UI with a tree view of the database and the file system, allowing to add/remove/edit/browse your media
17* Metadata extraction from MP3, OGG, AAC, M4A, FLAC, JPG (and many more!) files.
18* Media thumbnail support
19* Highly flexible media format transcoding via plugins / scripts
20* Automatic directory rescans (timed, inotify)
21* User defined server layout based on extracted metadata
22* Supports last.fm scrobbing
23* On the fly video thumbnail generation
24* Support for external URLs (create links to internet content and serve them via UPnP to your renderer)
25* Runs on Linux, BSD, Mac OS X, and more!
26* Runs on x86, ARM, MIPS, and more!
27
28## Installing
29Head over to the docs page on [Installing Gerbera](https://docs.gerbera.io/en/stable/install.html) for instructions on
30how to install Gerbera.
31
32## Building
33Visit our docs for instructions to [Compile Gerbera](https://docs.gerbera.io/en/stable/compile.html).
34
35### Quick start build instructions:
36```
37git clone https://github.com/gerbera/gerbera.git
38mkdir build
39cd build
40cmake ../gerbera -DWITH_DEBUG=YES
41make -j4
42sudo make install
43```
44
45## Dependencies
46
47| Library       | Min Version   | Required?     | Note                       | Compile-time option    | Default  | Script             |
48|---------------|---------------|---------------|----------------------------|------------------------|----------|--------------------|
49| libupnp       | 1.14.0        | XOR libnpupnp | [pupnp]                    |                        |          | install-pupnp.sh   |
50| libnpupnp     | 4.1.2         | XOR libupnp   | [npupnp]                   | WITH_NPUPNP            | Disabled |                    |
51| libuuid       |               | Depends on OS | Not required on \*BSD      |                        |          |                    |
52| [pugixml]     |               | Required      | XML file and data support  |                        |          | install-pugixml.sh |
53| libiconv      |               | Required      | Charset conversion         |                        |          |                    |
54| sqlite3       | 3.7.0         | Required      | Database storage           |                        |          |                    |
55| zlib          |               | Required      | Data compression           |                        |          |                    |
56| [fmtlib]      | 7.1.3         | Required      | Fast string formatting     |                        |          | install-fmt.sh     |
57| [spdlog]      | 1.8.5         | Required      | Runtime logging            |                        |          | install-spdlog.sh  |
58| [duktape]     | 2.1.0         | Optional      | Scripting Support          | WITH_JS                | Enabled  | install-duktape.sh |
59| mysql         |               | Optional      | Alternate database storage | WITH_MYSQL             | Disabled |                    |
60| curl          |               | Optional      | Enables web services       | WITH_CURL              | Enabled  |                    |
61| [taglib]      | 1.11.1        | Optional      | Audio tag support          | WITH_TAGLIB            | Enabled  | install-taglib.sh  |
62| libmagic      |               | Optional      | File type detection        | WITH_MAGIC             | Enabled  |                    |
63| libmatroska   |               | Optional      | MKV metadata               | WITH_MATROSKA          | Enabled  |                    |
64| ffmpeg/libav  |               | Optional      | File metadata              | WITH_AVCODEC           | Disabled |                    |
65| libexif       |               | Optional      | JPEG Exif metadata         | WITH_EXIF              | Enabled  |                    |
66| libexiv2      |               | Optional      | Exif, IPTC, XMP metadata   | WITH_EXIV2             | Disabled |                    |
67| [lastfmlib]   | 0.4.0         | Optional      | Enables scrobbling         | WITH_LASTFM            | Disabled | install-lastfm.sh  |
68| [ffmpegthumbnailer] |         | Optional      | Generate video thumbnails  | WITH_FFMPEGTHUMBNAILER | Disabled |                    |
69| inotify       |               | Optional      | Efficient file monitoring  | WITH_INOTIFY           | Enabled  |                    |
70
71Scripts for installation of (build) dependencies from source can be found under `scripts`.
72
73## Licence
74
75    GPLv2
76
77    Copyright (C) 2005
78       Gena Batyan <bgeradz at mediatomb dot cc>
79       Sergey Bostandzhyan <jin at mediatomb dot cc>
80
81    Copyright (C) 2006-2008
82       Gena Batyan <bgeradz at mediatomb dot cc>
83       Sergey Bostandzhyan <jin at mediatomb dot cc>
84       Leonhard Wimmer <leo at mediatomb dot cc>
85
86    Copyright (C) 2016-2021
87        Gerbera Contributors
88
89[Docker Hub]: https://hub.docker.com/r/gerbera/gerbera
90[duktape]: http://duktape.org
91[ffmpegthumbnailer]: https://github.com/dirkvdb/ffmpegthumbnailer
92[fmtlib]: https://github.com/fmtlib/fmt
93[lastfmlib]: https://github.com/dirkvdb/lastfmlib
94[npupnp]: https://www.lesbonscomptes.com/upmpdcli/npupnp-doc/libnpupnp.html
95[pugixml]: https://github.com/zeux/pugixml
96[pupnp]: https://github.com/pupnp/pupnp
97[spdlog]: https://github.com/gabime/spdlog
98[taglib]: http://taglib.org/
99