2.5 KiB
2.5 KiB
Service Setup Guide: Webtop
Webtop provides a full Linux desktop environment (Ubuntu XFCE) directly in your web browser.
1. Pre-Setup (Manual)
Create Service User
- Manual: Create a local user named
svc-webtopin Synology DSM (Control Panel > User & Group). - Manual: Give this user read/write access to the
dockershared folder.
Get User IDs
- Manual: SSH into your NAS and run
sudo synouser --get svc-webtop. - Confirmed IDs: Locate the
User ID(PUID) andGroup ID(PGID). - Action: Open
create_webtop_folders.shand update theUSER_ID="[PUID]:[PGID]"line. - Action: Open
stack.envand update thePUIDandPGIDvariables.
2. Infrastructure Setup
Run Setup Script
- Action: Run the setup script in Dry-Run mode to verify changes:
sudo bash create_webtop_folders.sh - Action: Apply the folder creation and ownership settings:
sudo bash create_webtop_folders.sh --run - What it does:
- Creates
/volume1/docker/webtop/configwhich acts as the persistent home directory (/config) for your virtual desktop. - Sets ownership securely to the
svc-webtopuser so the container process can write to it.
- Creates
3. Portainer Deployment
Environment Variables
- Action: Review
stack.env. You can customize the browser tab name by editingTITLE.
Deploy Stack
- Action: Create a new stack named
webtop-stack. - Action: Upload or paste the environment variables from
stack.env. - Action: Paste the content of
docker-compose.portainer.ymland deploy. - Verification: Access the Webtop desktop interface at
http://[NAS_IP]:3000.
4. Post-Setup Notes
- Persistent Data: Everything saved strictly within the virtual
~or/configdirectory is retained. If you want to access your real NAS files (like your ebooks or movies) from inside this desktop, you can uncomment and map/volume1/mediain thedocker-compose.portainer.ymlfile. - Security Opt: The
seccomp:unconfinedflag is enabled. This is required to run multi-process modern browsers (like Google Chrome or Firefox) natively inside the container without crashing. - Execution User: Unlike some custom containers, Linuxserver.io images (like Webtop) handle user switching natively inside the container. Do not forcefully apply the
user:directive in Docker Compose, as it will break the container's boot process which relies on root purely to set permissions before downgrading to the PUID/PGID.