「✨」 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_MAX_UPLOAD="50M"
|
||||
- PHP_PORT=9000
|
||||
- REDIS_HOSTNAME=redis
|
||||
- REDIS_PORT=6379
|
||||
- TZ=Europe/Paris
|
||||
volumes:
|
||||
- wp-site:/var/www/wordpress
|
||||
@ -86,6 +88,7 @@ services:
|
||||
|
||||
static-site:
|
||||
build: docker/bonus/static-site
|
||||
container_name: inception-kanel-supremacy
|
||||
ports:
|
||||
- 8080:443
|
||||
depends_on:
|
||||
@ -100,6 +103,7 @@ services:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: docker/bonus/borg-backup/Dockerfile
|
||||
container_name: inception-backup
|
||||
networks:
|
||||
- inception
|
||||
environment:
|
||||
@ -121,3 +125,43 @@ services:
|
||||
- wp-site:/source/wordpress
|
||||
- backup:/backup
|
||||
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
|
||||
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 \
|
||||
|
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
|
||||
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-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
|
||||
|
Reference in New Issue
Block a user