63 lines
1.6 KiB
Markdown
63 lines
1.6 KiB
Markdown
# LazyOS Build Directory
|
|
|
|
This directory contains files for building the LazyOS desktop environment - a containerized web-based desktop for running the LazyPM survey system.
|
|
|
|
## Contents
|
|
|
|
- **Dockerfile** - Container definition based on LinuxServer Webtop
|
|
- **setup-desktop.sh** - Initialization script that creates desktop shortcuts
|
|
- **survey** - Survey binary (copied from bin/ during build)
|
|
|
|
## LazyOS Overview
|
|
|
|
LazyOS provides a browser-based desktop environment where users can run the LazyPM survey tasks in an isolated container.
|
|
|
|
It's useful for:
|
|
- Running the survey system in a controlled environment
|
|
- Providing a desktop-like experience through a web browser
|
|
- Testing the survey interface without local setup
|
|
|
|
## Building LazyOS
|
|
|
|
From the project root:
|
|
|
|
```bash
|
|
make os-build
|
|
```
|
|
|
|
This will:
|
|
1. Build the survey binary
|
|
2. Copy it to this directory
|
|
3. Build the Docker image tagged as `lazyos:latest`
|
|
|
|
## Running LazyOS
|
|
|
|
```bash
|
|
make os-run
|
|
```
|
|
|
|
Access the desktop environment at http://localhost:3000
|
|
|
|
The container exposes :3000 for http and :3001 for https
|
|
|
|
## Stopping LazyOS
|
|
|
|
```bash
|
|
make os-stop
|
|
```
|
|
|
|
This stops and removes the lazyos container.
|
|
|
|
## Dockerfile Details
|
|
|
|
The Dockerfile:
|
|
- Uses `lscr.io/linuxserver/webtop:latest` as base
|
|
- Installs gcompat and libc6-compat for binary compatibility
|
|
- Copies the survey binary to `/usr/local/bin/survey`
|
|
- Includes setup-desktop.sh for desktop shortcut creation
|
|
|
|
## Desktop Setup
|
|
|
|
The setup-desktop.sh script runs on container startup and:
|
|
- Creates a Desktop folder for the 'abc' user
|
|
- Creates a desktop shortcut named "PM Survey" |