mirror of
https://codeberg.org/angestoepselt/pxe-stack.git
synced 2025-05-24 15:16:16 +00:00
67 lines
1.7 KiB
YAML
67 lines
1.7 KiB
YAML
---
|
|
version: '3'
|
|
|
|
# environment values for the core stack
|
|
x-common-keys-core: &common-keys-core
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
restart: always
|
|
|
|
services:
|
|
apt-cacher-ng:
|
|
<<: *common-keys-core # see variables at the top of the yml file
|
|
image: sameersbn/apt-cacher-ng:latest
|
|
container_name: apt-cacher-ng
|
|
ports:
|
|
- "3142:3142"
|
|
volumes:
|
|
- cache:/var/cache/apt-cacher-ng
|
|
- config:/etc/apt-cacher-ng
|
|
healthcheck:
|
|
test: wget --no-verbose --tries=1 --spider http://localhost:3142/acng-report.html || exit 1
|
|
interval: 60s
|
|
retries: 5
|
|
start_period: 20s
|
|
timeout: 10s
|
|
|
|
nginx:
|
|
<<: *common-keys-core # see variables at the top of the yml file
|
|
image: nginx:mainline-alpine3.17-slim
|
|
container_name: webserver
|
|
ports:
|
|
- "${HTTP_PORT:-80}:80"
|
|
volumes:
|
|
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
|
- tftp-data:/app/static:ro
|
|
healthcheck:
|
|
test: wget --no-verbose --tries=1 --spider http://localhost || exit 1
|
|
interval: 60s
|
|
retries: 5
|
|
start_period: 20s
|
|
timeout: 10s
|
|
|
|
tftp:
|
|
<<: *common-keys-core # see variables at the top of the yml file
|
|
image: codeberg.org/angestoepselt/tftp-server:latest
|
|
container_name: tftp
|
|
ports:
|
|
- "69:69/udp"
|
|
volumes:
|
|
- tftp-data:/var/tftp
|
|
# this image has a build in healthcheck
|
|
|
|
git-init:
|
|
image: codeberg.org/angestoepselt/git-alpine:latest
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
container_name: git-init
|
|
volumes:
|
|
- tftp-data:/git
|
|
environment:
|
|
# this repo will be cloned on every restart of the container
|
|
- GIT_REPO_URL=https://git.mailbro.de/angestoepselt/LinuxPXE.git
|
|
|
|
volumes:
|
|
cache:
|
|
config:
|
|
tftp-data:
|