Skip to content

Commit b8abc7a

Browse files
committed
update readme
1 parent 3711c79 commit b8abc7a

File tree

4 files changed

+46
-41
lines changed

4 files changed

+46
-41
lines changed

README.md

+38-36
Original file line numberDiff line numberDiff line change
@@ -31,48 +31,16 @@ Optional Extras:
3131

3232
![Container Overview](https://raw.githubusercontent.com/ned-kelly/docker-multicontainer-libretime/master/screenshots/docker-container-diagram.png "Container Overview")
3333

34-
## Configuration:
35-
36-
You will want to create a new `.env` file in the root of the project directory with variables that will not be over-written when pulling down newer builds of the configuration.
37-
38-
If you are just testing locally and not deploying this in a production environment, you can skip over this section and use the default configuration, however **if you are planning on deploying this on the Internet as a live server you SHOULD SET this configuration so you are not using default passwords/configuration etc.**
39-
40-
### Configuration Variables Currently Supported:
41-
42-
| Variable | Targets | Default Value | Purpose |
43-
|-----------------------------|--------------------|------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
44-
| `POSTGRES_USER` | libretime-postgres | `libretime` | The username to provision when standing up PostgreSQL |
45-
| `POSTGRES_PASSWORD` | libretime-postgres | `libretime` | Password for the PostgreSQL Database |
46-
| `RABBITMQ_DEFAULT_USER` | libretime-rabbitmq | `libretime` | Username to access the RabbitMQ service |
47-
| `RABBITMQ_DEFAULT_PASS` | libretime-rabbitmq | `libretime` | Username to access the RabbitMQ service |
48-
| `EXTERNAL_HOSTNAME` | libretime-core | `localhost` | The FQDN of your server published on the Internet - If left as `localhost` apache iframes and other configuration will be stripped out and made "relative" |
49-
| `LOCAL_MUSIC_MAPPING` | libretime-core | `./localmusic` | The path to your media directory / where uploads/media will be stored |
50-
| `WEB_UI_PORT` | libretime-core | `8882` | The default port that the main Libretime HTTP Server/Web-UI will run on |
51-
| `MASTER_SOURCE_PORT` | libretime-core | `8001` | Master port that producers can use to over-ride the active program with an Icecast Stream (Use a tool like [BUTT](https://github.com/dkwiebe/broadcasttool)) |
52-
| `DJ_SOURCE_PORT` | libretime-core | `8002` | DJ's Icecast port that they can use remotely (using their Libretime credentials) to broadcast during their scheduled time-slot |
53-
| `ICECAST_PORT` | libretime-icecast | `35112` | The default port that Icecast will stream on -- Suggest leaving as default (a high number), 8000 is a common port that is often port-scanned |
54-
| `ICECAST_LOCATION` | libretime-icecast | `Mars` | The location of your Stream - Hint, put your city name here! |
55-
| `ICECAST_SOURCE_PASSWORD` | libretime-icecast | `libretime` | This is the password Libretime uses to connect to icecast - You should make this something nice and secure - You don't want people hijacking your stream! |
56-
| `ICECAST_RELAY_PASSWORD` | libretime-icecast | `libretime` | The password that people can use to re-stream your stream (i.e. create a satellite stream) |
57-
| `ICECAST_ADMIN_USERNAME` | libretime-icecast | `admin` | The username to Administer the Icecast service |
58-
| `ICECAST_ADMIN_PASSWORD` | libretime-icecast | `libretime` | Password for the Icecast Administration User |
59-
| `ICECAST_ADMIN_EMAIL` | libretime-icecast | `[email protected]` | The "contact email" of the main person managing this setup/station (make this a generic email i.e. [email protected]) |
60-
| `ICECAST_HOSTNAME` | libretime-icecast | `icecast.local` | This can be the same as your `EXTERNAL_HOSTNAME` parameter if you're running on the same IP/Host - It does however need to be a FQDN! |
61-
| `ICECAST_MAX_CLIENTS` | libretime-icecast | `500` | Total number of people that can stream the station before Icecast will deny connections - You should limit this to a realistic value depending on how much UPLOAD bandwidth you have available at your station... |
62-
| `ICECAST_MOUNT_NAME` | libretime-icecast | `/live` | This is the endpoint that your stream will be published/accessible on |
63-
| `WEBSITE_HOMEPAGE` | libretime-icecast | `http://libretime.org/` | The URL to your station's homepage. |
64-
65-
You must change the passwords in your `ICECAST_CONFIG_FILE` at a minimum - **(Don't leave the passwords as the default if you're exposing this to the internet, you will be hacked _(The default is ok if you're testing)_ - You will also need to update your settings in the Libratime UI)**.
66-
6734
## Standing up:
6835

6936
It's pretty straightforward, just clone down the sources and stand up the container like so:
7037

7138
```bash
72-
# Clone down sources
73-
git clone https://github.com/ned-kelly/docker-multicontainer-libretime.git
39+
# Clone down sources to /opt/libretime...
40+
git clone https://github.com/ned-kelly/docker-multicontainer-libretime.git /opt/libretime
41+
cd /opt/libretime
7442

75-
### CREATE A .env FILE AND ADD CONFIGURATION ###
43+
### CREATE A .env FILE AND ADD CONFIGURATION (see below for configuration options) ###
7644
# You can use the default configuration and skip this step if you are just testing.
7745

7846
vi docker-multicontainer-libretime/.env
@@ -100,6 +68,40 @@ You can monitor the progress of the bootstrap process by running: `docker logs -
10068

10169
Once the containers have been stood up you should be able to access the project directly in your browser...
10270

71+
72+
## Configuration:
73+
74+
You will want to create a new `.env` file in the root of the project directory with variables that will not be over-written when pulling down newer builds of the configuration.
75+
76+
If you are just testing locally and not deploying this in a production environment, you can skip over this section and use the default configuration, however **if you are planning on deploying this on the Internet as a live server you SHOULD SET this configuration so you are not using default passwords/configuration etc.**
77+
78+
### Configuration Variables Currently Supported:
79+
80+
| Variable | Targets | Default Value | Purpose |
81+
|-----------------------------|--------------------|------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
82+
| `POSTGRES_USER` | libretime-postgres | `libretime` | The username to provision when standing up PostgreSQL |
83+
| `POSTGRES_PASSWORD` | libretime-postgres | `libretime` | Password for the PostgreSQL Database |
84+
| `RABBITMQ_DEFAULT_USER` | libretime-rabbitmq | `libretime` | Username to access the RabbitMQ service |
85+
| `RABBITMQ_DEFAULT_PASS` | libretime-rabbitmq | `libretime` | Username to access the RabbitMQ service |
86+
| `EXTERNAL_HOSTNAME` | libretime-core | `localhost` | The FQDN of your server published on the Internet - If left as `localhost` apache iframes and other configuration will be stripped out and made "relative" |
87+
| `LOCAL_MUSIC_MAPPING` | libretime-core | `./localmusic` | The path to your media directory / where uploads/media will be stored |
88+
| `WEB_UI_PORT` | libretime-core | `8882` | The default port that the main Libretime HTTP Server/Web-UI will run on |
89+
| `MASTER_SOURCE_PORT` | libretime-core | `8001` | Master port that producers can use to over-ride the active program with an Icecast Stream (Use a tool like [BUTT](https://github.com/dkwiebe/broadcasttool)) |
90+
| `DJ_SOURCE_PORT` | libretime-core | `8002` | DJ's Icecast port that they can use remotely (using their Libretime credentials) to broadcast during their scheduled time-slot |
91+
| `ICECAST_PORT` | libretime-icecast | `35112` | The default port that Icecast will stream on -- Suggest leaving as default (a high number), 8000 is a common port that is often port-scanned |
92+
| `ICECAST_LOCATION` | libretime-icecast | `Mars` | The location of your Stream - Hint, put your city name here! |
93+
| `ICECAST_SOURCE_PASSWORD` | libretime-icecast | `libretime` | This is the password Libretime uses to connect to icecast - You should make this something nice and secure - You don't want people hijacking your stream! |
94+
| `ICECAST_RELAY_PASSWORD` | libretime-icecast | `libretime` | The password that people can use to re-stream your stream (i.e. create a satellite stream) |
95+
| `ICECAST_ADMIN_USERNAME` | libretime-icecast | `admin` | The username to Administer the Icecast service |
96+
| `ICECAST_ADMIN_PASSWORD` | libretime-icecast | `libretime` | Password for the Icecast Administration User |
97+
| `ICECAST_ADMIN_EMAIL` | libretime-icecast | `[email protected]` | The "contact email" of the main person managing this setup/station (make this a generic email i.e. [email protected]) |
98+
| `ICECAST_HOSTNAME` | libretime-icecast | `icecast.local` | This can be the same as your `EXTERNAL_HOSTNAME` parameter if you're running on the same IP/Host - It does however need to be a FQDN! |
99+
| `ICECAST_MAX_CLIENTS` | libretime-icecast | `500` | Total number of people that can stream the station before Icecast will deny connections - You should limit this to a realistic value depending on how much UPLOAD bandwidth you have available at your station... |
100+
| `ICECAST_MOUNT_NAME` | libretime-icecast | `/live` | This is the endpoint that your stream will be published/accessible on |
101+
| `WEBSITE_HOMEPAGE` | libretime-icecast | `http://libretime.org/` | The URL to your station's homepage. |
102+
103+
You should change the Icecast passwords at a minimum - **(Don't leave the passwords as the default if you're exposing this to the internet, you will be hacked _(The default is ok if you're testing)_ - You will also need to update your settings in the Libratime UI)**.
104+
103105
## Accessing:
104106

105107
Just go to http://server-ip:8882/ (change port 8882 to whatever you mapped in your docker-compose file if you changed this)...

docker-compose.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -120,14 +120,14 @@ services:
120120

121121
environment:
122122
- "ICECAST_ADMIN_PASSWORD=${ICECAST_ADMIN_PASSWORD-admin}"
123-
- "ICECAST_ADMIN_USERNAME=${ICECAST_ADMIN_USERNAME-hackme}"
123+
- "ICECAST_ADMIN_USERNAME=${ICECAST_ADMIN_USERNAME-libretime}"
124124
- "ICECAST_ADMIN_EMAIL=${[email protected]}"
125125
- "ICECAST_HOSTNAME=${ICECAST_HOSTNAME-icecast.your-fqdn.com}"
126126
- "ICECAST_LOCATION=${ICECAST_LOCATION-Mars}"
127127
- "ICECAST_MAX_CLIENTS=${ICECAST_MAX_CLIENTS-250}"
128128
- "ICECAST_MAX_SOURCES=${ICECAST_MAX_SOURCES-3}"
129-
- "ICECAST_SOURCE_PASSWORD=${ICECAST_SOURCE_PASSWORD-hackme}"
130-
- "ICECAST_RELAY_PASSWORD=${ICECAST_RELAY_PASSWORD-hackme}"
129+
- "ICECAST_SOURCE_PASSWORD=${ICECAST_SOURCE_PASSWORD-libretime}"
130+
- "ICECAST_RELAY_PASSWORD=${ICECAST_RELAY_PASSWORD-libretime}"
131131
- "ICECAST_PORT=${ICECAST_PORT-35112}"
132132
- "WEBSITE_HOMEPAGE=${WEBSITE_HOMEPAGE-http://libretime.org/}"
133133
- "ICECAST_MOUNT_NAME=${ICECAST_MOUNT_NAME-/live}"

libretime-icecast/config/ezstream_mp3.xml

+4-1
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@
1616
<sourcepassword>hackme</sourcepassword>
1717
<format>MP3</format>
1818
<filename>/etc/ezstream_playlist.m3u</filename>
19-
<!-- Once done streaming playlist.m3u, exit: -->
19+
20+
<!-- Play randomly through the offline playlist & continually repeat! -->
21+
<shuffle>1</shuffle>
2022
<stream_once>0</stream_once>
23+
2124
<!--
2225
The following settings are used to describe your stream to the server.
2326
It's up to you to make sure that the bitrate/samplerate/channels

libretime-icecast/config/icecast.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
<!-- This is the 'fallback' stream that we will default to in the event of a libretime failure/stream disconnection -->
7777
<mount>
7878
<mount-name>/fallback</mount-name>
79-
<public>1</public>
79+
<public>0</public>
8080
<type>application/mp3</type>
8181
<subtype>mp3</subtype>
8282
<burst-size>65536</burst-size>

0 commit comments

Comments
 (0)