Compare commits

..

23 Commits

Author SHA1 Message Date
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
me 888a961e6d Refactor the file order and add 20 more possibilities. 2026-07-04 14:47:11 -07:00
me e349ad0aeb Overhaul F-Droid Dockerfile now that it works. 2026-07-04 14:46:30 -07:00
me 07703e72db Make the repo contents persistent. Still need to add command that creates this directory before the first run. 2026-07-04 13:02:28 -07:00
me a4be059d89 Use ADD rather than RUN wget. Bussts cache when it notices the remote file has changed. 2026-07-04 12:53:22 -07:00
5 changed files with 247 additions and 66 deletions
+123 -49
View File
@@ -4,11 +4,21 @@
FROM debian:trixie-slim FROM debian:trixie-slim
# variables # # Static Variables #
ENV DOWNLOAD="/root/Downloads"
ENV WEBROOT="/var/www/html" ENV WEBROOT="/var/www/html"
ENV FDROID="/root/fdroid" ENV FDROID="/root/fdroid"
ENV METADATA="$FDROID/metadata"
ENV REPO="$FDROID/repo" ENV REPO="$FDROID/repo"
ENV CONFIG="$FDROID/config.yml"
# Create Directory Hierarchies #
RUN mkdir -pv "$DOWNLOAD" "$WEBROOT" \
"$FDROID" "$METADATA" "$REPO"
# Install Packages# # Install Packages#
# https://f-droid.org/en/docs/Installing_the_Server_and_Repo_Tools/#debianubuntumintetc # https://f-droid.org/en/docs/Installing_the_Server_and_Repo_Tools/#debianubuntumintetc
@@ -20,27 +30,10 @@ RUN apt-get update && apt-get install -y -t trixie-backports fdroidserver
# Generate F-Droid Repo # # Generate F-Droid Repo #
USER root USER root
RUN mkdir -pv "$FDROID"
WORKDIR "$FDROID" WORKDIR "$FDROID"
RUN fdroid init RUN fdroid init
# This is where the image would get published. # # This is where the image would get published on Docker Hub. #
# Configure F-Droid Repo #
ARG REPO_DOMAIN
ENV REPO_DOMAIN="$REPO_DOMAIN"
ARG REPO_NAME
ENV REPO_NAME="$REPO_NAME"
ARG REPO_ICON
ENV REPO_ICON="$REPO_ICON"
# TBD/TODO: Add commands to remove repo_url and repo_name if they already exist.
RUN sed -i "$ a repo_url: $REPO_DOMAIN/fdroid/repo" "$FDROID/config.yml"
RUN sed -i "$ a repo_name: $REPO_NAME" "$FDROID/config.yml"
RUN fdroid update
# Advanced Variables # # Advanced Variables #
@@ -84,41 +77,122 @@ ARG FILE18
ENV FILE18="$FILE18" ENV FILE18="$FILE18"
ARG FILE19 ARG FILE19
ENV FILE19="$FILE19" ENV FILE19="$FILE19"
ARG FILE20
ENV FILE20="$FILE20"
ARG FILE21
ENV FILE21="$FILE21"
ARG FILE22
ENV FILE22="$FILE22"
ARG FILE23
ENV FILE23="$FILE23"
ARG FILE24
ENV FILE24="$FILE24"
ARG FILE25
ENV FILE25="$FILE25"
ARG FILE26
ENV FILE26="$FILE26"
ARG FILE27
ENV FILE27="$FILE27"
ARG FILE28
ENV FILE28="$FILE28"
ARG FILE29
ENV FILE29="$FILE29"
ARG FILE30
ENV FILE30="$FILE30"
ARG FILE31
ENV FILE31="$FILE31"
ARG FILE32
ENV FILE32="$FILE32"
ARG FILE33
ENV FILE33="$FILE33"
ARG FILE34
ENV FILE34="$FILE34"
ARG FILE35
ENV FILE35="$FILE35"
ARG FILE36
ENV FILE36="$FILE36"
ARG FILE37
ENV FILE37="$FILE37"
ARG FILE38
ENV FILE38="$FILE38"
ARG FILE39
ENV FILE39="$FILE39"
ARG CACHE_BUST
ENV CACHE_BUST="$CACHE_BUST"
# Download Remote Files # # Download Remote Files #
RUN mkdir -pv /root/fdroid/repo RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE00" ]]; then wget -P "$DOWNLOAD" "$FILE00"; fi'
RUN bash -c 'if [[ -n "$FILE00" ]]; then wget -P "$REPO" "$FILE00"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE01" ]]; then wget -P "$DOWNLOAD" "$FILE01"; fi'
RUN bash -c 'if [[ -n "$FILE01" ]]; then wget -P "$REPO" "$FILE01"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE02" ]]; then wget -P "$DOWNLOAD" "$FILE02"; fi'
RUN bash -c 'if [[ -n "$FILE02" ]]; then wget -P "$REPO" "$FILE02"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE03" ]]; then wget -P "$DOWNLOAD" "$FILE03"; fi'
RUN bash -c 'if [[ -n "$FILE03" ]]; then wget -P "$REPO" "$FILE03"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE04" ]]; then wget -P "$DOWNLOAD" "$FILE04"; fi'
RUN bash -c 'if [[ -n "$FILE04" ]]; then wget -P "$REPO" "$FILE04"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE05" ]]; then wget -P "$DOWNLOAD" "$FILE05"; fi'
RUN bash -c 'if [[ -n "$FILE05" ]]; then wget -P "$REPO" "$FILE05"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE06" ]]; then wget -P "$DOWNLOAD" "$FILE06"; fi'
RUN bash -c 'if [[ -n "$FILE06" ]]; then wget -P "$REPO" "$FILE06"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE07" ]]; then wget -P "$DOWNLOAD" "$FILE07"; fi'
RUN bash -c 'if [[ -n "$FILE07" ]]; then wget -P "$REPO" "$FILE07"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE08" ]]; then wget -P "$DOWNLOAD" "$FILE08"; fi'
RUN bash -c 'if [[ -n "$FILE08" ]]; then wget -P "$REPO" "$FILE08"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE09" ]]; then wget -P "$DOWNLOAD" "$FILE09"; fi'
RUN bash -c 'if [[ -n "$FILE09" ]]; then wget -P "$REPO" "$FILE09"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE10" ]]; then wget -P "$DOWNLOAD" "$FILE10"; fi'
RUN bash -c 'if [[ -n "$FILE10" ]]; then wget -P "$REPO" "$FILE10"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE11" ]]; then wget -P "$DOWNLOAD" "$FILE11"; fi'
RUN bash -c 'if [[ -n "$FILE11" ]]; then wget -P "$REPO" "$FILE11"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE12" ]]; then wget -P "$DOWNLOAD" "$FILE12"; fi'
RUN bash -c 'if [[ -n "$FILE12" ]]; then wget -P "$REPO" "$FILE12"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE13" ]]; then wget -P "$DOWNLOAD" "$FILE13"; fi'
RUN bash -c 'if [[ -n "$FILE13" ]]; then wget -P "$REPO" "$FILE13"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE14" ]]; then wget -P "$DOWNLOAD" "$FILE14"; fi'
RUN bash -c 'if [[ -n "$FILE14" ]]; then wget -P "$REPO" "$FILE14"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE15" ]]; then wget -P "$DOWNLOAD" "$FILE15"; fi'
RUN bash -c 'if [[ -n "$FILE15" ]]; then wget -P "$REPO" "$FILE15"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE16" ]]; then wget -P "$DOWNLOAD" "$FILE16"; fi'
RUN bash -c 'if [[ -n "$FILE16" ]]; then wget -P "$REPO" "$FILE16"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE17" ]]; then wget -P "$DOWNLOAD" "$FILE17"; fi'
RUN bash -c 'if [[ -n "$FILE17" ]]; then wget -P "$REPO" "$FILE17"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE18" ]]; then wget -P "$DOWNLOAD" "$FILE18"; fi'
RUN bash -c 'if [[ -n "$FILE18" ]]; then wget -P "$REPO" "$FILE18"; fi' RUN bash -c 'echo "$CACHE_BUST" && if [[ -n "$FILE19" ]]; then wget -P "$DOWNLOAD" "$FILE19"; fi'
RUN bash -c 'if [[ -n "$FILE19" ]]; then wget -P "$REPO" "$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'
RUN sync # Move Downloaded Files #
# Move any downloaded metadata files to the correct folder. # Move any downloaded APK files to the repo folder.
RUN mv -v "$REPO"/*.yml "$REPO"/../metadata || \ RUN mv -v "$DOWNLOAD"/*.apk "$REPO"/ || \
echo "WARNING! No YML file(s) to copy." && sleep 10 (echo "WARNING! No APK file(s) to copy." && sleep 10)
# Move any downloaded icons to the proper folder. # Move any downloaded metadata files to the metadata folder.
RUN mv -v "$REPO"/*.png "$FDROID"/ || \ RUN mv -v "$DOWNLOAD"/*.yml "$METADATA"/ || \
echo "WARNING! No PNG file(s) to copy." && sleep 10 (echo "WARNING! No YML file(s) to copy." && sleep 10)
# Move any downloaded icons to the main folder.
RUN mv -v "$DOWNLOAD"/*.png "$FDROID"/ || \
(echo "WARNING! No PNG file(s) to copy." && sleep 10)
# Configure F-Droid Repo #
ARG REPO_DOMAIN
ENV REPO_DOMAIN="$REPO_DOMAIN"
ARG REPO_NAME
ENV REPO_NAME="$REPO_NAME"
ARG REPO_ICON
ENV REPO_ICON="$REPO_ICON"
RUN sed -i '/repo_url/d' "$CONFIG"
RUN sed -i '/repo_name/d' "$CONFIG"
RUN sed -i '/repo_icon/d' "$CONFIG"
RUN sed -i "$ a repo_url: $REPO_DOMAIN/fdroid/repo" "$CONFIG"
RUN sed -i "$ a repo_name: $REPO_NAME" "$CONFIG"
# If the icon variable is set, add it to the config file before updating. # If the icon variable is set, add it to the config file before updating.
RUN [ ! -z "$REPO_ICON" ] && \ RUN [ ! -z "$REPO_ICON" ] && \
sed -i "$ a repo_icon: $REPO_ICON" "$FDROID/config.yml" sed -i "$ a repo_icon: $REPO_ICON" "$FDROID/config.yml"
@@ -130,8 +204,8 @@ RUN fdroid update -c
RUN cp -rv "$FDROID" "$WEBROOT/" RUN cp -rv "$FDROID" "$WEBROOT/"
# The index files are in repo. # The index files are in repo.
# TODO: Can NGINX be configured to serve this as root while still # TODO: Can NGINX be configured to serve REPO as the webroot while still
# having the URL be fdroid/repo/? How do others handle this? # having the user's URL be fdroid/repo/? How do others handle this?
RUN cp -rv "$REPO"/* "$WEBROOT/" RUN cp -rv "$REPO"/* "$WEBROOT/"
# Start Command # # Start Command #
+50 -1
View File
@@ -1,6 +1,14 @@
# 2025-11-01 Hyperling # 2025-11-01 Hyperling
# Create a 3rd party F-Droid repository for providing app updates. # Create a 3rd party F-Droid repository for providing app updates.
volumes:
fdroid_data:
driver: local
driver_opts:
type: none
device: $FDROID_DATA #../../Volumes/F-DroidRepo/fdroid by default.
o: bind
services: services:
app: app:
container_name: fd-app container_name: fd-app
@@ -13,6 +21,7 @@ services:
REPO_DOMAIN: ${REPO_DOMAIN} REPO_DOMAIN: ${REPO_DOMAIN}
REPO_NAME: ${REPO_NAME} REPO_NAME: ${REPO_NAME}
REPO_ICON: ${REPO_ICON} REPO_ICON: ${REPO_ICON}
CACHE_BUST: ${BUILD_TIMESTAMP:-1}
FILE00: ${FILE00} FILE00: ${FILE00}
FILE01: ${FILE01} FILE01: ${FILE01}
FILE02: ${FILE02} FILE02: ${FILE02}
@@ -33,6 +42,26 @@ services:
FILE17: ${FILE17} FILE17: ${FILE17}
FILE18: ${FILE18} FILE18: ${FILE18}
FILE19: ${FILE19} 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 restart: always
ports: ports:
- "8015:80" - "8015:80"
@@ -62,8 +91,28 @@ services:
- FILE17=$FILE17 - FILE17=$FILE17
- FILE18=$FILE18 - FILE18=$FILE18
- FILE19=$FILE19 - 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:
- ../../Volumes/F-DroidRepo/share:/root/share - fdroid_data:/root/fdroid
deploy: deploy:
mode: global mode: global
resources: resources:
+39 -15
View File
@@ -9,6 +9,10 @@ COMPOSE_BAKE=true
CPU=0.25 CPU=0.25
MEM=0.25G MEM=0.25G
## Storage Location ##
FDROID_DATA="../../Volumes/F-DroidRepo/fdroid"
## Repo Settings ## ## Repo Settings ##
#WEBROOT="/var/www/html" #WEBROOT="/var/www/html"
@@ -23,23 +27,43 @@ REPO_ICON="peace.png"
# TBD: Eventually change APKs to not have version number in them. # TBD: Eventually change APKs to not have version number in them.
# - Currently being done because Obtainium does not read the Gitea release/tag. # - Currently being done because Obtainium does not read the Gitea release/tag.
FILE00="https://git.hyperling.com/me/android-carb-up/releases/download/latest/CarbUp_v1.0.1.apk" FILE00="https://hyperling.com/files/media/icons/peace.png"
FILE01="https://git.hyperling.com/me/android-carb-up/raw/branch/main/com.hyperling.carbupbeta.yml" FILE01="https://git.hyperling.com/me/android-carb-up/releases/download/latest/CarbUp_v1.0.1.apk"
FILE02="" FILE02="https://git.hyperling.com/me/android-carb-up/raw/branch/main/com.hyperling.carbupbeta.yml"
FILE03="https://git.hyperling.com/me/flutter-expense-tracker/releases/download/latest/ExpenseTracker_v0.1.3.apk" FILE03="https://git.hyperling.com/me/flutter-expense-tracker/releases/download/latest/ExpenseTracker_v0.1.3.apk"
FILE04="https://git.hyperling.com/me/flutter-expense-tracker/raw/branch/main/com.hyperling.expense_tracker.yml" FILE04="https://git.hyperling.com/me/flutter-expense-tracker/raw/branch/main/com.hyperling.expense_tracker.yml"
FILE05="" FILE05="https://git.hyperling.com/me/android-infinite-timer/releases/download/latest/InfiniteTimer_v1.1.1.apk"
FILE06="https://git.hyperling.com/me/android-infinite-timer/releases/download/latest/InfiniteTimer_v1.1.1.apk" FILE06="https://git.hyperling.com/me/android-infinite-timer/raw/branch/main/com.hyperling.apps.infinitetimer.yml"
FILE07="https://git.hyperling.com/me/android-infinite-timer/raw/branch/main/com.hyperling.apps.infinitetimer.yml" FILE07="https://git.hyperling.com/me/android-45-minute-rule/releases/download/latest/The45MinuteRule_v1.0.7.apk"
FILE08="" FILE08="https://git.hyperling.com/me/android-45-minute-rule/raw/branch/main/com.hyperling.apps.the45minuterule.yml"
FILE09="https://git.hyperling.com/me/android-45-minute-rule/releases/download/latest/The45MinuteRule_v1.0.7.apk" FILE09="https://git.hyperling.com/me/android-tictactoe/releases/download/latest/TicTacToe_v1.1.0.apk"
FILE10="https://git.hyperling.com/me/android-45-minute-rule/raw/branch/main/com.hyperling.apps.the45minuterule.yml" FILE10="https://git.hyperling.com/me/android-tictactoe/raw/branch/main/com.hyperling.tictactoe.yml"
FILE11="" FILE11="https://git.hyperling.com/me/android-hypergames/releases/download/latest/HyperGames_v0.0.11.apk"
FILE12="https://git.hyperling.com/me/android-tictactoe/releases/download/latest/TicTacToe_v1.1.0.apk" FILE12="https://git.hyperling.com/me/android-hypergames/raw/branch/main/apps.hyperling.com.platformer.yml"
FILE13="https://git.hyperling.com/me/android-tictactoe/raw/branch/main/com.hyperling.tictactoe.yml" FILE13=""
FILE14="" FILE14=""
FILE15="https://git.hyperling.com/me/android-hypergames/releases/download/latest/HyperGames_v0.0.11.apk" FILE15=""
FILE16="https://git.hyperling.com/me/android-hypergames/raw/branch/main/apps.hyperling.com.platformer.yml" FILE16=""
FILE17="" FILE17=""
FILE18="" FILE18=""
FILE19="https://hyperling.com/files/media/icons/peace.png" FILE19=""
FILE20=""
FILE21=""
FILE22=""
FILE23=""
FILE24=""
FILE25=""
FILE26=""
FILE27=""
FILE28=""
FILE29=""
FILE30=""
FILE31=""
FILE32=""
FILE33=""
FILE34=""
FILE35=""
FILE36=""
FILE37=""
FILE38=""
FILE39=""
+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
+18 -1
View File
@@ -8,6 +8,8 @@ DIR="$(dirname -- "${BASH_SOURCE[0]}")"
PROG="$(basename -- "${BASH_SOURCE[0]}")" PROG="$(basename -- "${BASH_SOURCE[0]}")"
source $DIR/../source.env source $DIR/../source.env
export BUILD_TIMESTAMP="`date`"
## Functions ## ## Functions ##
function usage() { function usage() {
@@ -113,6 +115,7 @@ fi
## Validations ## ## Validations ##
BUILD_TIMESTAMP="`date`"
# Script will behave poorly if not run with admin privileges. # Script will behave poorly if not run with admin privileges.
if [[ "$LOGNAME" != "root" ]]; then if [[ "$LOGNAME" != "root" ]]; then
echo "*************************************************************" echo "*************************************************************"
@@ -212,14 +215,28 @@ fi
# Clean every type of Docker object which can be abandoined by Compose. # Clean every type of Docker object which can be abandoined by Compose.
if [[ -n $clean ]]; then if [[ -n $clean ]]; then
echo -e "\n*** Cleaning Abandoned Objects ***" echo -e "\n*** Cleaning Abandoned Objects ***"
echo -e "* system df *"
docker system df docker system df
echo -e "\n* image prune -a *"
docker image prune -a docker image prune -a
echo -e "\n* container prune *"
docker container prune docker container prune
echo -e "\n* volume prune *"
docker volume prune docker volume prune
echo -e "\n* network prune *"
docker network prune docker network prune
echo -e "\n* builder prune -a *"
docker builder prune -a docker builder prune -a
echo -e "\n* system df *"
docker system df docker system df
echo "Syncing."
echo "\n* Syncing *"
sync sync
sleep 5 sleep 5
fi fi