Parcourir la source

aggiornamento e prime prove con k8s

mauro il y a 13 heures
Parent
commit
6b0af1fe12
9 fichiers modifiés avec 546 ajouts et 44 suppressions
  1. 1 0
      console/Dockerfile
  2. 6 6
      console/console.yml
  3. 237 0
      docker-compose.08122025
  4. 218 0
      docker-compose.22112025
  5. 45 9
      docker-compose.yml
  6. 33 23
      lychee/lychee.yml
  7. 2 3
      lychee/start.sh
  8. 3 3
      mariadb/mariadb.yml
  9. 1 0
      wiki/Dockerfile

+ 1 - 0
console/Dockerfile

@@ -0,0 +1 @@
+console.yml

+ 6 - 6
console/console.yml

@@ -1,8 +1,8 @@
 FROM debian:stable
-run apt update -y
-run apt upgrade -y
-run apt install mariadb-client -y
-run apt install bash -y
-COPY console/console.sh /root
+RUN apt update -y
+RUN apt upgrade -y
+RUN apt install mariadb-client -y
+RUN apt install bash -y
+COPY console.sh /root
 RUN chmod a+x /root/console.sh
-CMD ['/bin/bash','/root/setup.sh']
+ENTRYPOINT ["/root/console.sh"]

+ 237 - 0
docker-compose.08122025

@@ -0,0 +1,237 @@
+services:
+  homeassistant:
+    image: ghcr.io/home-assistant/home-assistant:stable
+    privileged: true
+    restart: unless-stopped
+    volumes:
+      - /mnt/Data/Software/Homeassistant:/config
+      - /run/dbus:/run/dbus:ro
+    environment:
+     TZ: Europe/Rome
+    ports:
+      - 8123:8123
+  
+  mariadb:
+    image: mariadb
+    build: 
+      context: mariadb
+      dockerfile: mariadb.yml
+    volumes:
+      - /home/MariaDb/var/lib/mysql:/var/lib/mysql
+    restart: unless-stopped
+    ports:
+      - 3306:3306
+    entrypoint: ['bin/bash','/root/mariadb.sh']
+    environment:
+      MARIADB_PASSWORD: "PassworD"
+
+  console:
+    image: console
+    build:
+      context: console
+      dockerfile: console.yml
+    volumes:
+      - /mnt/Data/Software/Shared_data:/home/shared_data
+      - archivio_data:/mnt/Data
+    #entrypoint: ['bin/bash','/root/console.sh']
+    #restart: unless-stopped 
+
+  backup:
+    image: console
+    build:
+      context: console
+      dockerfile: console.yml
+    volumes:
+      - /mnt/Data/Software/Shared_data:/home/shared_data
+      - archivio_data:/mnt/Data
+    environment:
+      MARIADB_PASSWORD: "PassworD"
+    entrypoint: ['mysqldump','-h','mariadb','--skip-ssl','--password=PassworD',--user='root','--all-databases']
+
+  gogs:
+    image: gogs
+    build: 
+      dockerfile: ./gogs/gogs.yml
+    volumes:
+      - /mnt/Data/Software/Gogs:/home/gogs
+    restart: unless-stopped
+    ports:
+      - 3000:3000
+    entrypoint: ['bin/bash','/root/gogs.sh']
+
+  wiki:
+    image: wiki
+    build: 
+      context: ./wiki
+      dockerfile: wiki.yml
+    volumes:
+      - /mnt/Data/Software/Wiki:/home/wiki
+    restart: unless-stopped
+    ports:
+      - 3100:8080
+    entrypoint: ['bin/bash','/root/wiki.sh']
+
+  password:
+    image: password
+    build: 
+      dockerfile: ./password/password.yml
+    volumes:
+      - /mnt/Data/Software/Password:/home/password
+    restart: unless-stopped
+    ports:
+      - 3020:3020
+    entrypoint: ['bin/bash','/root/password.sh']
+    environment:
+      PASSWORDWEB_PORT: 0.0.0.0:3020
+      PASSWORDWEB_FILE: /home/password/PasswordFiles/multiword.txt
+      PASSWORDWEB_PIN: 8
+
+  syncthing:
+    image: syncthing
+    build: 
+      dockerfile: ./syncthing/syncthing.yml
+    volumes:
+      - /home/Syncthing:/home/syncthing
+      - archivio_data:/mnt/Data/Archivio
+      - scansioni_data:/mnt/Data/Scansioni
+      - software_data:/mnt/Data/Software
+    restart: unless-stopped
+    ports:
+      - 8384:8384
+      - 22000:22000/tcp
+      - 22000:22000/udp
+      - 21027:21027/udp
+    entrypoint: ['/bin/bash','/root/syncthing.sh']
+
+  mqtt:
+    image: mqtt
+    build:
+      dockerfile: ./mqtt/mqtt.yml
+    restart: unless-stopped
+    ports:
+      - 1883:1883
+    entrypoint: ['/bin/bash','/root/mqtt.sh']
+    volumes:
+      - mqtt_etc:/mnt/Software
+
+  ftp:
+    image: ftp
+    build:
+      dockerfile: ./ftp/ftp.yml
+    ports:
+      - 21:21
+      - 49152-49352:49152-49352
+    entrypoint: ['/bin/bash','/root/ftp.sh']
+    volumes: 
+      - archivio_data:/mnt/Archivio
+    restart: unless-stopped
+
+  samba:
+    image: samba
+    build: 
+      dockerfile: ./samba/samba.yml
+    volumes:
+      - samba_etc:/etc/samba
+      - samba_var:/var/lib/samba
+      - archivio_data:/mnt/Data/Archivio
+      - scansioni_data:/mnt/Data/Scansioni
+      - gabriella_data:/mnt/Data/Gabriella
+    restart: unless-stopped
+    ports:
+      - 445:445
+      - 139:139
+    entrypoint: ['/bin/bash','/root/samba.sh']
+
+  registry:
+    image: registry:2
+    volumes:
+      - registry:/var/lib/registry
+    restart: unless-stopped
+    ports:
+      - 5000:5000
+
+  lychee:
+    image: lychee
+    build:
+      dockerfile: ./lychee/lychee.yml
+    restart: unless-stopped
+
+volumes:
+  mariadb_data:
+  gogs_data:
+  shared_data:
+  password_data:
+  syncthing_data:
+
+  archivio_data:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Archivio"
+
+  gabriella_data:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Gabriella"
+
+
+  scansioni_data:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Scansioni"
+
+  software_data:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Software"
+
+  nextcloud_data:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Software/Nextcloud_data"
+
+  nextcloud_etc:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Software/Nextcloud_etc"
+
+  mqtt_etc:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Software"
+
+  samba_etc:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Software/Samba_CC/etc"
+
+  samba_var:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Software/Samba_CC/var"
+
+  registry:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Software/Registry"
+
+

+ 218 - 0
docker-compose.22112025

@@ -0,0 +1,218 @@
+services:
+  homeassistant:
+    image: ghcr.io/home-assistant/home-assistant:stable
+    privileged: true
+    restart: unless-stopped
+    volumes:
+      - /mnt/Data/Software/Homeassistant:/config
+      - /run/dbus:/run/dbus:ro
+    environment:
+     TZ: Europe/Rome
+    ports:
+      - 8123:8123
+  
+  mariadb:
+    image: mariadb
+    build: 
+      dockerfile: ./mariadb/mariadb.yml
+    volumes:
+      - /home/MariaDb/var/lib/mysql:/var/lib/mysql
+    restart: unless-stopped
+    ports:
+      - 3306:3306
+    entrypoint: ['bin/bash','/root/mariadb.sh']
+    environment:
+      MARIADB_PASSWORD: "PassworD"
+
+  console:
+    image: console
+    build:
+      dockerfile: ./console/console.yml
+    volumes:
+      - /mnt/Data/Software/Shared_data:/home/shared_data
+      - archivio_data:/mnt/Data
+    #entrypoint: ['bin/bash','/root/console.sh']
+    #restart: unless-stopped 
+
+  backup:
+    image: console
+    build:
+      dockerfile: ./console/console.yml
+    volumes:
+      - /mnt/Data/Software/Shared_data:/home/shared_data
+      - archivio_data:/mnt/Data
+    environment:
+      MARIADB_PASSWORD: "PassworD"
+    entrypoint: ['mysqldump','-h','mariadb','--skip-ssl','--password=PassworD',--user='root','--all-databases']
+
+  gogs:
+    image: gogs
+    build: 
+      dockerfile: ./gogs/gogs.yml
+    volumes:
+      - /mnt/Data/Software/Gogs:/home/gogs
+    restart: unless-stopped
+    ports:
+      - 3000:3000
+    entrypoint: ['bin/bash','/root/gogs.sh']
+
+  wiki:
+    image: wiki
+    build: 
+      dockerfile: ./wiki/wiki.yml
+    volumes:
+      - /mnt/Data/Software/Wiki:/home/wiki
+    restart: unless-stopped
+    ports:
+      - 3100:8080
+    entrypoint: ['bin/bash','/root/wiki.sh']
+
+  password:
+    image: password
+    build: 
+      dockerfile: ./password/password.yml
+    volumes:
+      - /mnt/Data/Software/Password:/home/password
+    restart: unless-stopped
+    ports:
+      - 3020:3020
+    entrypoint: ['bin/bash','/root/password.sh']
+    environment:
+      PASSWORDWEB_PORT: 0.0.0.0:3020
+      PASSWORDWEB_FILE: /home/password/PasswordFiles/multiword.txt
+      PASSWORDWEB_PIN: 8
+
+  syncthing:
+    image: syncthing
+    build: 
+      dockerfile: ./syncthing/syncthing.yml
+    volumes:
+      - /home/Syncthing:/home/syncthing
+      - archivio_data:/mnt/Data/Archivio
+      - scansioni_data:/mnt/Data/Scansioni
+      - software_data:/mnt/Data/Software
+    restart: unless-stopped
+    ports:
+      - 8384:8384
+    entrypoint: ['/bin/bash','/root/syncthing.sh']
+
+  mqtt:
+    image: mqtt
+    build:
+      dockerfile: ./mqtt/mqtt.yml
+    restart: unless-stopped
+    ports:
+      - 1883:1883
+    entrypoint: ['/bin/bash','/root/mqtt.sh']
+    volumes:
+      - mqtt_etc:/mnt/Software
+
+  ftp:
+    image: ftp
+    build:
+      dockerfile: ./ftp/ftp.yml
+    ports:
+      - 21:21
+      - 49152-49352:49152-49352
+    entrypoint: ['/bin/bash','/root/ftp.sh']
+    volumes: 
+      - archivio_data:/mnt/Archivio
+    restart: unless-stopped
+
+  samba:
+    image: samba
+    build: 
+      dockerfile: ./samba/samba.yml
+    volumes:
+      - samba_etc:/etc/samba
+      - samba_var:/var/lib/samba
+      - archivio_data:/mnt/Data/Archivio
+      - scansioni_data:/mnt/Data/Scansioni
+      - gabriella_data:/mnt/Data/Gabriella
+    restart: unless-stopped
+    ports:
+      - 445:445
+      - 139:139
+    entrypoint: ['/bin/bash','/root/samba.sh']
+
+
+  #lychee:
+  #  image: lychee
+  #  build:
+  #    dockerfile: ./lychee/lychee.yml
+  #  depends_on:
+  #    - nginx
+  #    - php-fpm
+  #  #restart: unless-stopped
+
+volumes:
+  mariadb_data:
+  gogs_data:
+  shared_data:
+  password_data:
+  syncthing_data:
+
+  archivio_data:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Archivio"
+
+  gabriella_data:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Gabriella"
+
+
+  scansioni_data:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Scansioni"
+
+  software_data:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Software"
+
+  nextcloud_data:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Software/Nextcloud_data"
+
+  nextcloud_etc:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Software/Nextcloud_etc"
+
+  mqtt_etc:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Software"
+
+  samba_etc:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Software/Samba_CC/etc"
+
+  samba_var:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Software/Samba_CC/var"
+

+ 45 - 9
docker-compose.yml

@@ -14,7 +14,8 @@ services:
   mariadb:
     image: mariadb
     build: 
-      dockerfile: ./mariadb/mariadb.yml
+      context: mariadb
+      dockerfile: mariadb.yml
     volumes:
       - /home/MariaDb/var/lib/mysql:/var/lib/mysql
     restart: unless-stopped
@@ -27,7 +28,8 @@ services:
   console:
     image: console
     build:
-      dockerfile: ./console/console.yml
+      context: console
+      dockerfile: console.yml
     volumes:
       - /mnt/Data/Software/Shared_data:/home/shared_data
       - archivio_data:/mnt/Data
@@ -37,7 +39,8 @@ services:
   backup:
     image: console
     build:
-      dockerfile: ./console/console.yml
+      context: console
+      dockerfile: console.yml
     volumes:
       - /mnt/Data/Software/Shared_data:/home/shared_data
       - archivio_data:/mnt/Data
@@ -59,7 +62,8 @@ services:
   wiki:
     image: wiki
     build: 
-      dockerfile: ./wiki/wiki.yml
+      context: ./wiki
+      dockerfile: wiki.yml
     volumes:
       - /mnt/Data/Software/Wiki:/home/wiki
     restart: unless-stopped
@@ -94,6 +98,9 @@ services:
     restart: unless-stopped
     ports:
       - 8384:8384
+      - 22000:22000/tcp
+      - 22000:22000/udp
+      - 21027:21027/udp
     entrypoint: ['/bin/bash','/root/syncthing.sh']
 
   mqtt:
@@ -135,15 +142,36 @@ services:
       - 139:139
     entrypoint: ['/bin/bash','/root/samba.sh']
 
+  registry:
+    image: registry:2
+    volumes:
+      - registry:/var/lib/registry
+    restart: unless-stopped
+    ports:
+      - 5000:5000
 
-  #lychee:
+  ##lychee:
   #  image: lychee
   #  build:
-  #    dockerfile: ./lychee/lychee.yml
+  #    context: lychee
+  #    dockerfile: lychee.yml
+  #    args:
+  #      PUID: '1000'
+  #      PGID: '1000'
+  #      USER: 'lychee'
+  #      PHP_TZ: 'Europe/Rome'
+  #  ports:
+  #    - 8080:80
   #  depends_on:
-  #    - nginx
-  #    - php-fpm
-  #  #restart: unless-stopped
+  #    - console
+  #  volumes:
+  #    - //mnt/Data/Software/Lychee/default:/etc/nginx/sites-enabled/default
+  #    - //mnt/Data/Software/Lychee/www.conf:/etc/php/8.4/fpm/pool.d/www.conf
+  #    - //mnt/Data/Software/Lychee/env:/var/www/html/Lychee/.env.x
+  #  restart: unless-stopped
+  #  entrypoint: ['/bin/bash','/root/start.sh']
+
+   
 
 volumes:
   mariadb_data:
@@ -216,3 +244,11 @@ volumes:
       o: "addr=127.0.0.1,soft,rw"
       device: ":/mnt/Data/Software/Samba_CC/var"
 
+  registry:
+    driver: local
+    driver_opts:
+      type: nfs
+      o: "addr=127.0.0.1,soft,rw"
+      device: ":/mnt/Data/Software/Registry"
+
+

+ 33 - 23
lychee/lychee.yml

@@ -1,23 +1,25 @@
 # Environment variables
-ENV PUID='1000'
-ENV PGID='1000'
-ENV USER='lychee'
-ENV PHP_TZ=UTC
+ARG PUID
+ARG PGID
+ARG USER
+ARG PHP_TZ
+
+FROM console:latest
+
+ARG PUID
+ARG PGID
+ARG USER
+ARG PHP_TZ
 
 # Install base dependencies, add user and group, install php libraries
-RUN \
-    set -ev && \
-    apt-get update && \
-    apt-get upgrade -qy && \
-    apt-get install -qy --no-install-recommends\
-    ca-certificates \
-    curl \
-    apt-transport-https && \
-    curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb && \
-    dpkg -i /tmp/debsuryorg-archive-keyring.deb && \
-    sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" > /etc/apt/sources.list.d/php.list' && \
-    apt-get update && \
-    apt-get install -qy --no-install-recommends \
+RUN apt update -y
+RUN apt upgrade -qy
+RUN apt install -qy --no-install-recommends ca-certificates curl apt-transport-https
+RUN curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb 
+RUN dpkg -i /tmp/debsuryorg-archive-keyring.deb 
+RUN sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ trixie main" > /etc/apt/sources.list.d/php.list'
+RUN apt update
+RUN  apt install -qy --no-install-recommends \
     adduser \
     nginx-light \
     php8.4-mysql \
@@ -39,13 +41,21 @@ RUN \
     pngquant \
     gifsicle \
     webp \
-    unzip && \
-    addgroup --gid "$PGID" "$USER" && \
-    adduser --gecos '' --no-create-home --disabled-password --uid "$PUID" --gid "$PGID" "$USER"
+    unzip 
+
+RUN  addgroup --gid "$PGID" "$USER" 
+RUN   adduser --gecos '' --no-create-home --disabled-password --uid "$PUID" --gid "$PGID" "$USER"
+
+#COPY nginx.conf /etc/nginx/nginx.conf
 
-COPY nginx.conf /etc/nginx/nginx.conf
+COPY start.sh /root/start.sh
+RUN chmod +x /root/start.sh
 
-COPY start.sh /start.sh
-RUN chmod +x /start.sh
+RUN apt install -y git
+RUN cd /var/www/html && git clone https://github.com/LycheeOrg/Lychee.git
+RUN apt install composer -y
+RUN cd /var/www/html/Lychee && composer install --no-dev
+RUN apt install npm -y
+RUN cd /var/www/html/Lychee && npm install && npm run build
 
 CMD ["/start.sh"]

+ 2 - 3
lychee/start.sh

@@ -1,7 +1,6 @@
 #!/bin/sh
 
 # Start PHP-FPM
-php-fpm8.4 -D
+/etc/init.d/php-fpm8.4 start
 # Start Nginx in the foreground
-exec nginx
-
+nginx -g 'daemon off;'

+ 3 - 3
mariadb/mariadb.yml

@@ -2,9 +2,9 @@ FROM alpine:latest
 RUN apk add mariadb
 RUN apk add mariadb-client
 RUN apk add bash
-COPY mariadb/mariadb.sh /root
-COPY mariadb/mariadb.conf /root
-COPY mariadb/mariadb-setup.conf /root
+COPY mariadb.sh /root
+COPY mariadb.conf /root
+COPY mariadb-setup.conf /root
 RUN chmod a+x /root/mariadb.sh
 CMD ['/bin/bash','/root/mariadb.sh']
 

+ 1 - 0
wiki/Dockerfile

@@ -0,0 +1 @@
+wiki.yml