From 7891aa394d955138a575a2aa978db04b65c51566 Mon Sep 17 00:00:00 2001 From: gitea Date: Wed, 16 Sep 2026 21:06:44 +0200 Subject: [PATCH] Upload files to "/" --- Dockerfile | 91 ++++++++++++++++++++++++++++++++++++-------------- compose.yaml | 94 +++++++++++++++++++++++++++++----------------------- 2 files changed, 119 insertions(+), 66 deletions(-) diff --git a/Dockerfile b/Dockerfile index be04164..fc8bd45 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,32 +1,75 @@ -# Image de référence - FROM ubuntu:latest +# Only the instructions RUN, COPY, ADD create layers -# Données méta - LABEL org.opencontainers.image.title="Serveur Apache" - LABEL org.opencontainers.image.version="1" - LABEL org.opencontainers.image.revision="0" - LABEL environment="formation" +# Reference image + FROM ubuntu:latest -# Commandes exécuteés pendant la création de l’image - RUN apt-get update && apt-get upgrade -y - RUN apt install -y apache2 - RUN apt-get clean ; rm -rf /var/lib/apt/lists/* +# Meta data (OCI standard) + LABEL org.opencontainers.image.title="My image" + LABEL org.opencontainers.image.description="My description" + LABEL org.opencontainers.image.authors="Pierre ROYER " + LABEL org.opencontainers.image.url="https://pierreau.fr/pro/" + LABEL org.opencontainers.image.version="2" + LABEL org.opencontainers.image.revision="1" + LABEL org.opencontainers.image.created="2016-11-28T15:00:00+02:00" # UTC+2 (rfc3339) +# Meta data (not standard) + LABEL Environment="production" Site="Nantes" -# Configuration Apache - RUN echo 'ServerName apache.formation.fr:80' >> /etc/apache2/apache2.conf +# Installing packages without interruption (Debian) +# ARG DEBIAN_FRONTEND=noninteractive -# Spécifier de répertoire courant - WORKDIR /var/www/html/ +# Commands executed during image creation +# Change mirror source for best performances + RUN sed -i 's/ports.ubuntu.com/fr.ports.ubuntu.com/' /etc/apt/sources.list.d/ubuntu.sources -# Copie du fichier host vers le conteneur - RUN mv index.html index.html.old - COPY index.html . + RUN apt-get update && apt-get upgrade -y + RUN apt install -y --no-install-recommends \ + apache2 \ + cron \ + curl \ + openssh-server \ + tzdata \ + vim \ + wget -# Commande lancée au démarrage du conteneur -# CMD ["/usr/sbin/apachectl", "-D", "FOREGROUND"] +# Remove unnecessary files to optimize image size + RUN apt clean ; rm -rf /var/lib/apt/lists/* -# Vérifie l’état de santé (pour un serveur web) -# HEALTHCHECK --start-period=30s --interval=1m --timeout=2s --retries=5 CMD curl -f http://localhost/ || exit 1 +# Setup time zone + ENV TZ=Europe/Paris + RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + RUN dpkg-reconfigure --frontend noninteractive tzdata -# Port réseau utilisé - EXPOSE 80/tcp +# Apache configuration + RUN echo 'ServerName apache.pierreau.fr:80' >> /etc/apache2/apache2.conf + +# Copying files from host to container +# RUN cd /var/www/html/ +# RUN mv index.html index.html.old +# COPY index.html /var/www/html/ + +# RUN wget https://cloud.pierreau.fr/index.html + +# Allows adding URLs or archives + ADD https://cloud.pierreau.fr/index.html . + +# Mount points created in container + VOLUME ["/var/www/html", "/etc/apache2", "/var/log/apache2/"] + +# Adding a user + RUN useradd -m -s /bin/bash -p M0t2P@$$ sshuser + USER sshuser +# Specifies default directory + WORKDIR /home/sshuser + RUN echo "df -h" > .profile + USER root + +# ENTRYPOINT command (not overridable by docker run) launched at container startup +# COPY docker-entrypoint.sh /root/ +# RUN chmod 700 /root/docker-entrypoint.sh +# ENTRYPOINT ["/root/docker-entrypoint.sh"] + +# Command (overloadable by docker run) launched when the container starts + CMD ["/usr/sbin/apachectl", "-D", "FOREGROUND"] + +# For information purposes, specifies the ports/protocols used + EXPOSE 80 22/tcp 123/udp diff --git a/compose.yaml b/compose.yaml index 588958d..d6193d2 100644 --- a/compose.yaml +++ b/compose.yaml @@ -1,42 +1,52 @@ -services: - netdata: - image: netdata/netdata - container_name: netdata - - ports: - - 19999:19999 - # PGID is obtained with: grep docker /etc/group | cut -d ':' -f 3 - environment: - - PGID=120 - memswap_limit: 256M - deploy: - resources: - reservations: - cpus: '0.2' - memory: 128M - limits: - cpus: '0.5' - memory: 256M - restart: on-failure - cap_add: - - SYS_PTRACE - security_opt: - - apparmor:unconfined - volumes: - - netdataconfig:/etc/netdata - - netdatalib:/var/lib/netdata - - netdatacache:/var/cache/netdata - - /var/run/docker.sock:/var/run/docker.sock:ro - - /etc/passwd:/host/etc/passwd:ro - - /etc/group:/host/etc/group:ro - - /proc:/host/proc:ro - - /sys:/host/sys:ro - - /etc/os-release:/host/etc/os-release:ro - -volumes: - netdataconfig: - name: netdata-config - netdatalib: - name: netdata-lib - netdatacache: - name: netdata-cache +version: '3.7' + +volumes: + Postgres-Data: + name: Postgres-Data + +services: + postgres: + image: postgres:latest + pull_policy: always + container_name: pierreau.postgres + hostname: postgres + restart: always + # ports: + # - "5432:5432" + expose: + - 5432 + environment: + - POSTGRES_USER=PostgresUser + - POSTGRES_PASSWORD=PostgresPWD + - POSTGRES_DB=PostgresDBname + - TZ=Europe/Paris + volumes: + - Postgres-Data:/var/lib/postgresql/data + - /etc/localtime:/etc/localtime:ro + + pgadmin: + image: dpage/pgadmin4 + container_name: pierreau.pgadmin + depends_on: + - postgres + restart: on-failure + ports: + - "55320:80" + environment: + PGADMIN_DEFAULT_EMAIL: user@pierreau.fr + PGADMIN_DEFAULT_PASSWORD: SuperSecret + + adminer: + image: adminer:latest + container_name: pierreau.adminer + depends_on: + - postgres + restart: on-failure + environment: + ADMINER_DEFAULT_DB_DRIVER: postgresql + ADMINER_DEFAULT_SERVER: pierreau.postgres + ADMINER_DEFAULT_DB_NAME: PostgresDBname + ADMINER_PLUGINS: dump-zip dump-bz2 dump-date + ADMINER_DESIGN: galkaev # nette + ports: + - "55321:8080"