Skip to content

Commit 0b5bf9e

Browse files
committed
Add postgresql files
1 parent 4c21922 commit 0b5bf9e

2 files changed

Lines changed: 94 additions & 0 deletions

File tree

postgresql/Dockerfile

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
FROM fedora:41
2+
3+
WORKDIR /root
4+
5+
COPY ./patch/ /root/patch/
6+
7+
RUN dnf -y install\
8+
distribution-gpg-keys glibc-langpack-en glibc-langpack-ja xz git make cmake gcc clang curl perl perl-core tar zip unzip bzip2 which perl-Unix-Process postfix\
9+
postgresql postgresql-server libpq-devel\
10+
vim nano\
11+
libomp-devel ImageMagick-perl perl-GD GraphicsMagick-perl netpbm-progs ImageMagick GraphicsMagick giflib-devel libpng-devel libjpeg-devel gd-devel libwebp-devel icc-profiles-openicc\
12+
libxml2-devel expat-devel openssl-devel openssl gmp-devel\
13+
php-pgsql php php-gd php-mbstring php-pecl-memcache\
14+
ruby ruby-devel\
15+
mod_ssl vsftpd ftp memcached\
16+
&&\
17+
dnf -y update --skip-unavailable &&\
18+
dnf clean all && rm -rf /var/cache/dnf &&\
19+
mkdir src && cd src &&\
20+
curl -LO https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.43/GraphicsMagick-1.3.43.tar.xz &&\
21+
tar xf GraphicsMagick-1.3.43.tar.xz && cd GraphicsMagick-1.3.43 &&\
22+
./configure --prefix=/usr --enable-shared --with-perl --disable-opencl --disable-dependency-tracking --without-x --without-ttf --without-wmf --without-magick-plus-plus --without-bzlib --without-zlib --without-dps --without-fpx --without-jpig --without-lcms2 --without-lzma --without-xml --without-gs --with-quantum-depth=16 && make && make install && cd PerlMagick && perl Makefile.PL && make install && cd ../.. &&\
23+
cd .. && rm -rf src && ldconfig /usr/local/lib &&\
24+
curl -sL https://phar.phpunit.de/phpunit-11.phar > phpunit && chmod +x phpunit &&\
25+
mv phpunit /usr/local/bin/ &&\
26+
(curl -sL https://raw.githubusercontent.com/axllent/mailpit/develop/install.sh | bash) &&\
27+
gem install \
28+
fluentd\
29+
&&\
30+
curl -sL https://cpanmin.us > cpanm && chmod +x cpanm && perl -pi -E 's{http://(www\.cpan\.org|backpan\.perl\.org|cpan\.metacpan\.org|fastapi\.metacpan\.org|cpanmetadb\.plackperl\.org)}{https://$1}g' cpanm && mv cpanm /usr/local/bin &&\
31+
curl -sL --compressed https://git.io/cpm > cpm &&\
32+
chmod +x cpm &&\
33+
mv cpm /usr/local/bin/ &&\
34+
cpanm -v Imager@1.025 &&\
35+
cpanm -n XMLRPC::Lite XML::Atom Net::Server Perl::Critic::Pulp Selenium::Remote::Driver &&\
36+
cpanm -v Archive::Zip@1.65 &&\
37+
cd /root/patch/Crypt-DES-2.07 && cpanm --installdeps . && cpanm . && cd /root &&\
38+
rm -rf /root/patch &&\
39+
cpanm -v \
40+
AnyEvent::FTP::Server Class::Method::Modifiers Capture::Tiny Moo File::chdir Net::LDAP Linux::Pid Data::Section::Simple\
41+
pQuery\
42+
DBD::Pg Test::PostgreSQL\
43+
JSON::XS Starman Imager::File::WEBP Plack::Middleware::ReverseProxy\
44+
JavaScript::Minifier CSS::Minifier\
45+
Fluent::Logger\
46+
&& curl -sLO https://raw.githubusercontent.com/movabletype/movabletype/develop/t/cpanfile &&\
47+
perl -i -nE 'print unless /(?:DBD::mysql|App::Prove::Plugin::MySQLPool)/' cpanfile &&\
48+
cpanm --installdeps -v . &&\
49+
rm -rf cpanfile /root/.perl-cpm /root/.cpanm /root/.qws
50+
51+
ENV LANG=en_US.UTF-8 \
52+
LC_ALL=en_US.UTF-8
53+
54+
RUN set -ex &&\
55+
perl -i -pe \
56+
's!AllowOverride None!AllowOverride All!g; s!#AddEncoding x-gzip \.gz \.tgz!AddEncoding x-gzip .gz .tgz .svgz!g;' \
57+
/etc/httpd/conf/httpd.conf &&\
58+
perl -e 'my ($inifile) = `php --ini` =~ m!Loaded Configuration File:\s+(/\S+/php.ini)!; \
59+
my $ini = do { open my $fh, "<", $inifile; local $/; <$fh> }; \
60+
$ini =~ s!^;\s*date\.timezone =!date\.timezone = "Asia/Tokyo"!m; \
61+
open my $fh, ">", $inifile; print $fh $ini' &&\
62+
sed -i -E 's/inet_protocols = all/inet_protocols = ipv4/' /etc/postfix/main.cf
63+
64+
RUN cd /usr/bin && ./make-dummy-cert /etc/pki/tls/certs/localhost.crt &&\
65+
perl -i -pe 's!SSLCertificateKeyFile /etc/pki/tls/private/localhost.key!!' \
66+
/etc/httpd/conf.d/ssl.conf && cd $WORKDIR
67+
68+
COPY ./docker-entrypoint.sh /
69+
ENTRYPOINT ["/docker-entrypoint.sh"]

postgresql/docker-entrypoint.sh

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/bin/bash
2+
set -e
3+
4+
5+
export PGDATA=/var/lib/postgresql/data
6+
install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
7+
install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
8+
9+
su -c 'initdb --show' postgres
10+
11+
su -c 'pg_ctl -D /var/lib/postgresql/data start' postgres
12+
13+
su -c 'createuser mt' postgres
14+
su -c 'createdb -O mt mt_test' postgres
15+
16+
memcached -d -u root
17+
18+
if [ -f t/cpanfile ]; then
19+
perl -i -nE 'print unless /(?:DBD::mysql|App::Prove::Plugin::MySQLPool)/' t/cpanfile &&\
20+
cpanm --installdeps -n . --cpanfile=t/cpanfile
21+
fi
22+
23+
export MT_TEST_BACKEND=Pg
24+
25+
exec "$@"

0 commit comments

Comments
 (0)