Fred808 commited on
Commit
7083cae
·
verified ·
1 Parent(s): 949fca6

Upload 2 files

Browse files
Files changed (2) hide show
  1. Dockerfile +8 -6
  2. entry.sh +32 -0
Dockerfile CHANGED
@@ -67,15 +67,17 @@ EXPOSE 22 5900 8006
67
 
68
 
69
 
70
- # Create necessary directories and set permissions
71
- RUN mkdir -p /app /storage && \
 
 
72
  chmod -R 777 /app /storage && \
73
- # Create user and give them proper permissions
74
  useradd -m -u 1000 user && \
75
- chown -R user:user /app /storage /run
 
76
 
77
- # Switch to non-root user
78
- USER user
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}