97 lines
4.6 KiB
YAML
97 lines
4.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: false
|
|
# container parameters
|
|
common_param_env_vars_enabled: true
|
|
param_container_name: "{{ project_name }}"
|
|
param_usage_include_env: true
|
|
param_env_vars:
|
|
- {env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London."}
|
|
param_usage_include_vols: true
|
|
param_volumes:
|
|
- {vol_path: "/config", vol_host_path: "/path/to/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:
|
|
webtop:
|
|
image: lscr.io/linuxserver/suyu:latest
|
|
deploy:
|
|
resources:
|
|
reservations:
|
|
devices:
|
|
- driver: nvidia
|
|
count: 1
|
|
capabilities: [compute,video,graphics,utility]
|
|
```
|
|
|
|
# changelog
|
|
changelogs:
|
|
- {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."}
|