1
0

」 feat: finished last containers

This commit is contained in:
2025-03-04 10:47:25 +01:00
parent 57387462cf
commit 1538afbc7b
12 changed files with 1092 additions and 4 deletions

View File

@ -0,0 +1,31 @@
FROM scratch
ADD docker/alpine/alpine-minirootfs-3.21.2-x86_64.tar.gz /
LABEL version="0.1"
LABEL maintainer="KeyZox"
VOLUME /var/www/adminer
COPY docker/bonus/adminer/adminer-4.17.1-mysql.php /var/www/adminer/index.php
RUN apk update \
&& apk add php84 php84-mysqli php84-session curl \
&& addgroup -S adminer \
&& adduser -S -G adminer adminer \
&& chown -R adminer:adminer /var/www/adminer \
&& chmod 755 /var/www/adminer/index.php
RUN echo "upload_max_filesize = 128M" >> /etc/php84/conf.d/0-upload_large_dumps.ini \
&& echo "post_max_size = 128M" >> /etc/php84/conf.d/0-upload_large_dumps.ini \
&& echo "memory_limit = 1G" >> /etc/php84/conf.d/0-upload_large_dumps.ini \
&& echo "max_execution_time = 600" >> /etc/php84/conf.d/0-upload_large_dumps.ini \
&& echo "max_input_vars = 5000" >> /etc/php84/conf.d/0-upload_large_dumps.ini
WORKDIR "/var/www/adminer"
EXPOSE 8080
STOPSIGNAL SIGINT
USER adminer
CMD [ "php84", "-S", "0.0.0.0:8080", "-t", "/var/www/adminer"]
HEALTHCHECK --interval=30s --timeout=10s --retries=3 --start-period=1s --start-interval=2s CMD curl -f "http://localhost:8080"

File diff suppressed because one or more lines are too long

View File

@ -17,6 +17,9 @@ RUN cd /build \
FROM scratch
ADD docker/alpine/alpine-minirootfs-3.21.2-x86_64.tar.gz /
LABEL version="0.1"
LABEL maintainer="KeyZox"
RUN mkdir -p /backup \
&& mkdir -p /source \
&& mkdir /docker-entrypoint.d \

View File

@ -0,0 +1,15 @@
FROM scratch
ADD docker/alpine/alpine-minirootfs-3.21.2-x86_64.tar.gz /
LABEL version="0.1"
LABEL maintainer="KeyZox"
RUN apk update \
&& apk add redis
RUN echo "maxmemory 256mb" >> /etc/redis.conf \
&& echo "maxmemory-policy allkeys-lru" >> /etc/redis.conf \
&& sed -i -r "s/bind 127.0.0.1//" /etc/redis.conf
EXPOSE 6379
CMD [ "redis-server", "--protected-mode", "no"]

View File

@ -0,0 +1,18 @@
FROM scratch
ADD docker/alpine/alpine-minirootfs-3.21.2-x86_64.tar.gz /
RUN apk add vsftpd
COPY docker/bonus/vsftpd/entry.sh /docker-entrypoint
COPY docker/bonus/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf
RUN chmod +x /docker-entrypoint
EXPOSE 21
EXPOSE 30000-30100
VOLUME /var/ftp
STOPSIGNAL SIGTERM
ENTRYPOINT [ "/docker-entrypoint" ]
CMD [ "vsftpd", "/etc/vsftpd/vsftpd.conf" ]

View File

@ -0,0 +1,28 @@
#!/bin/sh
# Environment variables:
# VSFTPD_USER: Username for the vsftpd user
# VSFTPD_PASSWORD: Password for the vsftpd user
DONE_FILE=/vsftpd.ok
if [ -f "${DONE_FILE}" ]; then
echo "[*] vsftpd already setup, skipping"
else
echo "[*] Creating vsftpd user"
adduser -D $VSFTPD_USER
echo "$VSFTPD_USER:$VSFTPD_PASS" | /usr/sbin/chpasswd > /dev/null
echo "[*] Giving vsftpd user ownership of WordPress data directory"
chown -R "$VSFTPD_USER:$VSFTPD_USER" /var/ftp
echo $VSFTPD_USER | tee -a /etc/vsftpd/vsftpd.userlist > /dev/null
touch ${DONE_FILE}
fi
mkdir /var/run/vsftpd/empty -p
echo "[*] Starting '$@'"
exec "$@"

View File

@ -0,0 +1,25 @@
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
ftpd_banner=Welcome to your WordPress FTP server.
chroot_local_user=YES
allow_writeable_chroot=YES
user_sub_token=$USER
local_root=/var/ftp
listen=YES
listen_port=21
listen_address=0.0.0.0
seccomp_sandbox=NO
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30100
userlist_enable=YES
userlist_file=/etc/vsftpd/vsftpd.userlist
userlist_deny=NO

View File

@ -44,4 +44,4 @@ WORKDIR /var/lib/mysql
EXPOSE 3306
CMD [ "mariadbd", "--user=mysql" ]
HEALTHCHECK --interval=30s --timeout=10s --retries=3 --start-period=1s --start-interval=2s CMD /docker-healthcheck
HEALTHCHECK --interval=30s --timeout=10s --retries=3 --start-period=3s --start-interval=2s CMD /docker-healthcheck

View File

@ -29,7 +29,7 @@ RUN set -x \
php84 php84-mysqli php84-fpm php84-json \
php84-zlib php84-session php84-dom \
php84-xmlreader php84-pdo php84-gd \
php84-opcache php84-ctype \
php84-opcache php84-ctype php84-tokenizer \
&& curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
&& chmod +x wp-cli.phar \
&& mv wp-cli.phar /usr/local/bin/wp \
@ -65,4 +65,4 @@ STOPSIGNAL SIGQUIT
EXPOSE 9000
CMD [ "php-fpm84", "-F" ]
HEALTHCHECK --interval=30s --timeout=10s --retries=3 --start-period=3s --start-interval=2s CMD cgi-fcgi -bind -connect 127.0.0.1:${PHP_PORT:-9000} || exit 1
HEALTHCHECK --interval=30s --timeout=10s --retries=3 --start-period=7s --start-interval=2s CMD cgi-fcgi -bind -connect 127.0.0.1:${PHP_PORT:-9000} || exit 1