1
Fork 0

Compare commits

..

1 commit

Author SHA1 Message Date
aabfd591fe
fix(deps): update rust crate cli-table to 0.5.0 2025-03-25 13:34:31 +00:00
12 changed files with 284 additions and 0 deletions

15
images/caddy/Dockerfile Normal file
View file

@ -0,0 +1,15 @@
FROM caddy:2.9.1-builder AS builder
RUN xcaddy build \
--with github.com/WeidiDeng/caddy-cloudflare-ip \
--with github.com/caddy-dns/cloudflare
FROM caddy:2.9.1
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
COPY ./entrypoint.sh /entrypoint.sh
ENV CADDYFILE=/etc/caddy/Caddyfile
VOLUME /etc/caddy
ENTRYPOINT ["/entrypoint.sh"]

14
images/caddy/entrypoint.sh Executable file
View file

@ -0,0 +1,14 @@
#!/bin/sh
set -e
CADDYFILE="${CADDYFILE:-/etc/caddy/Caddyfile}"
if [ "$1" = "validate" ] && [ -z "$2" ]; then
exec /usr/bin/caddy validate --config "$CADDYFILE"
elif [ -n "$1" ]; then
exec /usr/bin/caddy "$@"
else
/usr/bin/caddy validate --config "$CADDYFILE"
exec /usr/bin/caddy run --config "$CADDYFILE" --resume
fi

59
images/fava/Dockerfile Normal file
View file

@ -0,0 +1,59 @@
# renovate: datasource=github-tags depName=beancount packageName=beancount/beancount
ARG BEANCOUNT_VERSION=2.3.6
# renovate: datasource=github-tags depName=fava packageName=beancount/fava
ARG FAVA_VERSION=1.30
FROM node:22.14.0-slim AS node_build_env
ARG FAVA_VERSION
RUN set -eux; \
apt-get update; \
apt-get install -y python3-babel git make;
RUN git clone --depth 1 --branch v${FAVA_VERSION} https://github.com/beancount/fava /tmp/build/fava;
WORKDIR /tmp/build/fava
RUN set -eux; \
make -j $(nproc); \
rm -rf .*cache .eggs .tox build dist frontend/node_modules; \
find . -type f -name '*.py[c0]' -delete; \
find . -type d -name "__pycache__" -delete;
FROM python:3.13.2-slim AS build_env
ARG BEANCOUNT_VERSION
ENV PATH "/app/bin:$PATH"
RUN set -eux; \
apt-get update; \
apt-get install -y build-essential libxml2-dev libxslt-dev curl git; \
python -mvenv /app;
COPY --from=node_build_env /tmp/build/fava /tmp/build/fava
RUN git clone --depth 1 --branch ${BEANCOUNT_VERSION} https://github.com/beancount/beancount /tmp/build/beancount;
WORKDIR /tmp/build/beancount
COPY requirements.txt ./
RUN set -eux; \
CFLAGS=-s pip3 install -U /tmp/build/beancount; \
pip3 install -U /tmp/build/fava; \
pip3 install -r requirements.txt; \
pip3 uninstall -y pip; \
rm -r /app/share; \
find /app -name __pycache__ -exec rm -rf -v {} +
FROM python:3.13.2-slim
COPY --from=build_env /app /app
# Default fava port number
EXPOSE 5000
ENV BEAN_ROOT ""
ENV BEANCOUNT_FILE ""
ENV FAVA_HOST "0.0.0.0"
ENV PATH "/app/bin:$PATH"
CMD ["fava"]

View file

@ -0,0 +1,14 @@
# Ensure a compatible version of Beancount, including personal tooling
beancount<3.0.0
beancount-reds-plugins==0.3.0
beanprice==1.2.1
fava_envelope==0.5.9
fava-investor==1.0.1
# renovate: branch=main
git+https://github.com/andreasgerstmayr/fava-dashboards.git@c45503dccc0a86c3767a2c71dfb234c48d5ca905
git+https://github.com/beancount/beangrow.git@b7d9ea9610f5cdf88c0b7dcc956971e12ee8614f
# renovate: branch=main
git+https://github.com/daniel-wells/beancount_checkclosed.git@5abc380703105c12b518144f83a5c4fe25cc8f39
# renovate: branch=main
git+https://github.com/PhracturedBlue/fava-portfolio-summary.git@7d3301619025d735830c389948e5527456050d44
git+https://github.com/scauligi/refried.git@cf64dfa8d116e860a7115d5990522808eeefea91

32
images/fluentd/Dockerfile Normal file
View file

@ -0,0 +1,32 @@
FROM fluent/fluentd:v1.17.1-1.1
USER root
# The recommendation is to install gems here. But in practice,
# the `geoip` plugin will fail if done so, because for unknown reasons,
# it wouldn't be able to find the `geoip2_c` gem, even though that would
# be installed successfully.
# The only way to get that plugin working is to use the `--gemfile` flag
# to have them installed at startup.
# Hence why we need to blow up this image with a bunch of dev dependencies.
RUN set -eux; \
apk add --no-cache --virtual .build-deps \
binutils \
autoconf \
automake \
gcc \
geoip-dev \
gettext \
libmaxminddb-dev \
libtool \
make \
musl-dev \
ruby-dev \
; \
# fluentd needs this directory when installing Gems
mkdir /etc/fluentd; \
chown fluent:fluent /etc/fluentd
USER fluent
COPY Gemfile /etc/fluentd/Gemfile

10
images/fluentd/Gemfile Normal file
View file

@ -0,0 +1,10 @@
source 'https://rubygems.org'
gem 'fluentd'
gem 'geoip2_c'
gem 'fluent-plugin-geoip'
gem 'fluent-plugin-prometheus'
gem 'fluent-plugin-ua-parser'
gem 'fluent-plugin-grafana-loki'
gem 'fluent-plugin-stdout-pp'
gem 'fluent-plugin-parser-logfmt'

14
images/forgejo/Dockerfile Normal file
View file

@ -0,0 +1,14 @@
FROM codeberg.org/forgejo/forgejo:10.0.1
RUN apk --no-cache add \
asciidoctor \
freetype \
freetype-dev \
gcc \
g++ \
libpng \
libffi-dev \
py-pip \
python3-dev \
py3-pip \
py3-pyzmq

19
images/frp/Dockerfile Normal file
View file

@ -0,0 +1,19 @@
# renovate: datasource=github-releases depName=frp packageName=fatedier/frp
ARG FRP_VERSION=0.61.2
FROM scratch AS src
ARG FRP_VERSION
ADD https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_amd64.tar.gz /frp.tar.gz
FROM alpine:3.21
ARG FRP_VERSION
RUN --mount=from=src,target=/src <<EOF
tar -xf /src/frp.tar.gz -C /usr/local/bin --strip-component=1 frp_${FRP_VERSION}_linux_amd64/frpc frp_${FRP_VERSION}_linux_amd64/frps
EOF
VOLUME /etc/frp
WORKDIR /

View file

@ -0,0 +1,19 @@
FROM gotenberg/gotenberg:8.17.3
USER root
RUN set -eux; \
apt-get update -qq; \
DEBIAN_FRONTEND=noninteractive apt-get install -y -qq --no-install-recommends -t bookworm-backports libreoffice-l10n-de; \
sed -i '/de_DE.UTF-8/s/^# //g' /etc/locale.gen; \
locale-gen; \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/log/*;
# Adjust user for Unraid
RUN usermod -u 2000 -g 100 gotenberg
ENV LANG de_DE.UTF-8
ENV LANGUAGE de_DE:de
ENV LC_ALL de_DE.UTF-8
USER gotenberg

View file

@ -0,0 +1,44 @@
FROM nextcloud:31.0.1-apache
# renovate: datasource=github-releases depName=yt-dlp packageName=yt-dlp/yt-dlp versioning=loose
ARG YTDLP_VERSION=2025.03.25
# Debian ships node.js v18, make sure that the pageres version supports that
# renovate: datasource=npm packageName=pageres-cli
ARG PAGERES_VERSION=8.0.0
RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends --no-install-suggests \
aria2 \
cifs-utils \
clamav \
ffmpeg \
libnss3 \
libbz2-dev \
nodejs \
npm \
smbclient \
p7zip \
p7zip-full \
python3-pip \
unzip \
wget \
; \
docker-php-ext-install bz2; \
npm install --global pageres-cli@${PAGERES_VERSION} puppeteer; \
npx puppeteer browsers install chrome; \
curl -L -o /usr/local/bin/youtube-dl https://github.com/yt-dlp/yt-dlp/releases/download/${YTDLP_VERSION}/yt-dlp; \
chmod +rx /usr/local/bin/youtube-dl; \
apt-get remove -y --auto-remove ${PHPIZE_DEPS}; \
rm -rf \
/var/lib/apt/lists/* \
/var/log/*/.log /var/log/apt/* \
/usr/src/php.tar* \
/usr/share/man/* \
/usr/share/doc/* \
/usr/share/doc-base/* \
/usr/local/php/man/* \
/root/.cache \
/root/.npm
COPY ./php-pgsql.ini /etc/php8/conf.d/pgsql.ini

View file

@ -0,0 +1,11 @@
# configuration for PHP PostgreSQL module
extension=pdo_pgsql.so
extension=pgsql.so
[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = 25
pgsql.max_links = 30
pgsql.ignore_notice = 0
pgsql.log_notice = 0

View file

@ -20,6 +20,30 @@
"type": "simple",
"name": "base"
},
{
"type": "simple",
"name": "nextcloud"
},
{
"type": "simple",
"name": "gotenberg"
},
{
"type": "simple",
"name": "fluentd"
},
{
"type": "simple",
"name": "forgejo"
},
{
"type": "simple",
"name": "frp"
},
{
"type": "simple",
"name": "fava"
},
{
"type": "file",
"name": "rust-xwin"
@ -27,6 +51,15 @@
{
"type": "file",
"name": "gitea"
},
{
"type": "simple",
"name": "mx-puppet-steam"
},
{
"type": "simple",
"name": "caddy",
"platform": "linux/amd64,linux/arm64/v8"
}
]
}