33 Commits

Author SHA1 Message Date
me d0c791f477 provisioning, add script to easily check the results. 2026-08-04 17:59:04 -07:00
me 481a0b9744 provisioning, main.sh, variablize the local repo name. 2026-08-04 17:46:20 -07:00
me a6a8f4c97a Add ca-certificates to Prosody config which allows it to validate s2s certs. 2026-07-24 05:32:29 -07:00
me 2302897460 Ignore etc files for Prosody as well. 2026-07-24 05:15:36 -07:00
me a08c59bcb2 Remove module example as it was already in the enabled list by default. 2026-07-24 05:07:55 -07:00
me 5850a237ce Add an extra port to Prosody to see if it helps with certificate validation. 2026-07-24 05:06:30 -07:00
me 5b8deb8a67 Add community modules for Prosody and give an example of enabling notifications. 2026-07-23 14:50:42 -07:00
me b5ae8ff0ce Change example of where the prosody certs should be referenced. 2026-07-23 13:32:33 -07:00
me 0ccef4583a Ensure the cert archive exists so the symbolic links can be followed. 2026-07-13 15:55:51 -07:00
me 7b3b7623be Do not do the reload, confuses the system. 2026-07-13 15:55:08 -07:00
me 64415239ca One step closer to getting the Prosody server live. Create the bind dir and ensure certs are imported as root. Still not actually getting the certs, but having way less errors. 2026-07-13 15:03:30 -07:00
me a770eb00ef Also ignore lowercase hugo sites. 2026-07-13 15:02:32 -07:00
me 6cf24f958f Properly ignore Prosody config files. 2026-07-13 14:58:49 -07:00
me a532924fd1 Change NC back to stable. 2026-07-09 10:06:13 -07:00
me c2c20c248b Export the cache busting build timestamp so it is seen by later commands. 2026-07-04 17:14:42 -07:00
me 4155dac8c9 Ensure the build timestamp is set to break cache on builds. 2026-07-04 17:12:01 -07:00
me b74e786356 fdroid, Add missing FILE07. 2026-07-04 17:07:04 -07:00
me 95034b88c6 fdroid, exit would have been correct over return, but is not necessary regardless. 2026-07-04 16:55:35 -07:00
me 758edc25f2 Add error checking if a file fails to download. 2026-07-04 16:45:38 -07:00
me f2924eaf16 fdroid, Try not having two fdroid update commands again. 2026-07-04 16:42:18 -07:00
me e0d136b3b3 fdroid, Try doing the cache bust via docker-compose file rather than an extra script. 2026-07-04 16:40:49 -07:00
me 58e0e4230e Add a cache bust. 2026-07-04 16:35:18 -07:00
me ed4b0ec674 Use proper if statements to avoid non-0 exit codes. 2026-07-04 16:32:18 -07:00
me 33c14b2719 fdroid, Remove the extra WORKDIR. 2026-07-04 16:30:32 -07:00
me b754b7e361 Go back to using wget, ADD was getting too workaroundy. We'll make a script to update the files. Lame! 2026-07-04 16:30:03 -07:00
me 892a386284 No longer need to remove the weird files that were getting ADD'ed in. 2026-07-04 16:16:37 -07:00
me 42b651f85b Add a fix for the weird .yml files getting copied. Sort of a workaround, but ADD is way better than wget. 2026-07-04 16:15:00 -07:00
me 61d4bb08eb Fix file permissions for fdroid prep. 2026-07-04 16:02:26 -07:00
me cc89dc5bca Somehow compose files are getting into the container. Maybe the null ADD variables are doing something weird. Remove them. 2026-07-04 15:53:15 -07:00
me b9b36aa2ac Add automatically creating the volume folder. 2026-07-04 15:32:13 -07:00
me 6accd3b152 fdroid, Add vars 20-39 to compose file. 2026-07-04 15:10:53 -07:00
me fce4ae1769 Remove old share from FDroid, was used for troubleshooting. 2026-07-04 15:09:22 -07:00
me 75c2f83d25 Enhance output for manage -c. 2026-07-04 15:07:51 -07:00
13 changed files with 188 additions and 55 deletions
+5 -1
View File
@@ -48,6 +48,8 @@ STAGE-*
# Ignore copies of the Hugo configuration, such as "Config/Hugo-MyWebsite".
Hugo-*
*-Hugo
hugo-*
*-hugo
# Ignore Prod and Dev copies as well.
*-Prod
@@ -64,5 +66,7 @@ dev-*
DEV-*
# Ignore custom Prosody hosts.
Config/Prosody/conf.avail/*
Config/Prosody/conf.avail
Config/Prosody/etc/conf.avail
Config/Prosody/etc/
+43 -41
View File
@@ -35,8 +35,6 @@ RUN fdroid init
# This is where the image would get published on Docker Hub. #
RUN fdroid update
# Advanced Variables #
ARG FILE00
@@ -120,47 +118,51 @@ ENV FILE38="$FILE38"
ARG FILE39
ENV FILE39="$FILE39"
ARG CACHE_BUST
ENV CACHE_BUST="$CACHE_BUST"
# Download Remote Files #
ADD "$FILE00" "$DOWNLOAD"/
ADD "$FILE01" "$DOWNLOAD"/
ADD "$FILE02" "$DOWNLOAD"/
ADD "$FILE03" "$DOWNLOAD"/
ADD "$FILE04" "$DOWNLOAD"/
ADD "$FILE05" "$DOWNLOAD"/
ADD "$FILE06" "$DOWNLOAD"/
ADD "$FILE08" "$DOWNLOAD"/
ADD "$FILE09" "$DOWNLOAD"/
ADD "$FILE10" "$DOWNLOAD"/
ADD "$FILE11" "$DOWNLOAD"/
ADD "$FILE12" "$DOWNLOAD"/
ADD "$FILE13" "$DOWNLOAD"/
ADD "$FILE14" "$DOWNLOAD"/
ADD "$FILE15" "$DOWNLOAD"/
ADD "$FILE16" "$DOWNLOAD"/
ADD "$FILE17" "$DOWNLOAD"/
ADD "$FILE18" "$DOWNLOAD"/
ADD "$FILE19" "$DOWNLOAD"/
ADD "$FILE20" "$DOWNLOAD"/
ADD "$FILE21" "$DOWNLOAD"/
ADD "$FILE22" "$DOWNLOAD"/
ADD "$FILE23" "$DOWNLOAD"/
ADD "$FILE24" "$DOWNLOAD"/
ADD "$FILE25" "$DOWNLOAD"/
ADD "$FILE26" "$DOWNLOAD"/
ADD "$FILE27" "$DOWNLOAD"/
ADD "$FILE28" "$DOWNLOAD"/
ADD "$FILE29" "$DOWNLOAD"/
ADD "$FILE30" "$DOWNLOAD"/
ADD "$FILE31" "$DOWNLOAD"/
ADD "$FILE32" "$DOWNLOAD"/
ADD "$FILE33" "$DOWNLOAD"/
ADD "$FILE34" "$DOWNLOAD"/
ADD "$FILE35" "$DOWNLOAD"/
ADD "$FILE36" "$DOWNLOAD"/
ADD "$FILE37" "$DOWNLOAD"/
ADD "$FILE38" "$DOWNLOAD"/
ADD "$FILE39" "$DOWNLOAD"/
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE00" ]]; then wget -P "$DOWNLOAD" "$FILE00"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE01" ]]; then wget -P "$DOWNLOAD" "$FILE01"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE02" ]]; then wget -P "$DOWNLOAD" "$FILE02"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE03" ]]; then wget -P "$DOWNLOAD" "$FILE03"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE04" ]]; then wget -P "$DOWNLOAD" "$FILE04"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE05" ]]; then wget -P "$DOWNLOAD" "$FILE05"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE06" ]]; then wget -P "$DOWNLOAD" "$FILE06"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE07" ]]; then wget -P "$DOWNLOAD" "$FILE07"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE08" ]]; then wget -P "$DOWNLOAD" "$FILE08"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE09" ]]; then wget -P "$DOWNLOAD" "$FILE09"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE10" ]]; then wget -P "$DOWNLOAD" "$FILE10"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE11" ]]; then wget -P "$DOWNLOAD" "$FILE11"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE12" ]]; then wget -P "$DOWNLOAD" "$FILE12"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE13" ]]; then wget -P "$DOWNLOAD" "$FILE13"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE14" ]]; then wget -P "$DOWNLOAD" "$FILE14"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE15" ]]; then wget -P "$DOWNLOAD" "$FILE15"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE16" ]]; then wget -P "$DOWNLOAD" "$FILE16"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE17" ]]; then wget -P "$DOWNLOAD" "$FILE17"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE18" ]]; then wget -P "$DOWNLOAD" "$FILE18"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE19" ]]; then wget -P "$DOWNLOAD" "$FILE19"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE20" ]]; then wget -P "$DOWNLOAD" "$FILE20"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE21" ]]; then wget -P "$DOWNLOAD" "$FILE21"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE22" ]]; then wget -P "$DOWNLOAD" "$FILE22"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE23" ]]; then wget -P "$DOWNLOAD" "$FILE23"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE24" ]]; then wget -P "$DOWNLOAD" "$FILE24"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE25" ]]; then wget -P "$DOWNLOAD" "$FILE25"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE26" ]]; then wget -P "$DOWNLOAD" "$FILE26"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE27" ]]; then wget -P "$DOWNLOAD" "$FILE27"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE28" ]]; then wget -P "$DOWNLOAD" "$FILE28"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE29" ]]; then wget -P "$DOWNLOAD" "$FILE29"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE30" ]]; then wget -P "$DOWNLOAD" "$FILE30"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE31" ]]; then wget -P "$DOWNLOAD" "$FILE31"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE32" ]]; then wget -P "$DOWNLOAD" "$FILE32"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE33" ]]; then wget -P "$DOWNLOAD" "$FILE33"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE34" ]]; then wget -P "$DOWNLOAD" "$FILE34"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE35" ]]; then wget -P "$DOWNLOAD" "$FILE35"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE36" ]]; then wget -P "$DOWNLOAD" "$FILE36"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE37" ]]; then wget -P "$DOWNLOAD" "$FILE37"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE38" ]]; then wget -P "$DOWNLOAD" "$FILE38"; fi'
RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE39" ]]; then wget -P "$DOWNLOAD" "$FILE39"; fi'
# Move Downloaded Files #
+42 -2
View File
@@ -6,7 +6,7 @@ volumes:
driver: local
driver_opts:
type: none
device: ../../Volumes/F-DroidRepo/data
device: $FDROID_DATA #../../Volumes/F-DroidRepo/fdroid by default.
o: bind
services:
@@ -21,6 +21,7 @@ services:
REPO_DOMAIN: ${REPO_DOMAIN}
REPO_NAME: ${REPO_NAME}
REPO_ICON: ${REPO_ICON}
CACHE_BUST: ${BUILD_TIMESTAMP:-1}
FILE00: ${FILE00}
FILE01: ${FILE01}
FILE02: ${FILE02}
@@ -41,6 +42,26 @@ services:
FILE17: ${FILE17}
FILE18: ${FILE18}
FILE19: ${FILE19}
FILE20: ${FILE20}
FILE21: ${FILE21}
FILE22: ${FILE22}
FILE23: ${FILE23}
FILE24: ${FILE24}
FILE25: ${FILE25}
FILE26: ${FILE26}
FILE27: ${FILE27}
FILE28: ${FILE28}
FILE29: ${FILE29}
FILE30: ${FILE30}
FILE31: ${FILE31}
FILE32: ${FILE32}
FILE33: ${FILE33}
FILE34: ${FILE34}
FILE35: ${FILE35}
FILE36: ${FILE36}
FILE37: ${FILE37}
FILE38: ${FILE38}
FILE39: ${FILE39}
restart: always
ports:
- "8015:80"
@@ -70,8 +91,27 @@ services:
- FILE17=$FILE17
- FILE18=$FILE18
- FILE19=$FILE19
- FILE20=$FILE20
- FILE21=$FILE21
- FILE22=$FILE22
- FILE23=$FILE23
- FILE24=$FILE24
- FILE25=$FILE25
- FILE26=$FILE26
- FILE27=$FILE27
- FILE28=$FILE28
- FILE29=$FILE29
- FILE30=$FILE30
- FILE31=$FILE31
- FILE32=$FILE32
- FILE33=$FILE33
- FILE34=$FILE34
- FILE35=$FILE35
- FILE36=$FILE36
- FILE37=$FILE37
- FILE38=$FILE38
- FILE39=$FILE39
volumes:
- ../../Volumes/F-DroidRepo/share:/root/share
- fdroid_data:/root/fdroid
deploy:
mode: global
+4
View File
@@ -9,6 +9,10 @@ COMPOSE_BAKE=true
CPU=0.25
MEM=0.25G
## Storage Location ##
FDROID_DATA="../../Volumes/F-DroidRepo/fdroid"
## Repo Settings ##
#WEBROOT="/var/www/html"
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# 2026-07-04 Hyperling
# Create the necessary folders for volumes to work.
# This must be run before the container will start properly.
## Setup ##
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
source $DIR/.env
## Main ##
# Create folders.
mkdir -pv $FDROID_DATA
# Finish successfully.
exit 0
+1 -1
View File
@@ -1,7 +1,7 @@
# 2025-06-16 Hyperling
# Tired of running fixes.sh to install extra packages. Bake them in!
FROM nextcloud:latest
FROM nextcloud:stable
# Cache System Dependencies
RUN apt-get update && apt-get install -y sudo libmagickcore-7.q16-10-extra htop \
+2 -4
View File
@@ -8,7 +8,7 @@ FROM debian:trixie-slim
## Setup ##
# System Dependencies
RUN apt-get update && \
apt-get install -y prosody \
apt-get install -y prosody prosody-modules ca-certificates \
bash sudo htop \
vim
@@ -21,11 +21,9 @@ COPY ./etc/conf.avail/* /etc/prosody/conf.d/
RUN rm -rfv /etc/prosody/README*
## Main ##
# Install + Run Website
WORKDIR /root
USER root
CMD prosodyctl cert import /etc/letsencrypt/live && \
CMD prosodyctl --root cert import /etc/letsencrypt/live && \
service prosody start && \
prosodyctl reload && \
tail -F /var/log/prosody/prosody.log & \
tail -F /var/log/prosody/prosody.err
@@ -14,6 +14,12 @@ volumes:
type: none
device: ../../Volumes/ReverseProxy/letsencrypt/live
o: bind
prosody_cert_archive:
driver: local
driver_opts:
type: none
device: ../../Volumes/ReverseProxy/letsencrypt/archive
o: bind
services:
app:
@@ -25,6 +31,7 @@ services:
ports:
- 5222:5222
- 5269:5269
- 5281:5281
#environment:
# - REPO=$REPO
# - BRANCH=$BRANCH
@@ -39,6 +46,7 @@ services:
volumes:
- prosody_data:/var/lib/prosody/
- prosody_certs:/etc/letsencrypt/live
- prosody_cert_archive:/etc/letsencrypt/archive
deploy:
mode: global
resources:
@@ -8,8 +8,8 @@ VirtualHost "example.com"
-- Note that old-style SSL on port 5223 only supports one certificate, and will always
-- use the global one.
--ssl = {
-- key = "/etc/letsencrypt/live/example.com/privkey.pem";
-- certificate = "/etc/letsencrypt/live/example.com/fullchain.pem";
-- key = "/etc/prosody/certs/example.com.key";
-- certificate = "/etc/prosody/certs/example.com.crt";
-- }
------ Components ------
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# 2026-07-13 Hyperling
# Create the necessary folders for volumes to work.
# This must be run before the container will start properly.
## Setup ##
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
source $DIR/.env
## Main ##
# Create folders.
mkdir -pv ../../Volumes/Prosody/data
# Finish successfully.
exit 0
+5 -3
View File
@@ -1,11 +1,13 @@
#!/usr/bin/env bash
sh -c "rm -rfv prov-test"
REPO_NAME="git-repo"
sh -c "rm -rfv $LOCAL_REPO_NAME"
echo "Downloading Repo '$REPO' : Branch '$BRANCH'"
git clone $REPO --branch=$BRANCH prov-test
git clone $REPO --branch=$BRANCH $LOCAL_REPO_NAME
cd prov-test
cd $LOCAL_REPO_NAME
echo "Starting Executable Script '$EXEC'"
+24
View File
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
# 20260804 - Hyperling
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
source $DIR/.env
## Parameters ##
num_lines="$1"
if [[ -z "$num_lines" ]]; then
num_lines=20
fi
## Setup ##
source $DIR/.env
## Main ##
ls $PT_STORAGE_DIR/*/test.log | while read test_log; do
echo -e "\n*** $test_log ***\n"
tail -n $num_lines $test_log
echo -e "\n\n"
done
+18 -1
View File
@@ -8,6 +8,8 @@ DIR="$(dirname -- "${BASH_SOURCE[0]}")"
PROG="$(basename -- "${BASH_SOURCE[0]}")"
source $DIR/../source.env
export BUILD_TIMESTAMP="`date`"
## Functions ##
function usage() {
@@ -113,6 +115,7 @@ fi
## Validations ##
BUILD_TIMESTAMP="`date`"
# Script will behave poorly if not run with admin privileges.
if [[ "$LOGNAME" != "root" ]]; then
echo "*************************************************************"
@@ -212,14 +215,28 @@ fi
# Clean every type of Docker object which can be abandoined by Compose.
if [[ -n $clean ]]; then
echo -e "\n*** Cleaning Abandoned Objects ***"
echo -e "* system df *"
docker system df
echo -e "\n* image prune -a *"
docker image prune -a
echo -e "\n* container prune *"
docker container prune
echo -e "\n* volume prune *"
docker volume prune
echo -e "\n* network prune *"
docker network prune
echo -e "\n* builder prune -a *"
docker builder prune -a
echo -e "\n* system df *"
docker system df
echo "Syncing."
echo "\n* Syncing *"
sync
sleep 5
fi