Upload 2 files
Browse files- Dockerfile +8 -6
- entry.sh +32 -0
Dockerfile
CHANGED
|
@@ -67,15 +67,17 @@ EXPOSE 22 5900 8006
|
|
| 67 |
|
| 68 |
|
| 69 |
|
| 70 |
-
#
|
| 71 |
-
RUN
|
|
|
|
|
|
|
| 72 |
chmod -R 777 /app /storage && \
|
| 73 |
-
# Create user and give them proper permissions
|
| 74 |
useradd -m -u 1000 user && \
|
| 75 |
-
|
|
|
|
| 76 |
|
| 77 |
-
#
|
| 78 |
-
|
| 79 |
|
| 80 |
|
| 81 |
ENV BOOT="alpine"
|
|
|
|
| 67 |
|
| 68 |
|
| 69 |
|
| 70 |
+
# Install sudo and set up permissions
|
| 71 |
+
RUN apt-get update && \
|
| 72 |
+
apt-get install -y sudo && \
|
| 73 |
+
mkdir -p /app /storage && \
|
| 74 |
chmod -R 777 /app /storage && \
|
|
|
|
| 75 |
useradd -m -u 1000 user && \
|
| 76 |
+
echo "user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
|
| 77 |
+
chown -R user:user /app /storage
|
| 78 |
|
| 79 |
+
# Keep root user for QEMU operations
|
| 80 |
+
# We'll use sudo in the entry script when needed
|
| 81 |
|
| 82 |
|
| 83 |
ENV BOOT="alpine"
|
entry.sh
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env bash
|
| 2 |
+
set -Eeuo pipefail
|
| 3 |
+
|
| 4 |
+
# Check if script is running as root, if not, re-run with sudo
|
| 5 |
+
if [ "$(id -u)" != "0" ]; then
|
| 6 |
+
exec sudo "$0" "$@"
|
| 7 |
+
fi
|
| 8 |
+
|
| 9 |
+
: "${APP:="QEMU"}"
|
| 10 |
+
: "${PLATFORM:="x64"}"
|
| 11 |
+
: "${SUPPORT:="https://github.com/qemus/qemu"}"
|
| 12 |
+
|
| 13 |
+
cd /run
|
| 14 |
+
|
| 15 |
+
. start.sh # Placeholder
|
| 16 |
+
. utils.sh # Load functions
|
| 17 |
+
. reset.sh # Initialize system
|
| 18 |
+
. define.sh # Define images
|
| 19 |
+
. install.sh # Download image
|
| 20 |
+
. disk.sh # Initialize disks
|
| 21 |
+
. display.sh # Initialize graphics
|
| 22 |
+
. network.sh # Initialize network
|
| 23 |
+
. boot.sh # Configure boot
|
| 24 |
+
. proc.sh # Initialize processor
|
| 25 |
+
. config.sh # Configure arguments
|
| 26 |
+
|
| 27 |
+
trap - ERR
|
| 28 |
+
|
| 29 |
+
version=$(qemu-system-x86_64 --version | head -n 1 | cut -d '(' -f 1 | awk '{ print $NF }')
|
| 30 |
+
info "Booting image${BOOT_DESC} using QEMU v$version..."
|
| 31 |
+
|
| 32 |
+
exec qemu-system-x86_64 ${ARGS:+ $ARGS}
|