Skip to content

Commit

Permalink
feat(installer)!: change default listen port to 8080 (#2852)
Browse files Browse the repository at this point in the history
Closes #2575
Closes #2543

BREAKING CHANGE: The default listen port for the installer is now
`8080`. We recommend that you put a reverse proxy in front of LibreTime.
  • Loading branch information
jooola committed Dec 29, 2023
1 parent 43221d9 commit f72b7f9
Show file tree
Hide file tree
Showing 6 changed files with 13 additions and 22 deletions.
1 change: 0 additions & 1 deletion Vagrantfile
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,6 @@ Vagrant.configure('2') do |config|
LIBRETIME_POSTGRESQL_PASSWORD=libretime \
LIBRETIME_RABBITMQ_PASSWORD=libretime \
bash install \
--listen-port 8080 \
--in-place \
http://192.168.10.100:8080
Expand Down
10 changes: 5 additions & 5 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ services:
- ${LIBRETIME_CONFIG_FILEPATH:-./config.yml}:/etc/libretime/config.yml:ro
- libretime_playout:/app
environment:
LIBRETIME_GENERAL_PUBLIC_URL: http://nginx
LIBRETIME_GENERAL_PUBLIC_URL: http://nginx:8080

liquidsoap:
image: ghcr.io/libretime/libretime-playout:${LIBRETIME_VERSION:-latest}
Expand All @@ -48,7 +48,7 @@ services:
- ${LIBRETIME_CONFIG_FILEPATH:-./config.yml}:/etc/libretime/config.yml:ro
- libretime_playout:/app
environment:
LIBRETIME_GENERAL_PUBLIC_URL: http://nginx
LIBRETIME_GENERAL_PUBLIC_URL: http://nginx:8080

analyzer:
image: ghcr.io/libretime/libretime-analyzer:${LIBRETIME_VERSION:-latest}
Expand All @@ -61,7 +61,7 @@ services:
- ${LIBRETIME_CONFIG_FILEPATH:-./config.yml}:/etc/libretime/config.yml:ro
- libretime_storage:/srv/libretime
environment:
LIBRETIME_GENERAL_PUBLIC_URL: http://nginx
LIBRETIME_GENERAL_PUBLIC_URL: http://nginx:8080

worker:
image: ghcr.io/libretime/libretime-worker:${LIBRETIME_VERSION:-latest}
Expand All @@ -73,7 +73,7 @@ services:
volumes:
- ${LIBRETIME_CONFIG_FILEPATH:-./config.yml}:/etc/libretime/config.yml:ro
environment:
LIBRETIME_GENERAL_PUBLIC_URL: http://nginx
LIBRETIME_GENERAL_PUBLIC_URL: http://nginx:8080

api:
image: ghcr.io/libretime/libretime-api:${LIBRETIME_VERSION:-latest}
Expand Down Expand Up @@ -103,7 +103,7 @@ services:
nginx:
image: nginx
ports:
- 8080:80
- 8080:8080
depends_on:
- legacy
volumes:
Expand Down
4 changes: 2 additions & 2 deletions docker/nginx.conf
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
server {
listen 80;
listen [::]:80;
listen 8080;
listen [::]:8080;

root /var/www/html/public;

Expand Down
10 changes: 5 additions & 5 deletions docs/admin-manual/install/install-using-the-installer.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,12 +117,12 @@ git checkout {vars.version}

## Run the installer

By default the installer will configure LibreTime to listen at the port `80`, but this isn't the recommended way to install LibreTime. Instead you should configure a [reverse proxy in front of LibreTime](./reverse-proxy.md) to secure the connection using HTTPS, and route the traffic to the LibreTime server.
By default the installer will configure LibreTime to listen at the port `8080`. We recommend that you configure a [reverse proxy in front of LibreTime](./reverse-proxy.md) to secure the connection using HTTPS, and route the traffic from the ports `80`/`443` to the LibreTime server.

Install LibreTime with the following command, be sure to replace `https://libretime.example.org` with the public url of your installation:

```bash
sudo ./install --listen-port 8080 https://libretime.example.org
sudo ./install https://libretime.example.org
```

:::caution
Expand All @@ -136,12 +136,12 @@ If you need to change some configuration, the install script can be configured u
```bash
# Install LibreTime on your system with the following tweaks:
# - don't install the liquidsoap package (remember to install liquidsoap yourself)
# - set the listen port to 8080
# - set the listen port to 8081
# - don't run the PostgreSQL setup (remember to setup PostgreSQL yourself)
sudo \
LIBRETIME_PACKAGES_EXCLUDES='liquidsoap' \
./install \
--listen-port 8080 \
--listen-port 8081 \
--no-setup-postgresql \
https://libretime.example.org
```
Expand All @@ -150,7 +150,7 @@ You can persist the install configuration in a `.env` file next to the install s

```
LIBRETIME_PACKAGES_EXCLUDES='liquidsoap'
LIBRETIME_LISTEN_PORT='8080'
LIBRETIME_LISTEN_PORT='8081'
LIBRETIME_SETUP_POSTGRESQL=false
LIBRETIME_PUBLIC_URL='https://libretime.example.org'
```
Expand Down
8 changes: 0 additions & 8 deletions docs/admin-manual/install/reverse-proxy.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,6 @@ flowchart LR

:::warning

By default, the installer configures nginx to listen on port 80, so you need to run the installer with the `--listen-port 8080` option to set the desired port.

:::

:::warning

The current input and output streams are Icecast based protocols and doesn't support being behind a reverse proxy. **Don't attempt** to [reverse proxy Icecast](#icecast) or the Liquidsoap harbor inputs.

You can [secure the Icecast output streams](#securing-the-icecast-output-streams) by adding an additional Icecast socket and reusing the TLS certificates used to secure LibreTime.
Expand All @@ -58,8 +52,6 @@ In this documentation, we will use `libretime.example.org` as domain name pointi

:::

If LibreTime is running on the same host as the reverse proxy, you need to change the LibreTime web server default listening port because the reverse proxy needs to listen on the `80`and `443` ports.

Be sure that your firewall and network allows communications from the reverse proxy to the services. You can use `ping`, `telnet` and `curl` to check that communication is working.

## Install a reverse proxy
Expand Down
2 changes: 1 addition & 1 deletion install
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ EOF
# > User used to run LibreTime.
LIBRETIME_USER=${LIBRETIME_USER:-"libretime"}
# > Listen port for LibreTime.
LIBRETIME_LISTEN_PORT=${LIBRETIME_LISTEN_PORT:-"80"}
LIBRETIME_LISTEN_PORT=${LIBRETIME_LISTEN_PORT:-"8080"}
# > Public URL for LibreTime.
LIBRETIME_PUBLIC_URL=${LIBRETIME_PUBLIC_URL:-}
# > Timezone for LibreTime.
Expand Down

0 comments on commit f72b7f9

Please sign in to comment.