Files
docker-qmx-fusion/readme-vars.yml
2025-07-01 14:33:20 +01:00

158 lines
6.6 KiB
YAML

---
# project information
project_name: chromium
project_url: "https://www.chromium.org/chromium-projects/"
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/chromium-logo.png"
project_blurb: "[Chromium]({{ project_url }}) is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web."
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
project_categories: "Web Browser"
project_blurb_optional_extras_enabled: false
# supported architectures
available_architectures:
- {arch: "{{ arch_x86_64 }}", tag: "latest"}
- {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
# development version
development_versions: true
development_versions_items:
- {tag: "latest", desc: "Latest releases using the selkies base"}
- {tag: "kasm", desc: "Latest releases using the kasmvnc base"}
# container parameters
common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}"
param_usage_include_vols: true
param_volumes:
- {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "Users home directory in the container, stores local files and settings"}
param_usage_include_ports: true
param_ports:
- {external_port: "3000", internal_port: "3000", port_desc: "HTTP Chromium desktop gui, must be proxied."}
- {external_port: "3001", internal_port: "3001", port_desc: "HTTPS Chromium desktop gui."}
custom_params:
- {name: "shm-size", name_compose: "shm_size", value: "1gb", desc: "This is needed for any modern website to function like youtube."}
# optional variables
opt_param_usage_include_env: true
opt_param_env_vars:
- {env_var: "CHROME_CLI", env_value: "https://www.linuxserver.io/", desc: "Specify one or multiple Chromium CLI flags, this string will be passed to the application in full."}
opt_security_opt_param: true
opt_security_opt_param_vars:
- {run_var: "seccomp=unconfined", compose_var: "seccomp:unconfined", desc: "For Docker Engine only, many modern gui apps need this to function on older hosts as syscalls are unknown to Docker. Chromium runs in no-sandbox test mode without it."}
# application setup block
app_setup_block_enabled: true
app_setup_block: |
The application can be accessed at:
* https://yourhost:3001/
### Security
>[!WARNING]
>Do not put this on the Internet if you do not know what you are doing.
By default this container has no authentication and the optional environment variables `CUSTOM_USER` and `PASSWORD` to enable basic http auth via the embedded NGINX server should only be used to locally secure the container from unwanted access on a local network. If exposing this to the Internet we recommend putting it behind a reverse proxy, such as [SWAG](https://github.com/linuxserver/docker-swag), and ensuring a secure authentication solution is in place. From the web interface a terminal can be launched and it is configured for passwordless sudo, so anyone with access to it can install and run whatever they want along with probing your local network.
### Nvidia GPU Support
**Nvidia support is not compatible with Alpine based images as Alpine lacks Nvidia drivers**
Nvidia support is available by leveraging Zink for OpenGL support. This can be enabled with the following run flags:
| Variable | Description |
| :----: | --- |
| --gpus all | This can be filtered down but for most setups this will pass the one Nvidia GPU on the system |
| --runtime nvidia | Specify the Nvidia runtime which mounts drivers and tools in from the host |
The compose syntax is slightly different for this as you will need to set nvidia as the default runtime:
```
sudo nvidia-ctk runtime configure --runtime=docker --set-as-default
sudo service docker restart
```
And to assign the GPU in compose:
```
services:
chromium:
image: lscr.io/linuxserver/chromium:latest
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [compute,video,graphics,utility]
```
# init diagram
init_diagram: |
"chromium:latest": {
docker-mods
base {
fix-attr +\nlegacy cont-init
}
docker-mods -> base
legacy-services
custom services
init-services -> legacy-services
init-services -> custom services
custom services -> legacy-services
legacy-services -> ci-service-check
init-migrations -> init-adduser
init-os-end -> init-config
init-selkies-end -> init-config
init-config -> init-config-end
init-crontab-config -> init-config-end
init-config -> init-crontab-config
init-mods-end -> init-custom-files
init-adduser -> init-device-perms
base -> init-envfile
base -> init-migrations
init-config-end -> init-mods
init-mods-package-install -> init-mods-end
init-mods -> init-mods-package-install
init-selkies -> init-nginx
init-adduser -> init-os-end
init-device-perms -> init-os-end
init-envfile -> init-os-end
init-os-end -> init-selkies
init-nginx -> init-selkies-config
init-video -> init-selkies-end
init-custom-files -> init-services
init-selkies-config -> init-video
init-services -> svc-cron
svc-cron -> legacy-services
init-services -> svc-de
svc-nginx -> svc-de
svc-xorg -> svc-de
svc-de -> legacy-services
init-services -> svc-docker
svc-de -> svc-docker
svc-docker -> legacy-services
init-services -> svc-nginx
svc-nginx -> legacy-services
init-services -> svc-pulseaudio
svc-pulseaudio -> legacy-services
init-services -> svc-selkies
svc-nginx -> svc-selkies
svc-pulseaudio -> svc-selkies
svc-xorg -> svc-selkies
svc-selkies -> legacy-services
init-services -> svc-xorg
svc-xorg -> legacy-services
}
Base Images: {
"baseimage-selkies:debianbookworm" <- "baseimage-debian:bookworm"
}
"chromium:latest" <- Base Images
# changelog
changelogs:
- {date: "01.07.25:", desc: "Add Kasm branch."}
- {date: "24.06.25:", desc: "Rebase to Selkies."}
- {date: "03.04.25:", desc: "Update chromium launch options to improve performance."}
- {date: "10.02.24:", desc: "Update Readme with new env vars and ingest proper PWA icon."}
- {date: "08.01.24:", desc: "Fix re-launch issue for chromium by purging temp files on launch."}
- {date: "29.12.23:", desc: "Rebase to Debian Bookworm."}
- {date: "13.05.23:", desc: "Rebase to Alpine 3.18."}
- {date: "01.04.23:", desc: "Preserve arguments passed to Chromium and restructure to use wrapper."}
- {date: "18.03.23:", desc: "Initial release."}