diff --git a/Dockerfile b/Dockerfile
index 5b1642b..84984e0 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,14 +3,15 @@ FROM alpine:latest
LABEL maintainer="dselen@nerthus.nl"
# Install Apache & Bash
-RUN apk update && apk add --no-cache apache2 bash
+RUN apk update \
+ && apk add --no-cache apache2 bash
# Suppress the ServerName warning
-RUN echo "ServerName localhost" >> /etc/apache2/httpd.conf
+RUN echo "ServerName localhost" >> /etc/apache2/httpd.conf \
+ && mkdir /app \
+ && mkdir /data
COPY entrypoint.sh /entrypoint.sh
-COPY ntos /var/www/localhost/htdocs/
-
-EXPOSE 80
+COPY ntos /app
ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]
\ No newline at end of file
diff --git a/README.md b/README.md
index 2b8e540..7afa717 100644
--- a/README.md
+++ b/README.md
@@ -18,6 +18,8 @@ Such a remote management system often provides a way to install an agent. To inc
- A Debian installation medium, such as an USB-stick with Debian net(work)-inst(allation) or the CD/DVD media flashed onto it. (For flashing see: [rufus](https://rufus.ie/) / [Balena Etcher](https://www.balena.io/etcher))
+- Networking connectivity. (DHCP is easiest and fastest)
+
### How to setup a webserver with NTOS files:
1. To set everything up, execute the `setup.sh` bash script and answer its questions.
@@ -33,14 +35,33 @@ Such a remote management system often provides a way to install an agent. To inc
> For an example see [preseed-screen](./assets/images/debian12-preseed-screen.png).
-2. Refering to the webserver endpoints below - enter the IP-address or hostname of the webserver followed by `/configs//preseed.cfg`. By default the minimal configuration is available.
+2. Refering to the webserver endpoints below - enter the IP-address or hostname of the webserver (with the port) followed by `/configs//preseed.cfg`. By default the minimal configuration is available.
This makes the [Debian-installer](https://www.debian.org/devel/debian-installer/) use the preseed configuration for its installation.
The only manual input needed for installation is the partitioning, this is because this project has been made for a machine with 4GB total storage.
This means, if you have more than let's say 6GB total storage, then you can choose the Guided Partitioning (expert users can make something themselves).
+3. Now the machine will install itself using the selected configuration from ./ntos/configs (if you selected it correctly).
+ Just wait a while, the older the machine the slowed it will be. Once the installation is complete the machine will restart itself as per instruction of the preseed.
+
+4. Once the machine has succesfully booted into the Desktop Environment (DE) you have chosen (the default is XFCE4) open a terminal and enter:
+ `bash <(curl /configs/)`
+ This will initiate the 'finisher'-script, after which the install should be complete.
+
+ > For examples see the image examples or the [images-directory](./assets/images)
+
+5. Enjoy! Linux is so much fun to use. 😉
+
+## Image examples:
+
+![Preseed-screen](./assets/images/debian12-preseed-screen.png)
+![Post-install desktop](./assets/images/debian12-postboot-desktop.png)
+![Executing finish.sh](./assets/images/debian12-finishsh-progress.png)
+![After installing and rebooting](./assets/images/debian12-postinstallreboot-desktop.png)
+![Credask in action!](./assets/images/debian12-credask-inaction.png)
+
## Webserver endpoint structure:
-The Bash `setup.sh`-script copies the needed files to the specificied location on the system, preferably a webserver root.
+The Bash `install.sh`-script copies the needed files to the specificied location on the system, preferably a webserver root.
The following endpoints are available by default. This is needed for the new machine to set itself up.
@@ -53,4 +74,8 @@ The following endpoints are available by default. This is needed for the new mac
```
The above `/rdp` endpoint requires you to place premade `.rdp` files in the directory before running `setup.sh`.
-Then the finish script will ask for which one to pick.
\ No newline at end of file
+Then the finish script will ask for which one to pick.
+
+## Epilogue
+
+Thanks!
\ No newline at end of file
diff --git a/assets/images/debian12-credask-inaction.png b/assets/images/debian12-credask-inaction.png
new file mode 100644
index 0000000..948acab
Binary files /dev/null and b/assets/images/debian12-credask-inaction.png differ
diff --git a/assets/images/debian12-finishsh-progress.png b/assets/images/debian12-finishsh-progress.png
new file mode 100644
index 0000000..7f1fd0c
Binary files /dev/null and b/assets/images/debian12-finishsh-progress.png differ
diff --git a/assets/images/debian12-postboot-desktop.png b/assets/images/debian12-postboot-desktop.png
new file mode 100644
index 0000000..73b4184
Binary files /dev/null and b/assets/images/debian12-postboot-desktop.png differ
diff --git a/assets/images/debian12-postinstallreboot-desktop.png b/assets/images/debian12-postinstallreboot-desktop.png
new file mode 100644
index 0000000..2c9e818
Binary files /dev/null and b/assets/images/debian12-postinstallreboot-desktop.png differ
diff --git a/docker/compose.yaml b/docker/compose.yaml
new file mode 100644
index 0000000..a7a5fcf
--- /dev/null
+++ b/docker/compose.yaml
@@ -0,0 +1,12 @@
+services:
+ ntos-server:
+ image: test:latest
+ #image: dselen/ntos-server:latest
+ container_name: ntos-server
+ restart: unless-stopped
+ ports:
+ - 8080:80/tcp
+ volumes:
+ - ntos_data:/data
+volumes:
+ ntos_data:
diff --git a/entrypoint.sh b/entrypoint.sh
index 98f6c14..7b0c7c0 100644
--- a/entrypoint.sh
+++ b/entrypoint.sh
@@ -1,6 +1,15 @@
#!/bin/bash
-echo "Starting NTOS-Server..."
+echo "Configuring NTOS-Server..."
+
+cp -rv /app/* /data
+
+ln -s /data/assets /var/www/localhost/htdocs/assets
+ln -s /data/configs /var/www/localhost/htdocs/configs
+ln -s /data/credcon /var/www/localhost/htdocs/credcon
+ln -s /data/rdp /var/www/localhost/htdocs/rdp
+
+echo "Done. Starting Apache2 webserver..."
httpd -D FOREGROUND &