Skip to content

Commit 8a259c8

Browse files
committed
light main readme pass
1 parent ffe5e7f commit 8a259c8

1 file changed

Lines changed: 56 additions & 9 deletions

File tree

README.md

Lines changed: 56 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,64 @@ Note that the user doesn't have to download, install, or compile any R packages
127127
128128
### Stop using package sets
129129
```sh
130-
./icrn_manager kernels use none
130+
./icrn_manager kernels use R none
131131
```
132132
133+
## Web Interface
134+
135+
The ICRN Kernel Manager includes a web-based interface for browsing available kernels and searching for packages. The web interface provides an intuitive way to explore the kernel catalog without using the command line.
136+
137+
### Starting the Web Interface with Docker
138+
139+
The web interface runs in a Docker container. To start it:
140+
141+
1. **Build the Docker image:**
142+
```sh
143+
docker build -t icrn-web ./web
144+
```
145+
146+
2. **Run the container:**
147+
```sh
148+
docker run -d -p 8080:80 --name icrn-web icrn-web
149+
```
150+
151+
This starts the container in detached mode, mapping port 8080 on your host to port 80 in the container.
152+
153+
3. **Copy example data into the container (optional):**
154+
155+
If you have example data files (`collated_manifests.json` and `package_index.json`), you can copy them into the running container:
156+
```sh
157+
docker cp web/examples/collated_manifests.json icrn-web:/app/data/
158+
docker cp web/examples/package_index.json icrn-web:/app/data/
159+
```
160+
161+
The web service will automatically detect and load these files.
162+
163+
4. **Access the web interface:**
164+
165+
Open your web browser and navigate to:
166+
```
167+
http://localhost:8080
168+
```
169+
170+
### Web Interface Features
171+
172+
The web interface provides two main views:
173+
174+
- **View Kernels**: Browse available kernels organized by language, view kernel details, and see packages included in each kernel. You can filter and sort packages, and copy commands to get or use specific kernels.
175+
176+
- **View Packages**: Search for packages by name to see which kernels contain them. Results show the language, kernel name, kernel version, and package version for each match.
177+
178+
### Managing the Docker Container
179+
180+
- **Rebuild after making changes:**
181+
```sh
182+
docker stop icrn-web
183+
docker rm icrn-web
184+
docker build -t icrn-web ./web
185+
docker run -d -p 8080:80 --name icrn-web icrn-web
186+
```
187+
133188
## Implementation Details
134189
135190
### Testing
@@ -144,7 +199,6 @@ The project includes a comprehensive test suite to ensure reliability and code q
144199
./tests/run_tests.sh update_r_libs # R library management
145200
./tests/run_tests.sh config # Configuration validation
146201
./tests/run_tests.sh help # Help and basic commands
147-
./tests/run_tests.sh kernel_indexer # Kernel indexing and collation
148202
```
149203
150204
**Test Features:**
@@ -160,10 +214,3 @@ The project includes a comprehensive test suite to ensure reliability and code q
160214
- Better permission checking and validation
161215
162216
For detailed testing information, see the [Contributing Guide](documentation/source/contributing.rst).
163-
164-
### TODO
165-
- save all config paths into the configure json, so they can be commonly shared across shell scripts
166-
- add in a admin-configure readme, for setting up the central repo structure
167-
- better yet, add in a shell script that does this
168-
- add in a 'kernels' subcommand for ipykernel support methods
169-
- add in a {HOME}/.icrn_trash location to move old packages

0 commit comments

Comments
 (0)