mirror of
https://github.com/pi-farm/Docker-PXE-Server.git
synced 2025-12-10 02:08:26 +00:00
init
This commit is contained in:
5
.dockerignore
Normal file
5
.dockerignore
Normal file
@@ -0,0 +1,5 @@
|
||||
.git
|
||||
.gitignore
|
||||
srv
|
||||
RPi-PXE-Server
|
||||
|
||||
31
README.md
Executable file
31
README.md
Executable file
@@ -0,0 +1,31 @@
|
||||
HowToBuild and setup
|
||||
|
||||
Clone this repo: git clone https://gitea.pi-farm.duckdns.org/meik/pxe-server.git
|
||||
and cd into it: cd pxe-server
|
||||
|
||||
run: bash start.sh
|
||||
|
||||
1. choose (b) to build the image
|
||||
2. restart your pc
|
||||
3. edit the p2-include-handle file in RPi-PXE-Server folder (look here: https://github.com/beta-tester/RPi-PXE-Server#p2-include-handle--c2-custom-handle)
|
||||
4. run bash start.sh again an choose (s) for setup
|
||||
5. restart your pc
|
||||
6. run bash start.sh again an choose (u) for update
|
||||
|
||||
afer that, your pc is ready
|
||||
|
||||
|
||||
|
||||
to check, if the volumes are mounted, go into the running container:
|
||||
docker exec -it pxe-container bash
|
||||
- run: df -h
|
||||
- run: showmount -e
|
||||
|
||||
Check if all services are up and running:
|
||||
systemctl status chrony dnsmasq lighttpd nfs-mountd nfs-server nfs-kernel-server
|
||||
|
||||
if not, try to start the services:
|
||||
systemctl start chrony dnsmasq lighttpd nfs-mountd nfs-server nfs-kernel-server
|
||||
|
||||
|
||||
|
||||
9
build_run.sh
Executable file
9
build_run.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
docker stop pxe-container-s6
|
||||
docker rm pxe-container-s6
|
||||
docker rmi pxe-image:s6-test01
|
||||
|
||||
docker build -t pxe-image:s6-test01 .
|
||||
#docker run -it --privileged --net=host --volume ${PWD}/RPi-PXE-Server:/app/RPi-PXE-Server --volume ${PWD}/srv:/srv --name pxe-container-s6 pxe-image:s6-test01
|
||||
##docker exec -it pxe-container-s6 bash
|
||||
32
docker-compose.yml
Normal file
32
docker-compose.yml
Normal file
@@ -0,0 +1,32 @@
|
||||
version: '3.7'
|
||||
services:
|
||||
pxe-container-s6:
|
||||
build: .
|
||||
stdin_open: true
|
||||
tty: true
|
||||
privileged: true
|
||||
network_mode: host
|
||||
volumes:
|
||||
- ${PWD}/samba:/etc/samba
|
||||
- ${PWD}/RPi-PXE-Server:/app/RPi-PXE-Server
|
||||
- ${PWD}/srv:/srv
|
||||
- ${PWD}/media:/media/
|
||||
- /boot:/boot
|
||||
container_name: pxe-container
|
||||
image: pxe-image:s6-test01
|
||||
|
||||
pxe-samba:
|
||||
image: gists/samba-server
|
||||
container_name: samba-server
|
||||
ports:
|
||||
- "0.0.0.0:137:137/udp"
|
||||
- "0.0.0.0:138:138/udp"
|
||||
- "0.0.0.0:139:139/tcp"
|
||||
- "0.0.0.0:445:445/tcp"
|
||||
volumes:
|
||||
- ${PWD}/samba:/etc/samba
|
||||
- ${PWD}/srv:/srv
|
||||
- ${PWD}/media:/media/
|
||||
# restart: unless-stoped
|
||||
depends_on:
|
||||
- pxe-container-s6
|
||||
39
dockerfile
Executable file
39
dockerfile
Executable file
@@ -0,0 +1,39 @@
|
||||
FROM ubuntu:latest
|
||||
|
||||
RUN apt update && apt upgrade -y && apt autoremove -y
|
||||
RUN apt install util-linux nano xz-utils wget systemctl sudo git -y
|
||||
|
||||
ADD https://github.com/just-containers/s6-overlay/releases/download/v3.1.6.0/s6-overlay-noarch.tar.xz /tmp
|
||||
RUN tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz
|
||||
ADD https://github.com/just-containers/s6-overlay/releases/download/v3.1.6.0/s6-overlay-aarch64.tar.xz /tmp
|
||||
RUN tar -C / -Jxpf /tmp/s6-overlay-aarch64.tar.xz
|
||||
|
||||
RUN mkdir /app
|
||||
RUN mkdir /app/RPi-PXE-Server
|
||||
|
||||
COPY root/ /
|
||||
|
||||
#WORKDIR /app
|
||||
#RUN git clone https://github.com/beta-tester/RPi-PXE-Server.git
|
||||
|
||||
#VOLUME /app/RPi-PXE-Server
|
||||
#COPY scripts/ /app/RPi-PXE-Server/
|
||||
|
||||
VOLUME /app/RPi-PXE-Server
|
||||
VOLUME /srv
|
||||
VOLUME /etc/samba
|
||||
VOLUME /boot
|
||||
|
||||
WORKDIR /app/RPi-PXE-Server
|
||||
|
||||
ENTRYPOINT [ "/init" ]
|
||||
|
||||
## docker build -t pxe-image:test01 .
|
||||
## docker run -it -d --privileged --net=host --volume ${PWD}/RPi-PXE-Server:/app/RPi-PXE-Server --volume ${PWD}/srv:/srv --name pxe-container pxe-image:test01
|
||||
## docker exec -it pxe-container bash
|
||||
## systemctl start chrony dnsmasq lighttpd nfs-mountd nfs-server nfs-kernel-server nmbd rsync samba-ad-dc smbd udev && systemctl stop rpcbind
|
||||
|
||||
## /etc/init.d/dnsmasq start
|
||||
## /etc/init.d/chrony start
|
||||
## /etc/init.d/lighttpd start
|
||||
## /etc/init.d/nfs-kernel-server start
|
||||
5
init-script.sh
Normal file
5
init-script.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
systemctl start chrony dnsmasq lighttpd nfs-mountd nfs-server nfs-kernel-server nmbd rsync samba-ad-dc smbd
|
||||
systemctl stop rpcbind
|
||||
|
||||
systemctl status chrony dnsmasq lighttpd nfs-mountd nfs-server nfs-kernel-server nmbd rsync samba-ad-dc smbd
|
||||
BIN
root/etc/.DS_Store
vendored
Executable file
BIN
root/etc/.DS_Store
vendored
Executable file
Binary file not shown.
BIN
root/etc/._.DS_Store
Executable file
BIN
root/etc/._.DS_Store
Executable file
Binary file not shown.
BIN
root/etc/s6-overlay/.DS_Store
vendored
Executable file
BIN
root/etc/s6-overlay/.DS_Store
vendored
Executable file
Binary file not shown.
BIN
root/etc/s6-overlay/._.DS_Store
Executable file
BIN
root/etc/s6-overlay/._.DS_Store
Executable file
Binary file not shown.
6
root/etc/s6-overlay/s6-rc.d/init-pxe-boot-config/run
Executable file
6
root/etc/s6-overlay/s6-rc.d/init-pxe-boot-config/run
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
systemctl start chrony dnsmasq lighttpd nfs-mountd nfs-server nfs-kernel-server nmbd rsync samba-ad-dc smbd
|
||||
systemctl stop rpcbind
|
||||
|
||||
systemctl status chrony dnsmasq lighttpd nfs-mountd nfs-server nfs-kernel-server nmbd rsync samba-ad-dc smbd
|
||||
1
root/etc/s6-overlay/s6-rc.d/init-pxe-boot-config/type
Executable file
1
root/etc/s6-overlay/s6-rc.d/init-pxe-boot-config/type
Executable file
@@ -0,0 +1 @@
|
||||
oneshot
|
||||
1
root/etc/s6-overlay/s6-rc.d/init-pxe-boot-config/up
Executable file
1
root/etc/s6-overlay/s6-rc.d/init-pxe-boot-config/up
Executable file
@@ -0,0 +1 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-pxe-boot-config/run
|
||||
0
root/etc/s6-overlay/s6-rc.d/user/contents.d/init-pxe-boot-config
Executable file
0
root/etc/s6-overlay/s6-rc.d/user/contents.d/init-pxe-boot-config
Executable file
2
samba/gdbcommands
Normal file
2
samba/gdbcommands
Normal file
@@ -0,0 +1,2 @@
|
||||
bt
|
||||
quit
|
||||
64
samba/smb.conf
Normal file
64
samba/smb.conf
Normal file
@@ -0,0 +1,64 @@
|
||||
########################################
|
||||
## mod_install_server
|
||||
#======================= Global Settings =======================
|
||||
[global]
|
||||
|
||||
## Browsing/Identification ###
|
||||
workgroup = WORKGROUP
|
||||
dns proxy = yes
|
||||
enhanced browsing = no
|
||||
|
||||
#### Networking ####
|
||||
interfaces = 192.168.178.0/24 eth0
|
||||
bind interfaces only = yes
|
||||
|
||||
#### Debugging/Accounting ####
|
||||
log file = /var/log/samba/log.%m
|
||||
max log size = 1000
|
||||
syslog = 0
|
||||
panic action = /usr/share/samba/panic-action %d
|
||||
|
||||
####### Authentication #######
|
||||
server role = standalone server
|
||||
obey pam restrictions = yes
|
||||
unix password sync = yes
|
||||
passwd program = /usr/bin/passwd %u
|
||||
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
|
||||
pam password change = yes
|
||||
map to guest = bad user
|
||||
|
||||
########## Domains ###########
|
||||
|
||||
############ Misc ############
|
||||
usershare allow guests = yes
|
||||
|
||||
#======================= Share Definitions =======================
|
||||
[srv]
|
||||
path = /srv
|
||||
comment = /srv folder of pxe-server
|
||||
guest ok = yes
|
||||
guest only = yes
|
||||
browseable = no
|
||||
read only = no
|
||||
create mask = 0644
|
||||
directory mask = 0755
|
||||
force create mode = 0644
|
||||
force directory mode = 0755
|
||||
force user = root
|
||||
force group = root
|
||||
hide dot files = no
|
||||
|
||||
[media]
|
||||
path = /media/
|
||||
comment = /media folder of pxe-server
|
||||
guest ok = yes
|
||||
guest only = yes
|
||||
browseable = no
|
||||
read only = no
|
||||
create mask = 0644
|
||||
directory mask = 0755
|
||||
force create mode = 0644
|
||||
force directory mode = 0755
|
||||
force user =
|
||||
force group =
|
||||
hide dot files = no
|
||||
64
samba/smb.conf.ucf-old
Normal file
64
samba/smb.conf.ucf-old
Normal file
@@ -0,0 +1,64 @@
|
||||
########################################
|
||||
## mod_install_server
|
||||
#======================= Global Settings =======================
|
||||
[global]
|
||||
|
||||
## Browsing/Identification ###
|
||||
workgroup = WORKGROUP
|
||||
dns proxy = yes
|
||||
enhanced browsing = no
|
||||
|
||||
#### Networking ####
|
||||
interfaces = 192.168.178.0/24 eth0
|
||||
bind interfaces only = yes
|
||||
|
||||
#### Debugging/Accounting ####
|
||||
log file = /var/log/samba/log.%m
|
||||
max log size = 1000
|
||||
syslog = 0
|
||||
panic action = /usr/share/samba/panic-action %d
|
||||
|
||||
####### Authentication #######
|
||||
server role = standalone server
|
||||
obey pam restrictions = yes
|
||||
unix password sync = yes
|
||||
passwd program = /usr/bin/passwd %u
|
||||
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
|
||||
pam password change = yes
|
||||
map to guest = bad user
|
||||
|
||||
########## Domains ###########
|
||||
|
||||
############ Misc ############
|
||||
usershare allow guests = yes
|
||||
|
||||
#======================= Share Definitions =======================
|
||||
[srv]
|
||||
path = /srv
|
||||
comment = /srv folder of pxe-server
|
||||
guest ok = yes
|
||||
guest only = yes
|
||||
browseable = no
|
||||
read only = no
|
||||
create mask = 0644
|
||||
directory mask = 0755
|
||||
force create mode = 0644
|
||||
force directory mode = 0755
|
||||
force user = root
|
||||
force group = root
|
||||
hide dot files = no
|
||||
|
||||
[media]
|
||||
path = /media/
|
||||
comment = /media folder of pxe-server
|
||||
guest ok = yes
|
||||
guest only = yes
|
||||
browseable = no
|
||||
read only = no
|
||||
create mask = 0644
|
||||
directory mask = 0755
|
||||
force create mode = 0644
|
||||
force directory mode = 0755
|
||||
force user =
|
||||
force group =
|
||||
hide dot files = no
|
||||
4
scripts/first_run.sh
Normal file
4
scripts/first_run.sh
Normal file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
bash run.sh install
|
||||
exit
|
||||
4
scripts/setup.sh
Normal file
4
scripts/setup.sh
Normal file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
bash run.sh setup
|
||||
exit
|
||||
7
scripts/update.sh
Normal file
7
scripts/update.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
bash run.sh update
|
||||
rpc.mountd
|
||||
df -h
|
||||
showmount -e
|
||||
exit
|
||||
Reference in New Issue
Block a user