├── 3.1 ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── 3.10 ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── 3.11 ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── 3.12 ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── 3.13 ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── 3.14 ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── 3.15 ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── 3.2 ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── 3.3 ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── 3.4 ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── 3.5 ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── 3.6 ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── 3.7 ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── 3.8 ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── 3.9 ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── README.md ├── do-test.sh ├── edge ├── Dockerfile ├── README.md └── root │ └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── latest ├── root └── etc │ ├── run_always │ └── .ignore │ └── run_once │ └── 00_dump_info.sh ├── test └── tests ├── alpine-common.bats ├── alpine-tests.bats └── runit-test.sh /3.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.1 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | echo "@edge http://dl-4.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories && \ 10 | # read packages and update 11 | apk update && apk upgrade && \ 12 | # fix old apk-tools 13 | apk add --upgrade apk-tools@edge && \ 14 | # add packages 15 | apk add ca-certificates rsyslog logrotate runit@community && \ 16 | # Make info file about this build 17 | mkdir -p /etc/BUILDS/ && \ 18 | printf "Build of nimmis/alpine-micro:3.1, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 19 | # install extra from github, including replacement for process 0 (init) 20 | # add extra package for installation 21 | apk add curl && \ 22 | cd /tmp && \ 23 | # Install utils and init process 24 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 25 | ./docker-utils-master/install.sh && \ 26 | rm -Rf ./docker-utils-master && \ 27 | # Install backup support 28 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 29 | ./backup-master/install.sh all && \ 30 | rm -Rf ./backup-master && \ 31 | # remove extra packages 32 | apk del curl && \ 33 | # fix container bug for syslog 34 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 35 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 36 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 37 | # remove cached info 38 | rm -rf /var/cache/apk/* 39 | 40 | # Expose backup volume 41 | VOLUME /backup 42 | 43 | # Set environment variables. 44 | ENV HOME /root 45 | 46 | # Define working directory. 47 | WORKDIR /root 48 | 49 | # Define default command. 50 | CMD ["/boot.sh"] 51 | 52 | -------------------------------------------------------------------------------- /3.1/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /3.1/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/3.1/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /3.1/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /3.10/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.10 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | # read packages and update 10 | apk update && apk upgrade && \ 11 | # add packages 12 | apk add ca-certificates rsyslog logrotate runit && \ 13 | # Make info file about this build 14 | mkdir -p /etc/BUILDS/ && \ 15 | printf "Build of nimmis/alpine-micro:3.10, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 16 | # install extra from github, including replacement for process 0 (init) 17 | # add extra package for installation 18 | apk add curl && \ 19 | cd /tmp && \ 20 | # Install utils and init process 21 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 22 | ./docker-utils-master/install.sh && \ 23 | rm -Rf ./docker-utils-master && \ 24 | # Install backup support 25 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 26 | ./backup-master/install.sh all && \ 27 | rm -Rf ./backup-master && \ 28 | # remove extra packages 29 | apk del curl && \ 30 | # fix container bug for syslog 31 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 32 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 33 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 34 | # remove cached info 35 | rm -rf /var/cache/apk/* 36 | 37 | # Expose backup volume 38 | VOLUME /backup 39 | 40 | # Set environment variables. 41 | ENV HOME /root 42 | 43 | # Define working directory. 44 | WORKDIR /root 45 | 46 | # Define default command. 47 | CMD ["/boot.sh"] 48 | 49 | -------------------------------------------------------------------------------- /3.10/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /3.10/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/3.10/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /3.10/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /3.11/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.11 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | # read packages and update 10 | apk update && apk upgrade && \ 11 | # add packages 12 | apk add ca-certificates rsyslog logrotate runit && \ 13 | # Make info file about this build 14 | mkdir -p /etc/BUILDS/ && \ 15 | printf "Build of nimmis/alpine-micro:3.11, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 16 | # install extra from github, including replacement for process 0 (init) 17 | # add extra package for installation 18 | apk add curl && \ 19 | cd /tmp && \ 20 | # Install utils and init process 21 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 22 | ./docker-utils-master/install.sh && \ 23 | rm -Rf ./docker-utils-master && \ 24 | # Install backup support 25 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 26 | ./backup-master/install.sh all && \ 27 | rm -Rf ./backup-master && \ 28 | # remove extra packages 29 | apk del curl && \ 30 | # fix container bug for syslog 31 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 32 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 33 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 34 | # remove cached info 35 | rm -rf /var/cache/apk/* 36 | 37 | # Expose backup volume 38 | VOLUME /backup 39 | 40 | # Set environment variables. 41 | ENV HOME /root 42 | 43 | # Define working directory. 44 | WORKDIR /root 45 | 46 | # Define default command. 47 | CMD ["/boot.sh"] 48 | 49 | -------------------------------------------------------------------------------- /3.11/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /3.11/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/3.11/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /3.11/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /3.12/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.12 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | # read packages and update 10 | apk update && apk upgrade && \ 11 | # add packages 12 | apk add ca-certificates rsyslog logrotate runit && \ 13 | # Make info file about this build 14 | mkdir -p /etc/BUILDS/ && \ 15 | printf "Build of nimmis/alpine-micro:3.12, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 16 | # install extra from github, including replacement for process 0 (init) 17 | # add extra package for installation 18 | apk add curl && \ 19 | cd /tmp && \ 20 | # Install utils and init process 21 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 22 | ./docker-utils-master/install.sh && \ 23 | rm -Rf ./docker-utils-master && \ 24 | # Install backup support 25 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 26 | ./backup-master/install.sh all && \ 27 | rm -Rf ./backup-master && \ 28 | # remove extra packages 29 | apk del curl && \ 30 | # fix container bug for syslog 31 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 32 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 33 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 34 | # remove cached info 35 | rm -rf /var/cache/apk/* 36 | 37 | # Expose backup volume 38 | VOLUME /backup 39 | 40 | # Set environment variables. 41 | ENV HOME /root 42 | 43 | # Define working directory. 44 | WORKDIR /root 45 | 46 | # Define default command. 47 | CMD ["/boot.sh"] 48 | 49 | -------------------------------------------------------------------------------- /3.12/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /3.12/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/3.12/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /3.12/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /3.13/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.13 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | # read packages and update 10 | apk update && apk upgrade && \ 11 | # add packages 12 | apk add ca-certificates rsyslog logrotate runit && \ 13 | # Make info file about this build 14 | mkdir -p /etc/BUILDS/ && \ 15 | printf "Build of nimmis/alpine-micro:3.9, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 16 | # install extra from github, including replacement for process 0 (init) 17 | # add extra package for installation 18 | apk add curl && \ 19 | cd /tmp && \ 20 | # Install utils and init process 21 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 22 | ./docker-utils-master/install.sh && \ 23 | rm -Rf ./docker-utils-master && \ 24 | # Install backup support 25 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 26 | ./backup-master/install.sh all && \ 27 | rm -Rf ./backup-master && \ 28 | # remove extra packages 29 | apk del curl && \ 30 | # fix container bug for syslog 31 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 32 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 33 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 34 | # remove cached info 35 | rm -rf /var/cache/apk/* 36 | 37 | # Expose backup volume 38 | VOLUME /backup 39 | 40 | # Set environment variables. 41 | ENV HOME /root 42 | 43 | # Define working directory. 44 | WORKDIR /root 45 | 46 | # Define default command. 47 | CMD ["/boot.sh"] 48 | 49 | -------------------------------------------------------------------------------- /3.13/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /3.13/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/3.13/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /3.13/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /3.14/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.14 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | # read packages and update 10 | apk update && apk upgrade && \ 11 | # add packages 12 | apk add ca-certificates rsyslog logrotate runit && \ 13 | # Make info file about this build 14 | mkdir -p /etc/BUILDS/ && \ 15 | printf "Build of nimmis/alpine-micro:3.14, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 16 | # install extra from github, including replacement for process 0 (init) 17 | # add extra package for installation 18 | apk add curl && \ 19 | cd /tmp && \ 20 | # Install utils and init process 21 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 22 | ./docker-utils-master/install.sh && \ 23 | rm -Rf ./docker-utils-master && \ 24 | # Install backup support 25 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 26 | ./backup-master/install.sh all && \ 27 | rm -Rf ./backup-master && \ 28 | # remove extra packages 29 | apk del curl && \ 30 | # fix container bug for syslog 31 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 32 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 33 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 34 | # remove cached info 35 | rm -rf /var/cache/apk/* 36 | 37 | # Expose backup volume 38 | VOLUME /backup 39 | 40 | # Set environment variables. 41 | ENV HOME /root 42 | 43 | # Define working directory. 44 | WORKDIR /root 45 | 46 | # Define default command. 47 | CMD ["/boot.sh"] 48 | 49 | -------------------------------------------------------------------------------- /3.14/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /3.14/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/3.14/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /3.14/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /3.15/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.15 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | # read packages and update 10 | apk update && apk upgrade && \ 11 | # add packages 12 | apk add ca-certificates rsyslog logrotate runit && \ 13 | # Make info file about this build 14 | mkdir -p /etc/BUILDS/ && \ 15 | printf "Build of nimmis/alpine-micro:3.15, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 16 | # install extra from github, including replacement for process 0 (init) 17 | # add extra package for installation 18 | apk add curl && \ 19 | cd /tmp && \ 20 | # Install utils and init process 21 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 22 | ./docker-utils-master/install.sh && \ 23 | rm -Rf ./docker-utils-master && \ 24 | # Install backup support 25 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 26 | ./backup-master/install.sh all && \ 27 | rm -Rf ./backup-master && \ 28 | # remove extra packages 29 | apk del curl && \ 30 | # fix container bug for syslog 31 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 32 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 33 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 34 | # remove cached info 35 | rm -rf /var/cache/apk/* 36 | 37 | # Expose backup volume 38 | VOLUME /backup 39 | 40 | # Set environment variables. 41 | ENV HOME /root 42 | 43 | # Define working directory. 44 | WORKDIR /root 45 | 46 | # Define default command. 47 | CMD ["/boot.sh"] 48 | 49 | -------------------------------------------------------------------------------- /3.15/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /3.15/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/3.15/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /3.15/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /3.2/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.2 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | echo "@edge http://dl-4.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories && \ 10 | # read packages and update 11 | apk update && apk upgrade && \ 12 | # fix old apk-tools 13 | apk add --upgrade apk-tools@edge && \ 14 | # add packages 15 | apk add ca-certificates rsyslog logrotate runit@community && \ 16 | # Make info file about this build 17 | mkdir -p /etc/BUILDS/ && \ 18 | printf "Build of nimmis/alpine-micro:3.2, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 19 | # install extra from github, including replacement for process 0 (init) 20 | # add extra package for installation 21 | apk add curl && \ 22 | cd /tmp && \ 23 | # Install utils and init process 24 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 25 | ./docker-utils-master/install.sh && \ 26 | rm -Rf ./docker-utils-master && \ 27 | # Install backup support 28 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 29 | ./backup-master/install.sh all && \ 30 | rm -Rf ./backup-master && \ 31 | # remove extra packages 32 | apk del curl && \ 33 | # fix container bug for syslog 34 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 35 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 36 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 37 | # remove cached info 38 | rm -rf /var/cache/apk/* 39 | 40 | # Expose backup volume 41 | VOLUME /backup 42 | 43 | # Set environment variables. 44 | ENV HOME /root 45 | 46 | # Define working directory. 47 | WORKDIR /root 48 | 49 | # Define default command. 50 | CMD ["/boot.sh"] 51 | 52 | -------------------------------------------------------------------------------- /3.2/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /3.2/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/3.2/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /3.2/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /3.3/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.3 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | echo "@edge http://dl-4.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories && \ 10 | # read packages and update 11 | apk update && apk upgrade && \ 12 | # fix old apk-tools 13 | apk add --upgrade apk-tools@edge && \ 14 | # add packages 15 | apk add ca-certificates rsyslog logrotate runit@community && \ 16 | # Make info file about this build 17 | mkdir -p /etc/BUILDS/ && \ 18 | printf "Build of nimmis/alpine-micro:3.3, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 19 | # install extra from github, including replacement for process 0 (init) 20 | # add extra package for installation 21 | apk add curl && \ 22 | cd /tmp && \ 23 | # Install utils and init process 24 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 25 | ./docker-utils-master/install.sh && \ 26 | rm -Rf ./docker-utils-master && \ 27 | # Install backup support 28 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 29 | ./backup-master/install.sh all && \ 30 | rm -Rf ./backup-master && \ 31 | # remove extra packages 32 | apk del curl && \ 33 | # fix container bug for syslog 34 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 35 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 36 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 37 | # disable root login 38 | sed -i 's/^root\:\:/root\:\!\:/' /etc/shadow && \ 39 | # remove cached info 40 | rm -rf /var/cache/apk/* 41 | 42 | # Expose backup volume 43 | VOLUME /backup 44 | 45 | # Set environment variables. 46 | ENV HOME /root 47 | 48 | # Define working directory. 49 | WORKDIR /root 50 | 51 | # Define default command. 52 | CMD ["/boot.sh"] 53 | 54 | -------------------------------------------------------------------------------- /3.3/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /3.3/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/3.3/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /3.3/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /3.4/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.4 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | echo "@edge http://dl-4.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories && \ 10 | # read packages and update 11 | apk update && apk upgrade && \ 12 | # fix old apk-tools 13 | apk add --upgrade apk-tools@edge && \ 14 | # add packages 15 | apk add ca-certificates rsyslog logrotate runit@community && \ 16 | # Make info file about this build 17 | mkdir -p /etc/BUILDS/ && \ 18 | printf "Build of nimmis/alpine-micro:3.3, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 19 | # install extra from github, including replacement for process 0 (init) 20 | # add extra package for installation 21 | apk add curl && \ 22 | cd /tmp && \ 23 | # Install utils and init process 24 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 25 | ./docker-utils-master/install.sh && \ 26 | rm -Rf ./docker-utils-master && \ 27 | # Install backup support 28 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 29 | ./backup-master/install.sh all && \ 30 | rm -Rf ./backup-master && \ 31 | # remove extra packages 32 | apk del curl && \ 33 | # fix container bug for syslog 34 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 35 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 36 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 37 | # disable root login 38 | sed -i 's/^root\:\:/root\:\!\:/' /etc/shadow && \ 39 | # remove cached info 40 | rm -rf /var/cache/apk/* 41 | 42 | # Expose backup volume 43 | VOLUME /backup 44 | 45 | # Set environment variables. 46 | ENV HOME /root 47 | 48 | # Define working directory. 49 | WORKDIR /root 50 | 51 | # Define default command. 52 | CMD ["/boot.sh"] 53 | 54 | -------------------------------------------------------------------------------- /3.4/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /3.4/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/3.4/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /3.4/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /3.5/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.5 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | echo "@edge http://dl-4.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories && \ 10 | # read packages and update 11 | apk update && apk upgrade && \ 12 | # fix old apk-tools 13 | apk add --upgrade apk-tools@edge && \ 14 | # add packages 15 | apk add ca-certificates rsyslog logrotate runit@community && \ 16 | # Make info file about this build 17 | mkdir -p /etc/BUILDS/ && \ 18 | printf "Build of nimmis/alpine-micro:3.3, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 19 | # install extra from github, including replacement for process 0 (init) 20 | # add extra package for installation 21 | apk add curl && \ 22 | cd /tmp && \ 23 | # Install utils and init process 24 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 25 | ./docker-utils-master/install.sh && \ 26 | rm -Rf ./docker-utils-master && \ 27 | # Install backup support 28 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 29 | ./backup-master/install.sh all && \ 30 | rm -Rf ./backup-master && \ 31 | # remove extra packages 32 | apk del curl && \ 33 | # fix container bug for syslog 34 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 35 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 36 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 37 | # disable root login 38 | sed -i 's/^root\:\:/root\:\!\:/' /etc/shadow && \ 39 | # remove cached info 40 | rm -rf /var/cache/apk/* 41 | 42 | # Expose backup volume 43 | VOLUME /backup 44 | 45 | # Set environment variables. 46 | ENV HOME /root 47 | 48 | # Define working directory. 49 | WORKDIR /root 50 | 51 | # Define default command. 52 | CMD ["/boot.sh"] 53 | 54 | -------------------------------------------------------------------------------- /3.5/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /3.5/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/3.5/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /3.5/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /3.6/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.6 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | # read packages and update 10 | apk update && apk upgrade && \ 11 | # add packages 12 | apk add ca-certificates rsyslog logrotate runit && \ 13 | # Make info file about this build 14 | mkdir -p /etc/BUILDS/ && \ 15 | printf "Build of nimmis/alpine-micro:3.6, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 16 | # install extra from github, including replacement for process 0 (init) 17 | # add extra package for installation 18 | apk add curl && \ 19 | cd /tmp && \ 20 | # Install utils and init process 21 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 22 | ./docker-utils-master/install.sh && \ 23 | rm -Rf ./docker-utils-master && \ 24 | # Install backup support 25 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 26 | ./backup-master/install.sh all && \ 27 | rm -Rf ./backup-master && \ 28 | # remove extra packages 29 | apk del curl && \ 30 | # fix container bug for syslog 31 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 32 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 33 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 34 | # remove cached info 35 | rm -rf /var/cache/apk/* 36 | 37 | # Expose backup volume 38 | VOLUME /backup 39 | 40 | # Set environment variables. 41 | ENV HOME /root 42 | 43 | # Define working directory. 44 | WORKDIR /root 45 | 46 | # Define default command. 47 | CMD ["/boot.sh"] 48 | 49 | -------------------------------------------------------------------------------- /3.6/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /3.6/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/3.6/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /3.6/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /3.7/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.7 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | # read packages and update 10 | apk update && apk upgrade && \ 11 | # add packages 12 | apk add ca-certificates rsyslog logrotate runit && \ 13 | # Make info file about this build 14 | mkdir -p /etc/BUILDS/ && \ 15 | printf "Build of nimmis/alpine-micro:3.7, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 16 | # install extra from github, including replacement for process 0 (init) 17 | # add extra package for installation 18 | apk add curl && \ 19 | cd /tmp && \ 20 | # Install utils and init process 21 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 22 | ./docker-utils-master/install.sh && \ 23 | rm -Rf ./docker-utils-master && \ 24 | # Install backup support 25 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 26 | ./backup-master/install.sh all && \ 27 | rm -Rf ./backup-master && \ 28 | # remove extra packages 29 | apk del curl && \ 30 | # fix container bug for syslog 31 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 32 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 33 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 34 | # remove cached info 35 | rm -rf /var/cache/apk/* 36 | 37 | # Expose backup volume 38 | VOLUME /backup 39 | 40 | # Set environment variables. 41 | ENV HOME /root 42 | 43 | # Define working directory. 44 | WORKDIR /root 45 | 46 | # Define default command. 47 | CMD ["/boot.sh"] 48 | 49 | -------------------------------------------------------------------------------- /3.7/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /3.7/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/3.7/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /3.7/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /3.8/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.8 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | # read packages and update 10 | apk update && apk upgrade && \ 11 | # add packages 12 | apk add ca-certificates rsyslog logrotate runit && \ 13 | # Make info file about this build 14 | mkdir -p /etc/BUILDS/ && \ 15 | printf "Build of nimmis/alpine-micro:3.8, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 16 | # install extra from github, including replacement for process 0 (init) 17 | # add extra package for installation 18 | apk add curl && \ 19 | cd /tmp && \ 20 | # Install utils and init process 21 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 22 | ./docker-utils-master/install.sh && \ 23 | rm -Rf ./docker-utils-master && \ 24 | # Install backup support 25 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 26 | ./backup-master/install.sh all && \ 27 | rm -Rf ./backup-master && \ 28 | # remove extra packages 29 | apk del curl && \ 30 | # fix container bug for syslog 31 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 32 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 33 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 34 | # remove cached info 35 | rm -rf /var/cache/apk/* 36 | 37 | # Expose backup volume 38 | VOLUME /backup 39 | 40 | # Set environment variables. 41 | ENV HOME /root 42 | 43 | # Define working directory. 44 | WORKDIR /root 45 | 46 | # Define default command. 47 | CMD ["/boot.sh"] 48 | 49 | -------------------------------------------------------------------------------- /3.8/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /3.8/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/3.8/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /3.8/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /3.9/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.9 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | # read packages and update 10 | apk update && apk upgrade && \ 11 | # add packages 12 | apk add ca-certificates rsyslog logrotate runit && \ 13 | # Make info file about this build 14 | mkdir -p /etc/BUILDS/ && \ 15 | printf "Build of nimmis/alpine-micro:3.9, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 16 | # install extra from github, including replacement for process 0 (init) 17 | # add extra package for installation 18 | apk add curl && \ 19 | cd /tmp && \ 20 | # Install utils and init process 21 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 22 | ./docker-utils-master/install.sh && \ 23 | rm -Rf ./docker-utils-master && \ 24 | # Install backup support 25 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 26 | ./backup-master/install.sh all && \ 27 | rm -Rf ./backup-master && \ 28 | # remove extra packages 29 | apk del curl && \ 30 | # fix container bug for syslog 31 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 32 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 33 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 34 | # remove cached info 35 | rm -rf /var/cache/apk/* 36 | 37 | # Expose backup volume 38 | VOLUME /backup 39 | 40 | # Set environment variables. 41 | ENV HOME /root 42 | 43 | # Define working directory. 44 | WORKDIR /root 45 | 46 | # Define default command. 47 | CMD ["/boot.sh"] 48 | 49 | -------------------------------------------------------------------------------- /3.9/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /3.9/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/3.9/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /3.9/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## microcontainer based on Alpine with working init process 2 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro.svg)](https://microbadger.com/images/nimmis/alpine-micro "Get your own image badge on microbadger.com") 3 | 4 | This is a very small container (total 7.7 Mb) but still have a working init process, crond, syslog and logrotate. This is the base image for all my other microcontainers 5 | 6 | ### Why use this image 7 | 8 | The unix process ID 1 is the process to receive the SIGTERM signal when you execute a 9 | 10 | docker stop 11 | 12 | if the container has the command `CMD ["bash"]` then bash process will get the SIGTERM signal and terminate. 13 | All other processes running on the system will just stop without the possibility to shutdown correclty 14 | 15 | ### runit init process 16 | In this container runit is used to handle starting and shuttning down processes automatically started 17 | 18 | #### Adding your own startscript inside a container 19 | 20 | Add a directory under the directory /etc/service/ that matches the process that should be started. Lets add a nginx start script to the container. First create the directory 21 | 22 | mkdir /etc/service/nginx 23 | 24 | and then create a file named `run` i that directory with the start code fpr nginx 25 | 26 | #!/bin/sh 27 | exec 2>&1 28 | exec /usr/sbin/nginx -c /etc/nginx/nginx.conf -g "daemon off;" 29 | 30 | and make the file executable 31 | 32 | chmod +x /etc/service/nginx/run 33 | 34 | that command will be started automatically when the container is started. Be sure to start the command with flags that keeps it in the foreground otherwise runit will think that the process has ended and try to restart it. 35 | 36 | #### Adding it to the Dockerfile 37 | 38 | The above example is done in a Dockerfile by creating a file i the same directory as the Dockerfile 39 | as nginx.sh containing the code 40 | 41 | #!/bin/sh 42 | exec 2>&1 43 | exec /usr/sbin/nginx -c /etc/nginx/nginx.conf -g "daemon off;" 44 | 45 | and make the file executable 46 | 47 | chmod +x nginx.sh 48 | 49 | and add this lines to Dockerfile 50 | 51 | ADD nginx.sh /etc/service/nginx/run 52 | 53 | #### Environment variables in start script 54 | If you need environment variables from the docker command line (-e,--env=[]) add 55 | 56 | source /etc/envvars 57 | 58 | before you use them in the script file 59 | 60 | In this container i have a scipt that handles the init process an uses the [supervisor system](http://supervisord.org/index.html) to start 61 | the daemons to run and also catch signals (SIGTERM) to shutdown all processes started by supervisord. This is a modified version of 62 | an init script made by Phusion. I've modified it to use supervisor in stead of runit. There are also two directories to run scripts 63 | before any daemon is started. 64 | 65 | #### Run script once /etc/runonce 66 | 67 | All executable in this directory is run at start, after completion the script is removed from the directory 68 | 69 | #### Run script every start /etc/runalways 70 | 71 | All executable in this directory is run at every start of the container, ie, at `docker run` and `docker start` 72 | 73 | #### Permanent output to docker log when starting container 74 | 75 | Each time the container is started the content of the file /tmp/startup.log is displayed so if your startup scripts generate 76 | vital information to be shown please add that information to that file. This information can be retrieved anytime by 77 | executing `docker logs ` 78 | 79 | ### cron daemon 80 | 81 | In many cases there are som need of things happening att given intervalls, default no cron processs is started 82 | in standard images. In this image cron is running together with logrotate to stop the logdfiles to be 83 | to big on log running containers. 84 | 85 | ### rsyslogd 86 | 87 | No all services works without a syslog daemon, if you don't have one running those messages is lost in space, 88 | all messages sent via the syslog daemon is saved in /var/log/syslog 89 | 90 | ### Docker fixes 91 | 92 | Also there are fixed (besideds the init process) assosiated with running linux inside a docker container. 93 | 94 | ### Installation 95 | 96 | This continer should normaly run as a daemon i.e with the `-d` flag attached 97 | 98 | docker run -d nimmis/alpine-micro 99 | 100 | Accessing the container with a shell can be done with 101 | 102 | docker exec -ti /bin/sh 103 | This is the commands used inside nimmis/alpine based containers 104 | for extra functionality 105 | 106 | #### set_tz 107 | 108 | In the default configuration Alpine is set to GMT time, if you need it 109 | to use the corret time you can change to timezone for the container 110 | with this command, syntax is 111 | 112 | set_tz 113 | 114 | To get list of available timezones do 115 | 116 | set_tz list 117 | 118 | 119 | ##### set timezone on startup 120 | 121 | Add the environment variable TIMEZONE to the desired timezone, i.e to set timezone to 122 | CET Stockhome 123 | 124 | docker run -d -e TIMEZONE=Europa/Stockholm nimmis/alpine-micro 125 | 126 | ##### set timezone in running container 127 | 128 | Execute the command on the container as 129 | 130 | docker exec -ti set_tz Europa/Stockholm 131 | 132 | ##### get list of timezones before starting container 133 | 134 | Execute the following command, it will list available timezones and then 135 | remove the container 136 | 137 | docker run --rm nimmis/alpine-micro set_tz list 138 | 139 | ## Issues 140 | 141 | If you have any problems with or questions about this image, please contact us by submitting a ticket through a [GitHub issue](https://github.com/nimmis/docker-alpine-micro/issues "GitHub issue") 142 | 143 | 1. Look to see if someone already filled the bug, if not add a new one. 144 | 2. Add a good title and description with the following information. 145 | - if possible an copy of the output from **cat /etc/BUILDS/*** from inside the container 146 | - any logs relevant for the problem 147 | - how the container was started (flags, environment variables, mounted volumes etc) 148 | - any other information that can be helpful 149 | 150 | ## Contributing 151 | 152 | You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can. 153 | 154 | ## TAGs 155 | 156 | This image only contains the latest versions of Apline, the versions are 157 | nimmis/alpine-micro: where tag is 158 | 159 | | Tag | Alpine version | size | 160 | | ------ | -------------- | ---- | 161 | | latest | latest/3.15 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro.svg)](https://microbadger.com/images/nimmis/alpine-micro "Get your own image badge on microbadger.com") | 162 | | 3.15 | 3.15 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:3.15.svg)](https://microbadger.com/images/nimmis/alpine-micro "Get your own image badge on microbadger.com") | 163 | | 3.14 | 3.14 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:3.14.svg)](https://microbadger.com/images/nimmis/alpine-micro:3.14 "Get your own image badge on microbadger.com") | 164 | | 3.13 | 3.13 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:3.13.svg)](https://microbadger.com/images/nimmis/alpine-micro:3.13 "Get your own image badge on microbadger.com") | 165 | | 3.12 | 3.12 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:3.12.svg)](https://microbadger.com/images/nimmis/alpine-micro:3.12 "Get your own image badge on microbadger.com") | 166 | | 3.11 | 3.11 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:3.11.svg)](https://microbadger.com/images/nimmis/alpine-micro:3.11 "Get your own image badge on microbadger.com") | 167 | | 3.10 | 3.10 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:3.10.svg)](https://microbadger.com/images/nimmis/alpine-micro:3.10 "Get your own image badge on microbadger.com") | 168 | | 3.9 | 3.9 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:3.9.svg)](https://microbadger.com/images/nimmis/alpine-micro:3.9 "Get your own image badge on microbadger.com") | 169 | | 3.8 | 3.8 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:3.8.svg)](https://microbadger.com/images/nimmis/alpine-micro:3.8 "Get your own image badge on microbadger.com") | 170 | | 3.7 | 3.7 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:3.7.svg)](https://microbadger.com/images/nimmis/alpine-micro:3.7 "Get your own image badge on microbadger.com") | 171 | 172 | Depicated (unsecure do not use) 173 | 174 | | Tag | Alpine version | size | 175 | | ------ | -------------- | ---- | 176 | | 3.6 | 3.6 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:3.6.svg)](https://microbadger.com/images/nimmis/alpine-micro:3.6 "Get your own image badge on microbadger.com") | 177 | | 3.5 | 3.5 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:3.5.svg)](https://microbadger.com/images/nimmis/alpine-micro:3.5 "Get your own image badge on microbadger.com") | 178 | | 3.4 | 3.4 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:3.4.svg)](https://microbadger.com/images/nimmis/alpine-micro:3.4 "Get your own image badge on microbadger.com") | 179 | | 3.3 | 3.3 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:3.3.svg)](https://microbadger.com/images/nimmis/alpine-micro:3.3 "Get your own image badge on microbadger.com") | 180 | | 3.2 | 3.2 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:3.2.svg)](https://microbadger.com/images/nimmis/alpine-micro:3.2 "Get your own image badge on microbadger.com") | 181 | | 3.1 | 3.1 | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:3.1.svg)](https://microbadger.com/images/nimmis/alpine-micro:3.1 "Get your own image badge on microbadger.com") | 182 | | edge | edge | [![](https://images.microbadger.com/badges/image/nimmis/alpine-micro:edge.svg)](https://microbadger.com/images/nimmis/alpine-micro:edge "Get your own image badge on microbadger.com") | 183 | 184 | ## Contributors 185 | 186 | - Maximilien Richer 187 | 188 | -------------------------------------------------------------------------------- /do-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # (c) 2020, nimmis 4 | 5 | if [ -z "$1" ] 6 | then 7 | echo "usage: test.sh " 8 | echo 9 | echo "Builds the specified version and do som testing" 10 | exit 1 11 | fi 12 | 13 | TAG=$1 14 | BRANCH=$TAG 15 | [[ $TAG == [0-9]* ]] && BRANCH=v$BRANCH 16 | REPO=nimmis/alpine-micro-test 17 | 18 | # build 19 | docker build --pull -t $REPO:$TAG $TAG/ 20 | 21 | # test 22 | BRANCH=$BRANCH REPO=$REPO ./tests/alpine-common.bats 23 | BRANCH=$BRANCH REPO=$REPO ./tests/alpine-tests.bats 24 | 25 | # remove 26 | docker rmi $REPO:$TAG 27 | 28 | -------------------------------------------------------------------------------- /edge/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:edge 2 | 3 | MAINTAINER nimmis 4 | 5 | COPY root/. / 6 | 7 | RUN echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ 8 | echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \ 9 | 10 | # read packages and update 11 | apk update && apk upgrade && \ 12 | 13 | # add packages 14 | apk add ca-certificates rsyslog logrotate runit && \ 15 | 16 | # Make info file about this build 17 | mkdir -p /etc/BUILDS/ && \ 18 | printf "Build of nimmis/alpine-micro:edge, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/alpine-micro && \ 19 | 20 | # install extra from github, including replacement for process 0 (init) 21 | 22 | # add extra package for installation 23 | apk add curl && \ 24 | cd /tmp && \ 25 | 26 | # Install utils and init process 27 | curl -Ls https://github.com/nimmis/docker-utils/archive/master.tar.gz | tar xfz - && \ 28 | ./docker-utils-master/install.sh && \ 29 | rm -Rf ./docker-utils-master && \ 30 | 31 | # Install backup support 32 | curl -Ls https://github.com/nimmis/backup/archive/master.tar.gz | tar xfz - && \ 33 | ./backup-master/install.sh all && \ 34 | rm -Rf ./backup-master && \ 35 | 36 | # remove extra packages 37 | apk del curl && \ 38 | 39 | # fix container bug for syslog 40 | sed -i "s|\*.emerg|\#\*.emerg|" /etc/rsyslog.conf && \ 41 | sed -i 's/$ModLoad imklog/#$ModLoad imklog/' /etc/rsyslog.conf && \ 42 | sed -i 's/$KLogPermitNonKernelFacility on/#$KLogPermitNonKernelFacility on/' /etc/rsyslog.conf && \ 43 | 44 | # remove cached info 45 | rm -rf /var/cache/apk/* 46 | 47 | # Expose backup volume 48 | VOLUME /backup 49 | 50 | # Set environment variables. 51 | ENV HOME /root 52 | 53 | # Define working directory. 54 | WORKDIR /root 55 | 56 | # Define default command. 57 | CMD ["/boot.sh"] 58 | 59 | -------------------------------------------------------------------------------- /edge/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /edge/root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/edge/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /edge/root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /latest: -------------------------------------------------------------------------------- 1 | 3.15 -------------------------------------------------------------------------------- /root/etc/run_always/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimmis/docker-alpine-micro/cac55ccc22acadd6f8126337d296ef23796d22d7/root/etc/run_always/.ignore -------------------------------------------------------------------------------- /root/etc/run_once/00_dump_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Show information about container to standard output 4 | # 5 | # 6 | # (c) 2017 nimmis 7 | # 8 | 9 | cat /etc/BUILDS/* 10 | 11 | -------------------------------------------------------------------------------- /test: -------------------------------------------------------------------------------- 1 | edge -------------------------------------------------------------------------------- /tests/alpine-common.bats: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bats 2 | 3 | : ${BRANCH:=edge} 4 | VER=${BRANCH#v} 5 | TAG=${VER} 6 | REPO=${REPO} 7 | setup() { 8 | docker history $REPO:$TAG >/dev/null 2>&1 9 | } 10 | 11 | @test "version is correct $VER" { 12 | case $BRANCH in 13 | edge) skip;; 14 | esac 15 | run docker run --rm $REPO:$TAG sh -c '. /etc/os-release; echo ${VERSION_ID%.*}' 16 | [ $status -eq 0 ] 17 | [ "${lines[0]}" = "$VER" ] 18 | } 19 | 20 | @test "package installs cleanly" { 21 | run docker run --rm $REPO:$TAG apk add --no-cache bash 22 | [ $status -eq 0 ] 23 | } 24 | 25 | @test "timezone" { 26 | run docker run --rm $REPO:$TAG date +%Z 27 | [ $status -eq 0 ] 28 | [ "$output" = "UTC" ] 29 | } 30 | 31 | @test "repository list is correct" { 32 | run docker run --rm $REPO:$TAG cat /etc/apk/repositories 33 | [ $status -eq 0 ] 34 | case $BRANCH in 35 | v3.1|v3.2) 36 | [ "${lines[0]}" = "http://dl-cdn.alpinelinux.org/alpine/$BRANCH/main" ] 37 | [ "${lines[1]}" = "@community http://dl-4.alpinelinux.org/alpine/edge/community" ] 38 | ;; 39 | *) 40 | [ "${lines[0]}" = "http://dl-cdn.alpinelinux.org/alpine/$BRANCH/main" ] 41 | [ "${lines[1]}" = "http://dl-cdn.alpinelinux.org/alpine/$BRANCH/community" ] 42 | ;; 43 | esac 44 | } 45 | 46 | @test "cache is empty" { 47 | run docker run --rm $REPO:$TAG sh -c "ls -1 /var/cache/apk | wc -l" 48 | [ $status -eq 0 ] 49 | [ "$output" = "0" ] 50 | } 51 | 52 | @test "root password is disabled with default su" { 53 | run docker run --rm --user nobody $REPO:$TAG su 54 | [ $status -eq 1 ] 55 | } 56 | 57 | @test "root login is disabled" { 58 | run docker run --rm $REPO:$TAG awk -F: '$1=="root"{print $2}' /etc/shadow 59 | [ $status -eq 0 ] 60 | [ "$output" = "!" ] 61 | } 62 | 63 | @test "/dev/null should be missing" { 64 | container=$(docker create $REPO:$TAG) 65 | run sh -c "docker export $container | tar -t dev/null" 66 | [ $status -ne 0 ] 67 | docker rm $container 68 | } 69 | 70 | @test "python installed" { 71 | skip "Not needed for this build" 72 | run docker run --rm $REPO:$TAG python -c 'print "Installed"' 73 | [ $status -eq 0 ] 74 | [ "${lines[0]}" = "Installed" ] 75 | } 76 | -------------------------------------------------------------------------------- /tests/alpine-tests.bats: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bats 2 | 3 | #!/usr/bin/env bats 4 | 5 | : ${BRANCH:=edge} 6 | VER=${BRANCH#v} 7 | TAG=${VER} 8 | REPO=${REPO} 9 | 10 | @test "runit installed" { 11 | 12 | run docker run --rm $REPO:$TAG sh -c 'ls -1 /sbin/runit' 13 | [ "${lines[0]}" = "/sbin/runit" ] 14 | } 15 | 16 | @test "test runit starting crond and rsyslogd" { 17 | 18 | run ./tests/runit-test.sh $REPO:$TAG 19 | [ $status -eq 0 ] 20 | } 21 | -------------------------------------------------------------------------------- /tests/runit-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BUILD=$1 4 | CMD=$(docker run -d $BUILD) 5 | 6 | START_TIME=$SECONDS 7 | ELAPSED_TIME=0 8 | 9 | while [ $ELAPSED_TIME -lt 10 ] && [ "$RES" != "11" ] ; do 10 | crond=$(docker exec $CMD sv status crond 2> /dev/null | grep run | grep crond | wc -l | sed 's/ //g') 11 | rsyslogd=$(docker exec $CMD sv status rsyslogd 2> /dev/null | grep run | grep rsyslogd | wc -l | sed 's/ //g') 12 | 13 | RES="$crond$rsyslogd" 14 | ELAPSED_TIME=$(($SECONDS - $START_TIME)) 15 | sleep 1 16 | done 17 | 18 | 19 | ret=$(docker rm -f $CMD) 20 | 21 | if [ "$RES" != "11" ] ; then 22 | exit 1 23 | fi 24 | 25 | --------------------------------------------------------------------------------