Skip to content

Commit

Permalink
- Base image update: jlesage/docker-firefox to 24.09.1 (Firefox 130.0…
Browse files Browse the repository at this point in the history
….1-r0)

- Option to enable audio support through web browser (when you expose the addon with a dedicated web port). Not working with Ingress.
- HA Addon Audio support enabled for the host (not tested).
- Remote Debugging Port added.
- Option to enable Web authentication support.
- Option to set custom arguments for Firefox.
  • Loading branch information
Mincka committed Oct 6, 2024
1 parent 5c4bcf5 commit 8283667
Show file tree
Hide file tree
Showing 8 changed files with 92 additions and 18 deletions.
9 changes: 9 additions & 0 deletions firefox/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
<!-- https://developers.home-assistant.io/docs/add-ons/presentation#keeping-a-changelog -->

## 1.3.2

- Base image update: jlesage/docker-firefox to 24.09.1 (Firefox 130.0.1-r0)
- Option to enable audio support through web browser (when you expose the addon with a dedicated web port). Not working with Ingress.
- HA Addon Audio support enabled for the host (not tested).
- Remote Debugging Port added.
- Option to enable Web authentication support.
- Option to set custom arguments for Firefox.

## 1.2.0

- Base image update: jlesage/docker-firefox to 24.04.1 (Firefox 124.0.1-r0)
Expand Down
2 changes: 1 addition & 1 deletion firefox/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM jlesage/firefox:v24.04.1
FROM jlesage/firefox:v24.09.1

COPY rootfs/startapp.sh /startapp.sh
# Makes sure that the line endings are correct
Expand Down
24 changes: 18 additions & 6 deletions firefox/config.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: "Firefox"
version: "1.2.0"
version: "1.3.2"
slug: "firefox"
panel_icon: "mdi:firefox"
description: "Docker container for Firefox"
Expand All @@ -19,14 +19,16 @@ ingress_port: 5800
ports:
5800/tcp: null
5900/tcp: null
9222/tcp: null
environment:
# Required to write to /data
USER_ID: "0"
KEEP_APP_RUNNING: "1"
# Sound support, not tested and requires special version of noVNC
#devices:
# - /dev/snd
#audio: true
# Sound support (forward audio to your host), not tested
devices:
- /dev/snd
# Map a working PulseAudio setup into the container
audio: true
image: "ghcr.io/mincka/firefox-{arch}"
# To pass options as environment variables (thanks to legacy mode), they must be either "int" or "str" ("str?" will be ignored).
legacy: true
Expand All @@ -46,6 +48,11 @@ options:
SECURE_CONNECTION: "0"
SECURE_CONNECTION_VNC_METHOD: "SSL"
SECURE_CONNECTION_CERTS_CHECK_INTERVAL: "60"
WEB_AUDIO: "1"
WEB_AUTHENTICATION: "0"
WEB_AUTHENTICATION_USERNAME: ""
WEB_AUTHENTICATION_PASSWORD: ""
FF_CUSTOM_ARGS: "0"
schema:
VNC_PASSWORD: str
ENABLE_CJK_FONT: str
Expand All @@ -61,4 +68,9 @@ schema:
DARK_MODE: str
SECURE_CONNECTION: str
SECURE_CONNECTION_VNC_METHOD: str
SECURE_CONNECTION_CERTS_CHECK_INTERVAL: str
SECURE_CONNECTION_CERTS_CHECK_INTERVAL: str
WEB_AUDIO: str
WEB_AUTHENTICATION: str
WEB_AUTHENTICATION_USERNAME: str
WEB_AUTHENTICATION_PASSWORD: str
FF_CUSTOM_ARGS: str
20 changes: 18 additions & 2 deletions firefox/translations/en.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,29 @@ configuration:
description: When set to 1, dark mode is enabled for the application.
SECURE_CONNECTION:
name: Secure Connection
description: When set to 1, an encrypted connection is used to access the application's GUI (either via a web browser or VNC client). See the Security section of https://github.com/jlesage/docker-firefox for more details.
description: When set to 1, an encrypted connection is used to access the application's GUI (either via a web browser or VNC client). This may not be compatible with HA Ingress (even in HTTPS). Note that few VNC clients support this method. SSVNC is one of them. See the Security section of https://github.com/jlesage/docker-firefox for more details.
SECURE_CONNECTION_VNC_METHOD:
name: Secure Connection VNC Method
description: Method used to perform the secure VNC connection. Possible values are SSL or TLS. See the Security section of https://github.com/jlesage/docker-firefox for more details.
SECURE_CONNECTION_CERTS_CHECK_INTERVAL:
name: Secure Connection Certificate Check Interval
description: Interval, in seconds, at which the system verifies if web or VNC certificates have changed. When a change is detected, the affected services are automatically restarted. A value of 0 disables the check.
FF_CUSTOM_ARGS:
name: Firefox Custom Arguments
description: Custom argument(s) to pass when launching Firefox.
WEB_AUDIO:
name: Web Audio
description: When set to 1, audio support is enabled, meaning that any audio produced by the application is played through the browser. Don't forget to also enable audio in the VNC docked console. Note that audio is not supported for VNC clients, nor HA Ingress. Please tell me if you find a way to make it work through HA ingress.
WEB_AUTHENTICATION:
name: Web Authentication
description: When set to 1, the application' GUI is protected via a login page when accessed via a web browser. Access is allowed only when providing valid credentials. This feature requires secure connection (SECURE_CONNECTION environment variable) to be enabled. This may not be compatible with HA ingress (even in HTTPS).
WEB_AUTHENTICATION_USERNAME:
name: Web Authentication Username
description: Optional username to configure for the web authentication. This is a quick and easy way to configure credentials for a single user.
WEB_AUTHENTICATION_PASSWORD:
name: Web Authentication Password
description: Optional password to configure for the web authentication. This is a quick and easy way to configure credentials for a single user.
network:
5800/tcp: Firefox via Web (Not required for Ingress)
5900/tcp: Firefox via VNC (Not required for Ingress)
5900/tcp: Firefox via VNC (Not required for Ingress)
9222/tcp: Firefox Remote Debugging Port (Not required for Ingress)
9 changes: 9 additions & 0 deletions firefox_edge/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
<!-- https://developers.home-assistant.io/docs/add-ons/presentation#keeping-a-changelog -->

## 1.3.2

- Base image update: jlesage/docker-firefox to 24.09.1 (Firefox 130.0.1-r0)
- Option to enable audio support through web browser (when you expose the addon with a dedicated web port). Not working with Ingress.
- HA Addon Audio support enabled for the host (not tested).
- Remote Debugging Port added.
- Option to enable Web authentication support.
- Option to set custom arguments for Firefox.

## 1.2.0

- Base image update: jlesage/docker-firefox to 24.04.1 (Firefox 124.0.1-r0)
Expand Down
2 changes: 1 addition & 1 deletion firefox_edge/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM jlesage/firefox:v24.04.1
FROM jlesage/firefox:v24.09.1

RUN apk del firefox
RUN sed -r -i -e 's/v[0-9]+\.[0-9]+/edge/g' /etc/apk/repositories
Expand Down
24 changes: 18 additions & 6 deletions firefox_edge/config.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: "Firefox (Edge)"
version: "1.2.0"
version: "1.3.2"
slug: "firefox_edge"
panel_icon: "mdi:firefox"
description: "Docker container for Firefox. Update to the latest Firefox version on container start."
Expand All @@ -19,14 +19,16 @@ ingress_port: 5800
ports:
5800/tcp: null
5900/tcp: null
9222/tcp: null
environment:
# Required to write to /data
USER_ID: "0"
KEEP_APP_RUNNING: "1"
# Sound support, not tested and requires special version of noVNC
#devices:
# - /dev/snd
#audio: true
# Sound support (forward audio to your host), not tested
devices:
- /dev/snd
# Map a working PulseAudio setup into the container
audio: true
image: "ghcr.io/mincka/firefox-edge-{arch}"
# To pass options as environment variables (thanks to legacy mode), they must be either "int" or "str" ("str?" will be ignored).
legacy: true
Expand All @@ -46,6 +48,11 @@ options:
SECURE_CONNECTION: "0"
SECURE_CONNECTION_VNC_METHOD: "SSL"
SECURE_CONNECTION_CERTS_CHECK_INTERVAL: "60"
WEB_AUDIO: "1"
WEB_AUTHENTICATION: "0"
WEB_AUTHENTICATION_USERNAME: ""
WEB_AUTHENTICATION_PASSWORD: ""
FF_CUSTOM_ARGS: "0"
schema:
VNC_PASSWORD: str
ENABLE_CJK_FONT: str
Expand All @@ -61,4 +68,9 @@ schema:
DARK_MODE: str
SECURE_CONNECTION: str
SECURE_CONNECTION_VNC_METHOD: str
SECURE_CONNECTION_CERTS_CHECK_INTERVAL: str
SECURE_CONNECTION_CERTS_CHECK_INTERVAL: str
WEB_AUDIO: str
WEB_AUTHENTICATION: str
WEB_AUTHENTICATION_USERNAME: str
WEB_AUTHENTICATION_PASSWORD: str
FF_CUSTOM_ARGS: str
20 changes: 18 additions & 2 deletions firefox_edge/translations/en.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,29 @@ configuration:
description: When set to 1, dark mode is enabled for the application.
SECURE_CONNECTION:
name: Secure Connection
description: When set to 1, an encrypted connection is used to access the application's GUI (either via a web browser or VNC client). See the Security section of https://github.com/jlesage/docker-firefox for more details.
description: When set to 1, an encrypted connection is used to access the application's GUI (either via a web browser or VNC client). This may not be compatible with HA Ingress (even in HTTPS). Note that few VNC clients support this method. SSVNC is one of them. See the Security section of https://github.com/jlesage/docker-firefox for more details.
SECURE_CONNECTION_VNC_METHOD:
name: Secure Connection VNC Method
description: Method used to perform the secure VNC connection. Possible values are SSL or TLS. See the Security section of https://github.com/jlesage/docker-firefox for more details.
SECURE_CONNECTION_CERTS_CHECK_INTERVAL:
name: Secure Connection Certificate Check Interval
description: Interval, in seconds, at which the system verifies if web or VNC certificates have changed. When a change is detected, the affected services are automatically restarted. A value of 0 disables the check.
FF_CUSTOM_ARGS:
name: Firefox Custom Arguments
description: Custom argument(s) to pass when launching Firefox.
WEB_AUDIO:
name: Web Audio
description: When set to 1, audio support is enabled, meaning that any audio produced by the application is played through the browser. Don't forget to also enable audio in the VNC docked console. Note that audio is not supported for VNC clients, nor HA Ingress. Please tell me if you find a way to make it work through HA ingress.
WEB_AUTHENTICATION:
name: Web Authentication
description: When set to 1, the application' GUI is protected via a login page when accessed via a web browser. Access is allowed only when providing valid credentials. This feature requires secure connection (SECURE_CONNECTION environment variable) to be enabled. This may not be compatible with HA ingress (even in HTTPS).
WEB_AUTHENTICATION_USERNAME:
name: Web Authentication Username
description: Optional username to configure for the web authentication. This is a quick and easy way to configure credentials for a single user.
WEB_AUTHENTICATION_PASSWORD:
name: Web Authentication Password
description: Optional password to configure for the web authentication. This is a quick and easy way to configure credentials for a single user.
network:
5800/tcp: Firefox via Web (Not required for Ingress)
5900/tcp: Firefox via VNC (Not required for Ingress)
5900/tcp: Firefox via VNC (Not required for Ingress)
9222/tcp: Firefox Remote Debugging Port (Not required for Ingress)

0 comments on commit 8283667

Please sign in to comment.