Merge pull request #140 from rehanone/host-names

Allow hostnames to be overriden by the environment variable.
This commit is contained in:
Gerrit Gogel 2023-10-23 19:55:09 +02:00 committed by GitHub
commit 03fd6e2980
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 22 additions and 18 deletions

View file

@ -3,28 +3,28 @@
}
http:// https:// {
reverse_proxy seahub:8000 {
reverse_proxy {$SEAHUB_SERVER_HOST}:8000 {
lb_policy header X-Forwarded-For
trusted_proxies private_ranges
}
reverse_proxy /seafdav* seafile-server:8080 {
reverse_proxy /seafdav* {$SEAFILE_SERVER_HOST}:8080 {
header_up Destination https:// http://
trusted_proxies private_ranges
}
handle_path /seafhttp* {
uri strip_prefix seafhttp
reverse_proxy seafile-server:8082 {
reverse_proxy {$SEAFILE_SERVER_HOST}:8082 {
trusted_proxies private_ranges
}
}
handle_path /notification* {
uri strip_prefix notification
reverse_proxy seafile-server:8083 {
reverse_proxy {$SEAFILE_SERVER_HOST}:8083 {
trusted_proxies private_ranges
}
}
reverse_proxy /media/* seahub-media:80 {
reverse_proxy /media/* {$SEAHUB_MEDIA_SERVER_HOST}:80 {
lb_policy header X-Forwarded-For
trusted_proxies private_ranges
}
}
}

View file

@ -8,4 +8,8 @@ COPY Caddyfile /etc/caddy/Caddyfile
COPY scripts /scripts
RUN chmod u+x /scripts/*
CMD ["/scripts/start.sh"]
ENV SEAFILE_SERVER_HOST=seafile-server
ENV SEAHUB_SERVER_HOST=seahub
ENV SEAHUB_MEDIA_SERVER_HOST=seahub-media
CMD ["/scripts/start.sh"]

View file

@ -3,4 +3,3 @@
/scripts/swarm-dns.sh &
caddy run --config /etc/caddy/Caddyfile --adapter caddyfile

View file

@ -6,13 +6,13 @@ if [ "$SWARM_DNS" = true ]; then
while true; do
SEAHUB_IPS=$(dig +short seahub | sed -e 's/$/:8000/' | tr ' ' '\n' | sort | tr '\n' ' ')
SEAHUB_MEDIA_IPS=$(dig +short seahub-media | sed -e 's/$/:80/' | tr ' ' '\n' | sort | tr '\n' ' ')
SEAHUB_IPS=$(dig +short $SEAHUB_SERVER_HOST | sed -e 's/$/:8000/' | tr ' ' '\n' | sort | tr '\n' ' ')
SEAHUB_MEDIA_IPS=$(dig +short $SEAHUB_MEDIA_SERVER_HOST | sed -e 's/$/:80/' | tr ' ' '\n' | sort | tr '\n' ' ')
cp /etc/caddy/Caddyfile.default /etc/caddy/Caddyfile.tmp
sed -i "s/seahub:8000/$(echo $SEAHUB_IPS)/g" /etc/caddy/Caddyfile.tmp
sed -i "s/seahub-media:80/$(echo $SEAHUB_MEDIA_IPS)/g" /etc/caddy/Caddyfile.tmp
sed -i "s/$SEAHUB_SERVER_HOST:8000/$(echo $SEAHUB_IPS)/g" /etc/caddy/Caddyfile.tmp
sed -i "s/$SEAHUB_MEDIA_SERVER_HOST:80/$(echo $SEAHUB_MEDIA_IPS)/g" /etc/caddy/Caddyfile.tmp
if ! diff -q "/etc/caddy/Caddyfile" "/etc/caddy/Caddyfile.tmp"; then
rm -f /etc/caddy/Caddyfile

View file

@ -89,9 +89,10 @@ ENV INNER_FILE_SERVER_ROOT=http://seafile-server:8082
ENV SEAHUB_LOG_DIR=/opt/seafile/logs
ENV SEAFILE_ADMIN_EMAIL=me@example.com
ENV SEAFILE_ADMIN_PASSWORD=asecret
ENV SEAFILE_SERVER_HOST=seafile-server
ENV PYTHON=python3
ENV SEAHUB_DIR=/opt/seafile/seafile-server-latest/seahub
EXPOSE 8000
CMD ["/scripts/start.sh"]
CMD ["/scripts/start.sh"]

View file

@ -13,20 +13,20 @@ function start_seahub {
function start_socat {
mkdir -p /opt/seafile/seafile-server-latest/runtime
while true; do
while ! nc -z seafile-server 8001 2>/dev/null; do
while ! nc -z ${SEAFILE_SERVER_HOST} 8001 2>/dev/null; do
sleep 1
done
echo "Starting socat..."
socat -d -d UNIX-LISTEN:/opt/seafile/seafile-server-latest/runtime/seafile.sock,fork,unlink-early TCP:seafile-server:8001,forever,keepalive,keepidle=10,keepintvl=10,keepcnt=2
socat -d -d UNIX-LISTEN:/opt/seafile/seafile-server-latest/runtime/seafile.sock,fork,unlink-early TCP:${SEAFILE_SERVER_HOST}:8001,forever,keepalive,keepidle=10,keepintvl=10,keepcnt=2
done
}
function watch_server {
while true; do
sleep 2
if ! nc -z seafile-server 8082 2>/dev/null; then
if ! nc -z ${SEAFILE_SERVER_HOST} 8082 2>/dev/null; then
/opt/seafile/seafile-server-latest/seahub.sh stop
while ! nc -z seafile-server 8082 2>/dev/null; do
while ! nc -z ${SEAFILE_SERVER_HOST} 8082 2>/dev/null; do
sleep 1
done
start_seahub &
@ -49,4 +49,4 @@ init_seahub
start_seahub &
watch_server &
logger
keep_running
keep_running