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