「✨」 feat: finished last containers
This commit is contained in:
@ -1 +0,0 @@
|
|||||||
#!/bin/sh
|
|
16
srcs/configs/wordpress/entry/configure-wp_redis.sh
Executable file
16
srcs/configs/wordpress/entry/configure-wp_redis.sh
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
|
||||||
|
echo ${REDIS_HOSTNAME}
|
||||||
|
if [ -f "/redis.ok" ]; then
|
||||||
|
echo "[*] redis-cache already installed and configured"
|
||||||
|
else
|
||||||
|
echo "[*] Installing redis-cache plugin"
|
||||||
|
wp --allow-root config set WP_REDIS_HOST ${REDIS_HOSTNAME}
|
||||||
|
wp --allow-root config set WP_REDIS_PORT ${REDIS_PORT}
|
||||||
|
wp --allow-root config set WP_CACHE_KEY_SALT ${WP_URL}
|
||||||
|
wp --allow-root plugin install redis-cache --activate
|
||||||
|
wp --allow-root plugin update --all
|
||||||
|
wp --allow-root redis enable
|
||||||
|
touch /redis.ok
|
||||||
|
fi
|
@ -61,6 +61,8 @@ services:
|
|||||||
- PHP_MEMORY_LIMIT="512M"
|
- PHP_MEMORY_LIMIT="512M"
|
||||||
- PHP_MAX_UPLOAD="50M"
|
- PHP_MAX_UPLOAD="50M"
|
||||||
- PHP_PORT=9000
|
- PHP_PORT=9000
|
||||||
|
- REDIS_HOSTNAME=redis
|
||||||
|
- REDIS_PORT=6379
|
||||||
- TZ=Europe/Paris
|
- TZ=Europe/Paris
|
||||||
volumes:
|
volumes:
|
||||||
- wp-site:/var/www/wordpress
|
- wp-site:/var/www/wordpress
|
||||||
@ -86,6 +88,7 @@ services:
|
|||||||
|
|
||||||
static-site:
|
static-site:
|
||||||
build: docker/bonus/static-site
|
build: docker/bonus/static-site
|
||||||
|
container_name: inception-kanel-supremacy
|
||||||
ports:
|
ports:
|
||||||
- 8080:443
|
- 8080:443
|
||||||
depends_on:
|
depends_on:
|
||||||
@ -100,6 +103,7 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: docker/bonus/borg-backup/Dockerfile
|
dockerfile: docker/bonus/borg-backup/Dockerfile
|
||||||
|
container_name: inception-backup
|
||||||
networks:
|
networks:
|
||||||
- inception
|
- inception
|
||||||
environment:
|
environment:
|
||||||
@ -121,3 +125,43 @@ services:
|
|||||||
- wp-site:/source/wordpress
|
- wp-site:/source/wordpress
|
||||||
- backup:/backup
|
- backup:/backup
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
adminer:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: docker/bonus/adminer/Dockerfile
|
||||||
|
container_name: inception-adminer
|
||||||
|
networks:
|
||||||
|
- inception
|
||||||
|
ports:
|
||||||
|
- 8090:8080
|
||||||
|
depends_on:
|
||||||
|
db:
|
||||||
|
condition: service_healthy
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
redis:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: docker/bonus/redis/Dockerfile
|
||||||
|
container_name: inception-redis
|
||||||
|
networks:
|
||||||
|
- inception
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
ftp:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: docker/bonus/vsftpd/Dockerfile
|
||||||
|
container_name: inception-ftp
|
||||||
|
networks:
|
||||||
|
- inception
|
||||||
|
environment:
|
||||||
|
- VSFTPD_USER=kanel
|
||||||
|
- VSFTPD_PASS=alpine
|
||||||
|
volumes:
|
||||||
|
- wp-site:/var/ftp
|
||||||
|
ports:
|
||||||
|
- 21:21
|
||||||
|
- 30000-30100:30000-30100
|
||||||
|
restart: unless-stopped
|
||||||
|
31
srcs/docker/bonus/adminer/Dockerfile
Normal file
31
srcs/docker/bonus/adminer/Dockerfile
Normal 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"
|
909
srcs/docker/bonus/adminer/adminer-4.17.1-mysql.php
Normal file
909
srcs/docker/bonus/adminer/adminer-4.17.1-mysql.php
Normal file
File diff suppressed because one or more lines are too long
@ -17,6 +17,9 @@ RUN cd /build \
|
|||||||
FROM scratch
|
FROM scratch
|
||||||
ADD docker/alpine/alpine-minirootfs-3.21.2-x86_64.tar.gz /
|
ADD docker/alpine/alpine-minirootfs-3.21.2-x86_64.tar.gz /
|
||||||
|
|
||||||
|
LABEL version="0.1"
|
||||||
|
LABEL maintainer="KeyZox"
|
||||||
|
|
||||||
RUN mkdir -p /backup \
|
RUN mkdir -p /backup \
|
||||||
&& mkdir -p /source \
|
&& mkdir -p /source \
|
||||||
&& mkdir /docker-entrypoint.d \
|
&& mkdir /docker-entrypoint.d \
|
||||||
|
15
srcs/docker/bonus/redis/Dockerfile
Normal file
15
srcs/docker/bonus/redis/Dockerfile
Normal 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"]
|
18
srcs/docker/bonus/vsftpd/Dockerfile
Normal file
18
srcs/docker/bonus/vsftpd/Dockerfile
Normal 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" ]
|
28
srcs/docker/bonus/vsftpd/entry.sh
Normal file
28
srcs/docker/bonus/vsftpd/entry.sh
Normal 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 "$@"
|
25
srcs/docker/bonus/vsftpd/vsftpd.conf
Normal file
25
srcs/docker/bonus/vsftpd/vsftpd.conf
Normal 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
|
@ -44,4 +44,4 @@ WORKDIR /var/lib/mysql
|
|||||||
|
|
||||||
EXPOSE 3306
|
EXPOSE 3306
|
||||||
CMD [ "mariadbd", "--user=mysql" ]
|
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
|
||||||
|
@ -29,7 +29,7 @@ RUN set -x \
|
|||||||
php84 php84-mysqli php84-fpm php84-json \
|
php84 php84-mysqli php84-fpm php84-json \
|
||||||
php84-zlib php84-session php84-dom \
|
php84-zlib php84-session php84-dom \
|
||||||
php84-xmlreader php84-pdo php84-gd \
|
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 \
|
&& curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
|
||||||
&& chmod +x wp-cli.phar \
|
&& chmod +x wp-cli.phar \
|
||||||
&& mv wp-cli.phar /usr/local/bin/wp \
|
&& mv wp-cli.phar /usr/local/bin/wp \
|
||||||
@ -65,4 +65,4 @@ STOPSIGNAL SIGQUIT
|
|||||||
|
|
||||||
EXPOSE 9000
|
EXPOSE 9000
|
||||||
CMD [ "php-fpm84", "-F" ]
|
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
|
||||||
|
Reference in New Issue
Block a user