talkyard-web (sha256:0dc253a48f46dc7c6500c7ad7200474337a2920fe204fa548a60830f2dca2040)

Published 2026-07-20 03:27:06 +00:00 by ivan

Installation

docker pull forgejo.ivanthegeek.com/ivan/talkyard-web@sha256:0dc253a48f46dc7c6500c7ad7200474337a2920fe204fa548a60830f2dca2040
sha256:0dc253a48f46dc7c6500c7ad7200474337a2920fe204fa548a60830f2dca2040

Image layers

ADD alpine-minirootfs-3.22.3-aarch64.tar.gz / # buildkit
CMD ["/bin/sh"]
LABEL org.opencontainers.image.title=Talkyard Web io.talkyard.edition=se io.talkyard.version=1
RUN /bin/sh -c apk add --no-cache --virtual .build_deps build-base coreutils geoip-dev linux-headers make perl-dev readline-dev openssl3-dev pcre2-dev zlib-dev gettext # buildkit
RUN /bin/sh -c apk add --no-cache curl geoip libgcc openssl perl tzdata zlib bash tree net-tools gdb busybox-extras # buildkit
COPY openresty/source /tmp/openresty-source # buildkit
ARG CONFIG= --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --user=nginx --group=nginx --with-http_auth_request_module --with-http_gzip_static_module --with-http_mp4_module --with-http_realip_module --with-http_ssl_module --with-http_stub_status_module --with-http_v2_module --with-pcre-jit --with-stream --with-stream_ssl_module --with-threads --without-http_rds_json_module --without-http_rds_csv_module --without-lua_rds_parser --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --without-http_autoindex_module --without-http_ssi_module --without-http_fastcgi_module --without-http_scgi_module --without-http_uwsgi_module --without-http_memcached_module --without-lua_resty_memcached --without-lua_resty_mysql
RUN |1 CONFIG= --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --user=nginx --group=nginx --with-http_auth_request_module --with-http_gzip_static_module --with-http_mp4_module --with-http_realip_module --with-http_ssl_module --with-http_stub_status_module --with-http_v2_module --with-pcre-jit --with-stream --with-stream_ssl_module --with-threads --without-http_rds_json_module --without-http_rds_csv_module --without-lua_rds_parser --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --without-http_autoindex_module --without-http_ssi_module --without-http_fastcgi_module --without-http_scgi_module --without-http_uwsgi_module --without-http_memcached_module --without-lua_resty_memcached --without-lua_resty_mysql /bin/sh -c addgroup -S nginx && adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx && cd /tmp/openresty-source && ./configure $CONFIG --with-cc-opt='-ggdb' && make -j$(getconf _NPROCESSORS_ONLN) && make install && rm -f /etc/nginx/fastcgi* /etc/nginx/koi-* /etc/nginx/scgi_params* /etc/nginx/uwsgi_params* /etc/nginx/win-utf && mkdir /etc/nginx/sites-available /etc/nginx/sites-enabled && mv /usr/bin/envsubst /tmp/ && runDeps="$( scanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' )" && apk add --no-cache --virtual .nginx_rundeps $runDeps && apk del .build_deps && mv /tmp/envsubst /usr/local/bin/ && mkdir -p /var/run/openresty && apk add --no-cache tzdata && mkdir -p /var/log/nginx && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && echo # buildkit
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/openresty/luajit/bin:/usr/local/openresty/bin
COPY fonts /opt/talkyard/fonts # buildkit
COPY node_modules/fontsource-open-sans/files/open-sans-????*-300-*.woff* node_modules/fontsource-open-sans/files/open-sans-????*-400-*.woff* node_modules/fontsource-open-sans/files/open-sans-????*-600-*.woff* /opt/talkyard/fonts/open-sans-v2/files/ # buildkit
COPY openresty-pkgs/usr-local-openresty-site /usr/local/openresty/site # buildkit
COPY lua-packages/lua-resty-http /opt/lua-packages/lua-resty-http # buildkit
COPY lua-packages/inspect.lua /opt/lua-packages/inspect.lua # buildkit
RUN |1 CONFIG= --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --user=nginx --group=nginx --with-http_auth_request_module --with-http_gzip_static_module --with-http_mp4_module --with-http_realip_module --with-http_ssl_module --with-http_stub_status_module --with-http_v2_module --with-pcre-jit --with-stream --with-stream_ssl_module --with-threads --without-http_rds_json_module --without-http_rds_csv_module --without-lua_rds_parser --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --without-http_autoindex_module --without-http_ssi_module --without-http_fastcgi_module --without-http_scgi_module --without-http_uwsgi_module --without-http_memcached_module --without-lua_resty_memcached --without-lua_resty_mysql /bin/sh -c cd /etc/nginx && rm -fr mime.types.default nginx.conf nginx.conf.default && echo 'alias ll="ls -l"' >> ~/.bashrc && echo 'alias ..="cd .."' >> ~/.bashrc && echo 'alias ...="cd ../.."' >> ~/.bashrc && echo 'alias ....="cd ../../.."' >> ~/.bashrc && echo 'alias .....="cd ../../../.."' >> ~/.bashrc && echo # buildkit
COPY ssl-cert-snakeoil.key /etc/nginx/ # buildkit
COPY ssl-cert-snakeoil.pem /etc/nginx/ # buildkit
COPY html /opt/nginx/html/ # buildkit
COPY server-ssl.conf /etc/nginx/ # buildkit
COPY http-limits.conf /etc/nginx/http-limits.conf.template # buildkit
COPY server-limits.conf /etc/nginx/server-limits.conf.template # buildkit
COPY server-locations.conf /etc/nginx/server-locations.conf.template # buildkit
COPY nginx.conf /etc/nginx/nginx.conf.template # buildkit
COPY run-envsubst-gen-keys-exec-nginx.sh /etc/nginx/ # buildkit
RUN |1 CONFIG= --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --user=nginx --group=nginx --with-http_auth_request_module --with-http_gzip_static_module --with-http_mp4_module --with-http_realip_module --with-http_ssl_module --with-http_stub_status_module --with-http_v2_module --with-pcre-jit --with-stream --with-stream_ssl_module --with-threads --without-http_rds_json_module --without-http_rds_csv_module --without-lua_rds_parser --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --without-http_autoindex_module --without-http_ssi_module --without-http_fastcgi_module --without-http_scgi_module --without-http_uwsgi_module --without-http_memcached_module --without-lua_resty_memcached --without-lua_resty_mysql /bin/sh -c chmod ugo+x /etc/nginx/run-envsubst-gen-keys-exec-nginx.sh # buildkit
ENV TY_NGX_LIMIT_CONN_PER_IP=60 TY_NGX_LIMIT_CONN_PER_SERVER=10000 TY_NGX_LIMIT_REQ_PER_IP=30 TY_NGX_LIMIT_REQ_PER_IP_BURST=200 TY_NGX_LIMIT_REQ_PER_SERVER=200 TY_NGX_LIMIT_REQ_PER_SERVER_BURST=2000 TY_NGX_LIMIT_REQ_BODY_SIZE=25m TY_NGX_LIMIT_RATE=50k TY_NGX_LIMIT_RATE_AFTER=5m TY_MAX_AGE_YEAR=max-age=2592000, s-maxage=2592000, public TY_MAX_AGE_MONTH=max-age=2592000, s-maxage=2592000, public TY_MAX_AGE_WEEK=max-age=604800, s-maxage=604800, public TY_MAX_AGE_DAY=max-age=86400, s-maxage=86400, public TY_MAX_AGE_HOUR=max-age=3600, s-maxage=3600, public TY_MAX_AGE_15MIN=max-age=900, s-maxage=900, public
COPY ty-media /opt/talkyard/ty-media # buildkit
COPY ty-lua /opt/talkyard/lua/ # buildkit
COPY assets /opt/talkyard/assets # buildkit
EXPOSE [443/tcp 80/tcp]
HEALTHCHECK {Test:[CMD-SHELL curl --fail --silent --show-error http://localhost:80/-/ping-nginx || exit 1] Interval:30s Timeout:5s StartPeriod:2m0s StartInterval:5s Retries:5}
CMD ["/etc/nginx/run-envsubst-gen-keys-exec-nginx.sh"]

Labels

Key Value
com.docker.compose.project tyd1
com.docker.compose.service web
com.docker.compose.version 5.3.1
io.talkyard.edition se
io.talkyard.version 1
org.opencontainers.image.title Talkyard Web
Details
Container
2026-07-20 03:27:06 +00:00
0
OCI / Docker
linux/arm64
190 MiB
Versions (2) View all