wip: stalled changes
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
389DS_REPOSITORY_URL := https://github.com/thorsten-l/389ds-docker-alpine
|
||||
389DS_VERSION := 2.4.4
|
||||
DOCKER_BUILD_ARGS += --build-arg BUILD_VERSION=$(389DS_VERSION)
|
||||
@@ -0,0 +1,62 @@
|
||||
# from: https://github.com/thorsten-l/389ds-docker-alpine
|
||||
FROM --platform=$BUILDPLATFORM alpine:3.19 as builder
|
||||
ARG TARGETPLATFORM
|
||||
ARG BUILDPLATFORM
|
||||
RUN echo "*** BUILDPLATFORM=$BUILDPLATFORM TARGETPLATFORM=$TARGETPLATFORM"
|
||||
|
||||
ARG BUILD_VERSION
|
||||
ARG DOCKER_BUILD_DIR
|
||||
|
||||
RUN apk add build-base wget libtool autoconf automake openssl-dev cracklib-dev \
|
||||
libevent-dev nspr-dev nss-dev openldap-dev db-dev icu-dev \
|
||||
net-snmp-dev krb5-dev pcre-dev make rsync nss-tools openssl \
|
||||
linux-pam-dev python3 py3-pip python3-dev git py3-setuptools \
|
||||
py3-argcomplete py3-ldap3 py3-dateutil lmdb-dev json-c-dev pcre2-dev
|
||||
|
||||
RUN if [ "$TARGETPLATFORM" != "linux/arm/v7" ]; then apk add rust cargo ; fi
|
||||
|
||||
RUN mkdir /build
|
||||
WORKDIR /build
|
||||
RUN wget "https://github.com/389ds/389-ds-base/archive/refs/tags/389-ds-base-$BUILD_VERSION.tar.gz"
|
||||
RUN tar xvfz "389-ds-base-$BUILD_VERSION.tar.gz"
|
||||
WORKDIR "/build/389-ds-base-389-ds-base-$BUILD_VERSION"
|
||||
|
||||
RUN ./autogen.sh
|
||||
RUN if [ "$TARGETPLATFORM" != "linux/arm/v7" ]; then ./configure --with-openldap --enable-rust ; fi
|
||||
RUN if [ "$TARGETPLATFORM" == "linux/arm/v7" ]; then ./configure --with-openldap; fi
|
||||
|
||||
RUN sed -e 's/.*build_manpages.*/\tcd \$\(srcdir\)\/src\/lib389\; \$\(PYTHON\) setup.py build/g' Makefile > M
|
||||
RUN mv M Makefile
|
||||
|
||||
COPY ${DOCKER_BUILD_DIR}/setup.py src/lib389/setup.py
|
||||
|
||||
RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
|
||||
&& apk add zig@testing
|
||||
|
||||
RUN make -j 8 && make lib389 -j 8 && make install && make lib389-install
|
||||
|
||||
FROM alpine:3.19
|
||||
|
||||
RUN apk add openssl cracklib libevent nspr nss openldap db icu \
|
||||
net-snmp krb5 pcre nss-tools openssl linux-pam python3 \
|
||||
lmdb json-c pcre2 elfutils libffi libexpat
|
||||
|
||||
COPY --from=builder /opt /opt
|
||||
COPY --from=builder /usr/sbin/ds* /usr/sbin/
|
||||
COPY --from=builder /usr/lib/python3.10 /usr/lib/python3.10
|
||||
COPY --from=builder /usr/libexec/dirsrv /usr/libexec/dirsrv
|
||||
|
||||
RUN mkdir -p /data /data/config /data/run /opt/dirsrv/var/run/dirsrv; \
|
||||
ln -s /data/run /opt/dirsrv/var/run/dirsrv; \
|
||||
ln -s /data/ssca /opt/dirsrv/etc/dirsrv/ssca; \
|
||||
ln -s /data/config /opt/dirsrv/etc/dirsrv/slapd-localhost
|
||||
|
||||
HEALTHCHECK --start-period=5m --timeout=5s --interval=5s --retries=2 \
|
||||
CMD /usr/libexec/dirsrv/dscontainer -H
|
||||
|
||||
WORKDIR /data
|
||||
VOLUME /data
|
||||
|
||||
EXPOSE 3389 3636
|
||||
|
||||
CMD [ "/usr/libexec/dirsrv/dscontainer", "-r" ]
|
||||
@@ -0,0 +1,86 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
# --- BEGIN COPYRIGHT BLOCK ---
|
||||
# Copyright (C) 2018 Red Hat, Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# License: GPL (version 3 or any later version).
|
||||
# See LICENSE for details.
|
||||
# --- END COPYRIGHT BLOCK ---
|
||||
|
||||
#
|
||||
# A setup.py file
|
||||
#
|
||||
|
||||
from setuptools import setup, find_packages
|
||||
from os import path
|
||||
|
||||
from setuptools.command.build_py import build_py
|
||||
|
||||
here = path.abspath(path.dirname(__file__))
|
||||
|
||||
# fedora/rhel versioning or PEP440?; ATM semantic versioning
|
||||
# with open(path.join(here, 'VERSION'), 'r') as version_file:
|
||||
# version = version_file.read().strip()
|
||||
|
||||
version = "1.4.0.1"
|
||||
|
||||
with open(path.join(here, 'README.md'), 'r') as f:
|
||||
long_description = f.read()
|
||||
|
||||
setup(
|
||||
name='lib389',
|
||||
license='GPLv3+',
|
||||
version=version,
|
||||
description='A library for accessing and configuring the 389 Directory ' +
|
||||
'Server',
|
||||
long_description=long_description,
|
||||
url='http://www.port389.org/docs/389ds/FAQ/upstream-test-framework.html',
|
||||
|
||||
author='Red Hat Inc., and William Brown',
|
||||
author_email='389-devel@lists.fedoraproject.org',
|
||||
|
||||
classifiers=[
|
||||
'Development Status :: 4 - Beta',
|
||||
'Intended Audience :: Developers',
|
||||
'Operating System :: POSIX :: Linux',
|
||||
'Programming Language :: Python :: 3',
|
||||
'Programming Language :: Python :: 3.5',
|
||||
'Programming Language :: Python :: 3.6',
|
||||
'Programming Language :: Python :: 3.7',
|
||||
'Topic :: Software Development :: Libraries',
|
||||
'Topic :: Software Development :: Quality Assurance',
|
||||
'Topic :: Software Development :: Testing'],
|
||||
|
||||
keywords='389 directory server test configure',
|
||||
packages=find_packages(exclude=['tests*']),
|
||||
|
||||
# find lib389/clitools -name ds\* -exec echo \''{}'\', \;
|
||||
data_files=[
|
||||
('/usr/sbin/', [
|
||||
'cli/dsctl',
|
||||
'cli/dsconf',
|
||||
'cli/dscreate',
|
||||
'cli/dsidm',
|
||||
'cli/openldap_to_ds',
|
||||
]),
|
||||
('/usr/libexec/dirsrv/', [
|
||||
'cli/dscontainer',
|
||||
]),
|
||||
],
|
||||
|
||||
install_requires=[
|
||||
'pyasn1',
|
||||
'pyasn1-modules',
|
||||
'python-dateutil',
|
||||
'argcomplete',
|
||||
'argparse-manpage',
|
||||
'python-ldap',
|
||||
'setuptools',
|
||||
'distro',
|
||||
],
|
||||
|
||||
cmdclass={
|
||||
}
|
||||
|
||||
)
|
||||
@@ -1,4 +1,4 @@
|
||||
ARG IPFS_VERSION=0.14.0
|
||||
ARG IPFS_VERSION=0.24.0
|
||||
FROM ipfs/kubo:v${IPFS_VERSION} as dist
|
||||
LABEL maintainer aynic.os <support+docker@asycn.io>
|
||||
ARG DOCKER_BUILD_DIR
|
||||
@@ -7,6 +7,9 @@ RUN sed -i 's!repo="$IPFS_PATH"!repo="$IPFS_PATH" \&\& mkdir -p "$IPFS_PATH" \&\
|
||||
COPY ${DOCKER_BUILD_DIR}/*.sh /container-init.d/
|
||||
RUN chmod +rx /container-init.d/*.sh
|
||||
|
||||
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
||||
CMD ipfs --api=$(cat $IPFS_PATH/api) dag stat /ipfs/QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn || exit 1
|
||||
|
||||
FROM dist as master
|
||||
ARG DOCKER_BUILD_DIR
|
||||
ARG UID
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
# link: https://github.com/kvaps/docker-rozofs/blob/master/Dockerfile
|
||||
FROM debian:bookworm as master
|
||||
ARG DOCKER_BUILD_DIR
|
||||
|
||||
# Make sure the package repository is up to date and install required packages
|
||||
RUN apt-get -y update \
|
||||
&& apt-get install -fy gnupg lsb-release tini wget \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists
|
||||
|
||||
# Avoid warning during packet installations
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
# Install the release key
|
||||
# Set the RozoFS repository to access RozoFS packages
|
||||
# Install RozoFS manager (optionally) required for all nodes
|
||||
RUN wget -O - http://dl.rozofs.org/deb/devel@rozofs.com.gpg.key | apt-key add - \
|
||||
&& echo deb http://dl.rozofs.org/deb/master $(lsb_release -sc) main | tee /etc/apt/sources.list.d/rozofs.list \
|
||||
&& echo 'APT::Install-Recommends "0";' > /etc/apt/apt.conf.d/01norecommend \
|
||||
&& echo 'APT::Install-Suggests "0";' >> /etc/apt/apt.conf.d/01norecommend \
|
||||
&& echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d \
|
||||
&& apt-get -y update \
|
||||
&& apt-get install -y rozofs-manager* rozofs-* busybox inotify-tools \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists
|
||||
|
||||
|
||||
COPY ${DOCKER_BUILD_DIR}/rozofs.sh /
|
||||
ENTRYPOINT ["/usr/bin/tini", "--"]
|
||||
CMD [ "/rozofs.sh" ]
|
||||
Executable
+50
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
# link: https://github.com/kvaps/docker-rozofs/blob/master/rozofs.sh
|
||||
|
||||
start_daemons() {
|
||||
# restore fstab
|
||||
cp -f /etc/rozofs/fstab /etc/fstab
|
||||
# start rozo agent
|
||||
/etc/init.d/rozofs-manager-agent start
|
||||
# start rozo export
|
||||
if [ "$(grep -c '\(volumes\|exports\) *= *( *) *;' /etc/rozofs/export.conf)" != "2" ]; then
|
||||
/etc/init.d/rozofs-exportd start
|
||||
fi
|
||||
# start rozo storage
|
||||
if [ "$(grep -c 'storages *= *( *) *;' /etc/rozofs/storage.conf)" != "1" ]; then
|
||||
/etc/init.d/rozofs-storaged start
|
||||
fi
|
||||
# start rozo mounts
|
||||
awk '$1 == "rozofsmount" {print $2}' /etc/fstab |
|
||||
while read mount; do
|
||||
mkdir -p "$mount"
|
||||
mount "$mount"
|
||||
done
|
||||
}
|
||||
|
||||
stop_daemons() {
|
||||
# save fstab
|
||||
cp -f /etc/fstab /etc/rozofs/fstab.bak
|
||||
mv /etc/rozofs/fstab.bak /etc/rozofs/fstab
|
||||
awk '$1 == "rozofsmount" {print $2}' /etc/fstab |
|
||||
while read mount; do
|
||||
umount "$mount"
|
||||
done
|
||||
/etc/init.d/rozofs-storaged stop
|
||||
/etc/init.d/rozofs-exportd stop
|
||||
/etc/init.d/rozofs-manager-agent stop
|
||||
}
|
||||
|
||||
# start logging
|
||||
/bin/busybox syslogd
|
||||
tail -F /var/log/messages 2>/dev/null &
|
||||
|
||||
trap stop_daemons EXIT
|
||||
start_daemons
|
||||
|
||||
while inotifywait -e modify /etc/fstab; do
|
||||
cp -f /etc/fstab /etc/rozofs/fstab.bak
|
||||
mv /etc/rozofs/fstab.bak /etc/rozofs/fstab
|
||||
done &
|
||||
|
||||
wait $!
|
||||
@@ -192,6 +192,7 @@ ssh@%:
|
||||
## it updates COMPOSE_FILE with all .yml files of the current stack
|
||||
.PHONY: stack
|
||||
stack:
|
||||
$(call compose-file,docker)
|
||||
$(foreach stackz,$(STACK),$(call docker-stack,$(stackz)))
|
||||
$(call compose-file,$(MYOS_STACK),$(MYOS_STACK_FILE))
|
||||
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@ DOCKER_ENV_ARGS ?= $(docker_env_args)
|
||||
DOCKER_EXEC_OPTIONS ?=
|
||||
DOCKER_GID ?= $(call gid,docker)
|
||||
DOCKER_IMAGE ?= $(USER_DOCKER_IMAGE)
|
||||
DOCKER_MACHINE := $(shell docker run --rm alpine uname -m 2>/dev/null)
|
||||
DOCKER_MACHINE ?= $(shell docker run --rm alpine uname -m 2>/dev/null)
|
||||
DOCKER_NAME ?= $(USER_DOCKER_NAME)
|
||||
DOCKER_NETWORK ?= $(if $(USER_STACK),$(USER),$(DOCKER_NETWORK_PRIVATE))
|
||||
DOCKER_NETWORK_PRIVATE ?= $(USER)-$(ENV)
|
||||
@@ -16,7 +16,7 @@ DOCKER_RUN_NETWORK += --network $(DOCKER_NETWORK)
|
||||
DOCKER_RUN_OPTIONS += --rm
|
||||
DOCKER_RUN_VOLUME ?= $(patsubst %,-v %,$(DOCKER_VOLUME))
|
||||
DOCKER_RUN_WORKDIR ?= $(if $(DOCKER_WORKDIR),-w $(DOCKER_WORKDIR))
|
||||
DOCKER_SYSTEM := $(shell docker run --rm alpine uname -s 2>/dev/null)
|
||||
DOCKER_SYSTEM ?= $(shell docker run --rm alpine uname -s 2>/dev/null)
|
||||
DOCKER_VOLUME ?= /var/run/docker.sock:/var/run/docker.sock
|
||||
DOCKER_WORKDIR ?= $(PWD)
|
||||
ENV_VARS += DOCKER_MACHINE DOCKER_NETWORK DOCKER_NETWORK_PRIVATE DOCKER_NETWORK_PUBLIC DOCKER_SYSTEM HOST_COMPOSE_PROJECT_NAME HOST_COMPOSE_SERVICE_NAME HOST_DOCKER_REPOSITORY HOST_DOCKER_VOLUME HOST_GID HOST_UID USER_COMPOSE_PROJECT_NAME USER_COMPOSE_SERVICE_NAME USER_DOCKER_IMAGE USER_DOCKER_NAME USER_DOCKER_REPOSITORY USER_DOCKER_VOLUME
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ ENV_VARS += USER_DOMAIN USER_HOST user_domain
|
||||
MAKECMDARGS += user-exec user-exec:% user-exec@% user-run user-run:% user-run@%
|
||||
USER_DOMAIN ?= $(patsubst %,$(USER).%,$(DOMAIN))
|
||||
USER_HOME ?= $(shell cd ~ && pwd -P)
|
||||
USER_HOST ?= $(patsubst %,$(USER).%,$(HOST))$(USER_HOST_LB)
|
||||
USER_HOST ?= $(if $(APP_HOST_MULTI_USER),$(patsubst %,$(USER).%,$(HOST)))$(USER_HOST_LB)
|
||||
USER_HOST_LB ?= $(if $(USER_LB),$(space)$(HOST)$(if $(HOST_LB),$(space)$(DOMAIN)),$(if $(HOST_LB),$(space)$(USER_DOMAIN)))
|
||||
USER_PATH ?= $(USER_PATH_PREFIX)
|
||||
USER_URIS ?= $(patsubst %,%/$(USER_PATH),$(USER_HOST))
|
||||
|
||||
@@ -10,5 +10,6 @@ USER_IPFS_SERVICE_5001_TAGS_PROXY_TCP ?= $(call patsublist,%,urlprefix-% pro
|
||||
USER_IPFS_SERVICE_5001_TAGS_URIS ?= $(strip $(if $(call servicenvs,USER_IPFS,5001,URIS),$(call urlprefix,$(USER_IPFS_SERVICE_5001_PATH),,$(call servicenvs,USER_IPFS,5001,URIS))))
|
||||
USER_IPFS_SERVICE_5001_URIS ?= $(call uriprefix,USER_IPFS,5001,$(USER_URIS))
|
||||
USER_IPFS_SERVICE_8080_OPTS ?= $(patsubst %/,%,$(if $(USER_PATH),strip=/$(USER_PATH)))
|
||||
USER_IPFS_SERVICE_8080_PATH ?= ipfs/
|
||||
USER_IPFS_SERVICE_8080_TAGS ?= $(call tagprefix,USER_IPFS,8080)
|
||||
USER_IPFS_SERVICE_8080_URIS ?= $(call uriprefix,USER_IPFS,8080,$(USER_URIS))
|
||||
|
||||
+4
-2
@@ -63,6 +63,8 @@ services:
|
||||
- IPFS_SWARM_TRANSPORTS_NETWORK_RELAY=${USER_IPFS_SWARM_TRANSPORTS_NETWORK_RELAY:-}
|
||||
- LETSENCRYPT_HOST=${USER_IPFS_LETSENCRYPT_HOST}
|
||||
image: ${USER_DOCKER_REPOSITORY}/ipfs:${DOCKER_IMAGE_TAG}
|
||||
healthcheck:
|
||||
timeout: 55s
|
||||
labels:
|
||||
- SERVICE_4001_CHECK_TCP=true
|
||||
- SERVICE_4001_NAME=${USER_COMPOSE_SERVICE_NAME}-ipfs-4001
|
||||
@@ -88,9 +90,9 @@ services:
|
||||
soft: 65536
|
||||
hard: 65536
|
||||
volumes:
|
||||
- dns:/dns:delegated
|
||||
- home:/home:delegated
|
||||
|
||||
volumes:
|
||||
dns:
|
||||
home:
|
||||
external: true
|
||||
name: ${HOST_DOCKER_VOLUME}_home
|
||||
|
||||
@@ -5,6 +5,6 @@ DRONE_SERVER_HOST ?= $(DRONE_SERVICE_NAME).$(firstword $
|
||||
DRONE_SERVICE_NAME ?= drone
|
||||
DRONE_SERVICE_80_NAME ?= $(DRONE_SERVICE_NAME)
|
||||
DRONE_SERVICE_80_TAGS ?= $(call tagprefix,drone,80)
|
||||
DRONE_USER_CREATE ?= $(USER):$(GIT_USER),admin:true
|
||||
DRONE_USER_CREATE ?= username:$(GIT_USER),admin:true
|
||||
DRONE_USER_FILTER ?= $(GIT_USER)
|
||||
ENV_VARS += DRONE_RUNNER_NAME DRONE_SERVER_HOST DRONE_USER_CREATE DRONE_USER_FILTER DRONE_SERVICE_80_TAGS
|
||||
|
||||
@@ -4,9 +4,12 @@ services:
|
||||
drone:
|
||||
environment:
|
||||
- DRONE_GIT_ALWAYS_AUTH=${DRONE_GIT_ALWAYS_AUTH:-false}
|
||||
- DRONE_GITEA_CLIENT_ID=${DRONE_GITEA_CLIENT_ID:-}
|
||||
- DRONE_GITEA_CLIENT_SECRET=${DRONE_GITEA_CLIENT_SECRET:-}
|
||||
- DRONE_GITEA_SERVER=${DRONE_GITEA_SERVER:-}
|
||||
- DRONE_GITHUB_SERVER=${DRONE_GITHUB_SERVER:-https://github.com}
|
||||
- DRONE_GITHUB_CLIENT_ID=${DRONE_GITHUB_CLIENT_ID}
|
||||
- DRONE_GITHUB_CLIENT_SECRET=${DRONE_GITHUB_CLIENT_SECRET}
|
||||
- DRONE_GITHUB_CLIENT_ID=${DRONE_GITHUB_CLIENT_ID:-}
|
||||
- DRONE_GITHUB_CLIENT_SECRET=${DRONE_GITHUB_CLIENT_SECRET:-}
|
||||
- DRONE_LOGS_COLOR=${DRONE_LOGS_COLOR:-true}
|
||||
- DRONE_LOGS_PRETTY=${DRONE_LOGS_PRETTY:-true}
|
||||
- DRONE_PROMETHEUS_ANONYMOUS_ACCESS=${DRONE_PROMETHEUS_ANONYMOUS_ACCESS:-true}
|
||||
@@ -14,8 +17,8 @@ services:
|
||||
- DRONE_SERVER_HOST=${DRONE_SERVER_HOST:-drone}
|
||||
- DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO:-http}
|
||||
- DRONE_TLS_AUTOCERT=${DRONE_TLS_AUTOCERT:-true}
|
||||
- DRONE_USER_CREATE=${DRONE_USER_CREATE}
|
||||
- DRONE_USER_FILTER=${DRONE_USER_FILTER}
|
||||
- DRONE_USER_CREATE=${DRONE_USER_CREATE:-}
|
||||
- DRONE_USER_FILTER=${DRONE_USER_FILTER:-}
|
||||
labels:
|
||||
- SERVICE_80_CHECK_TCP=true
|
||||
- SERVICE_80_NAME=${COMPOSE_SERVICE_NAME}-drone-80
|
||||
|
||||
@@ -7,7 +7,7 @@ DUNITER_UI_WS_URL ?= wss://$(DUNITER_V2S_SERVICE_NAME).$
|
||||
DUNITER_V2S_DUNITER_CHAIN_NAME ?= gdev
|
||||
DUNITER_V2S_DUNITER_NODE_NAME ?= $(USER)-$(ENV)-$(DUNITER_V2S_DUNITER_PRUNING_PROFILE)
|
||||
DUNITER_V2S_DUNITER_PUBLIC_ADDR ?= /dns/$(DUNITER_V2S_SERVICE_NAME).$(firstword $(APP_HOST))/tcp/443/wss
|
||||
DUNITER_V2S_DUNITER_PRUNING_PROFILE ?= archive
|
||||
DUNITER_V2S_DUNITER_PRUNING_PROFILE ?= default
|
||||
DUNITER_V2S_SERVICE_NAME ?= $(DUNITER_V2S_DUNITER_CHAIN_NAME)
|
||||
DUNITER_V2S_SERVICE_9615_PATH ?= metrics/
|
||||
DUNITER_V2S_SERVICE_9615_TAGS ?= $(call tagprefix,DUNITER_V2S,9615)
|
||||
|
||||
+1
-1
@@ -6,5 +6,5 @@ HOST_IPFS_SERVICE_5001_PATH ?= api/
|
||||
HOST_IPFS_SERVICE_5001_TAGS ?= $(call tagprefix,HOST_IPFS,5001)
|
||||
HOST_IPFS_SERVICE_8080_ENVS ?= host
|
||||
HOST_IPFS_SERVICE_8080_TAGS ?= $(call urlprefix,,,$(HOST_IPFS_SERVICE_8080_URIS) $(call servicenvs,HOST_IPFS,8080,URIS))
|
||||
HOST_IPFS_SERVICE_8080_URIS ?= $(call uriprefix,ipfs *.ipns)
|
||||
HOST_IPFS_SERVICE_8080_URIS ?= $(call uriprefix,ipfs *.ipns *.ipfs)
|
||||
HOST_IPFS_UFW_UPDATE ?= 4001/tcp 4001/udp 8080
|
||||
|
||||
+2
-2
@@ -31,7 +31,7 @@ services:
|
||||
- IPFS_BOOTSTRAP=${HOST_IPFS_BOOTSTRAP:-}
|
||||
- IPFS_DATASTORE_GCPERIOD=${HOST_IPFS_DATASTORE_GCPERIOD:-}
|
||||
- IPFS_DISK_USAGE_PERCENT=${HOST_IPFS_DISK_USAGE_PERCENT:-}
|
||||
- IPFS_EXPERIMENTAL_ACCELERATEDDHTCLIENT=${HOST_IPFS_EXPERIMENTAL_ACCELERATEDDHTCLIENT:-true}
|
||||
- IPFS_EXPERIMENTAL_ACCELERATEDDHTCLIENT=${HOST_IPFS_EXPERIMENTAL_ACCELERATEDDHTCLIENT:-}
|
||||
- IPFS_EXPERIMENTAL_FILESTOREENABLED=${HOST_IPFS_EXPERIMENTAL_FILESTOREENABLED:-}
|
||||
- IPFS_EXPERIMENTAL_GRAPHSYNCENABLED=${HOST_IPFS_EXPERIMENTAL_GRAPHSYNCENABLED:-}
|
||||
- IPFS_EXPERIMENTAL_LIBP2PSTREAMMOUNTING=${HOST_IPFS_EXPERIMENTAL_LIBP2PSTREAMMOUNTING:-true}
|
||||
@@ -62,7 +62,7 @@ services:
|
||||
- IPFS_SWARM_RELAYSERVICE_ENABLED=${HOST_IPFS_SWARM_RELAYSERVICE_ENABLED:-}
|
||||
- IPFS_SWARM_TRANSPORTS_NETWORK_RELAY=${HOST_IPFS_SWARM_TRANSPORTS_NETWORK_RELAY:-}
|
||||
healthcheck:
|
||||
timeout: 5s
|
||||
timeout: 55s
|
||||
image: ${HOST_DOCKER_REPOSITORY}/ipfs:${DOCKER_IMAGE_TAG}
|
||||
labels:
|
||||
- SERVICE_4001_CHECK_TCP=true
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
HOST_389DS_VERSION := 2.4.4
|
||||
ENV_VARS += HOST_389DS_VERSION
|
||||
@@ -0,0 +1,16 @@
|
||||
version: '3.6'
|
||||
|
||||
services:
|
||||
389ds:
|
||||
build:
|
||||
args:
|
||||
- BUILD_VERSION=${HOST_389DS_VERSION}
|
||||
- DOCKER_BUILD_DIR=docker/389ds
|
||||
context: ../..
|
||||
dockerfile: docker/389ds/Dockerfile
|
||||
container_name: ${HOST_COMPOSE_PROJECT_NAME}-389ds
|
||||
hostname: ${HOSTNAME}
|
||||
image: ${HOST_DOCKER_REPOSITORY}/389ds:${DOCKER_IMAGE_TAG}
|
||||
network_mode: host
|
||||
restart: always
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
ENV_VARS += HOST_NGINX_LETSENCRYPT_HOST HOST_NGINX_SERVICE_80_TAGS HOST_NGINX_SERVICE_443_TAGS HOST_NGINX_VIRTUAL_HOST
|
||||
HOST_NGINX_HOST_URIS ?= true
|
||||
HOST_NGINX_LETSENCRYPT_HOST ?= $(subst $(space),$(comma),$(filter-out *.%,$(subst $(comma),$(space),$(HOST_NGINX_VIRTUAL_HOST))))
|
||||
HOST_NGINX_SERVICE_HOST_URIS ?= */
|
||||
HOST_NGINX_SERVICE_HOST_URIS ?= */ */.well-known/acme-challenge/
|
||||
HOST_NGINX_SERVICE_HOST ?= $(subst $(comma),$(space),$(HOST_NGINX_VIRTUAL_HOST))
|
||||
HOST_NGINX_SERVICE_80_HOST ?= $(HOST_NGINX_SERVICE_HOST)
|
||||
HOST_NGINX_SERVICE_80_TAGS ?= $(call urlprefix,,,$(HOST_NGINX_SERVICE_80_URIS) $(call servicenvs,HOST_NGINX,80,URIS))
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ IPFS_SERVICE_5001_TAGS ?= $(call tagprefix,ipfs,5001)
|
||||
IPFS_SERVICE_8080_CHECK_HTTP ?= /ipfs/QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn
|
||||
IPFS_SERVICE_8080_TAGS ?= $(call urlprefix,,,$(IPFS_SERVICE_8080_URIS))
|
||||
IPFS_SERVICE_8080_URIS ?= $(call uriprefix,ipfs *.ipns)
|
||||
IPFS_VERSION ?= 0.16.0
|
||||
IPFS_VERSION ?= 0.24.0
|
||||
|
||||
.PHONY: bootstrap-stack-ipfs
|
||||
bootstrap-stack-ipfs: ~/.ipfs setup-sysctl
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
rss2email:
|
||||
command: daemon -verbose ${RSS2EMAIL_EMAIL:-${MAIL}}
|
||||
entrypoint: rss2email
|
||||
working_dir: /app
|
||||
user: app
|
||||
environment:
|
||||
- TZ=UTC
|
||||
- SMTP_USERNAME=${RSS2EMAIL_SMTP_USERNAME:-}
|
||||
- SMTP_PASSWORD=${RSS2EMAIL_PASSWORD:-}
|
||||
- SMTP_HOST=smtp
|
||||
- SMTP_PORT=587
|
||||
restart: unless-stopped
|
||||
image: ghcr.io/skx/rss2email:master
|
||||
volumes:
|
||||
- rss2email-data:/app/.rss2email
|
||||
|
||||
volumes:
|
||||
rss2email-data:
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
:80 {
|
||||
header {
|
||||
Access-Control-Allow-Origin "*"
|
||||
Access-Control-Allow-Credentials true
|
||||
Access-Control-Allow-Methods "*"
|
||||
Access-Control-Allow-Headers "*"
|
||||
defer
|
||||
}
|
||||
|
||||
encode zstd gzip
|
||||
reverse_proxy whisper-frontend:5173
|
||||
|
||||
handle_path /api/* {
|
||||
reverse_proxy whisper-backend:3000
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
whisper-asr:
|
||||
image: onerahmet/openai-whisper-asr-webservice:v1.1.1
|
||||
environment:
|
||||
ASR_MODEL: ${WHISPER_MODEL-large}
|
||||
volumes:
|
||||
- whisper-cache:/root/.cache/whisper
|
||||
restart: unless-stopped
|
||||
expose:
|
||||
- 9000
|
||||
networks:
|
||||
- private
|
||||
|
||||
whisper-translate:
|
||||
image: libretranslate/libretranslate:latest
|
||||
restart: unless-stopped
|
||||
command: --disable-web-ui --debug
|
||||
environment:
|
||||
LT_DISABLE_WEB_UI: True
|
||||
LT_DEBUG: True
|
||||
expose:
|
||||
- 5000
|
||||
networks:
|
||||
- private
|
||||
|
||||
whisper-backend:
|
||||
image: pluja/web-whisper-backend:latest
|
||||
environment:
|
||||
UPLOAD_DIR: /app/uploads
|
||||
ASR_ENDPOINT: whisper-asr:9000
|
||||
LT_ENDPOINT: whisper-translate:5000
|
||||
volumes:
|
||||
- whisper-data:/app/db
|
||||
- whisper-files:/app/uploads
|
||||
restart: unless-stopped
|
||||
expose:
|
||||
- 3000
|
||||
networks:
|
||||
- private
|
||||
|
||||
whisper-frontend:
|
||||
image: pluja/web-whisper-frontend:latest
|
||||
restart: unless-stopped
|
||||
expose:
|
||||
- 5173
|
||||
networks:
|
||||
- private
|
||||
|
||||
whisper-proxy:
|
||||
image: caddy:2-alpine
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
SERVICE_80_CHECK_HTTP: /
|
||||
SERVICE_80_NAME: ${COMPOSE_SERVICE_NAME}-proxy-80
|
||||
SERVICE_80_TAGS: urlprefix-transcript.asycn.io/*
|
||||
ports:
|
||||
- 80
|
||||
volumes:
|
||||
- ./Caddyfile:/etc/caddy/Caddyfile
|
||||
networks:
|
||||
- private
|
||||
- public
|
||||
|
||||
volumes:
|
||||
whisper-cache:
|
||||
whisper-data:
|
||||
whisper-files:
|
||||
Reference in New Issue
Block a user