Compare commits

..

12 Commits

9 changed files with 86 additions and 69 deletions

View File

@@ -46,8 +46,8 @@ fi
echo "nameserver 1.1.1.1" > /etc/resolv.conf
echo -e "\n*** Start the docker container ***"
docker compose down
docker compose build
docker compose down
docker compose up -d
echo -e "\n*** Now use the local process for DNS ***\n/etc/resolv.conf:"

View File

@@ -1,25 +1,50 @@
# Build a container which hosts Android apps through an F-Droid repository.
# https://f-droid.org/en/docs/Setup_an_F-Droid_App_Repo/
# Base Image #
FROM debian:trixie-slim
# Setup #
# variables #
#ARG REPO
#ENV REPO="$REPO"
#ARG WEBROOT
#ENV WEBROOT="$WEBROOT"
ENV WEBROOT="/var/www/html"
ENV FDROID="/root/fdroid"
ENV REPO="$FDROID/repo"
# Install Packages#
# https://f-droid.org/en/docs/Installing_the_Server_and_Repo_Tools/#debianubuntumintetc
RUN apt-get update && apt-get install -y sudo bash curl git vim nginx
COPY files/debian-backports.sources /etc/apt/sources.list.d/
RUN apt-get update && apt-get install -y -t trixie-backports fdroidserver
# Generate F-Droid Repo #
USER root
RUN mkdir -pv "$FDROID"
WORKDIR "$FDROID"
RUN fdroid init
# Start Command #
CMD nginx -g "daemon off;"
# This is where the image would get published. #
# Configure F-Droid Repo #
ARG REPO_DOMAIN
ENV REPO_DOMAIN="$REPO_DOMAIN"
ARG REPO_NAME
ENV REPO_NAME="$REPO_NAME"
ENV WEBROOT="/var/www/html"
ENV FDROID="/root/fdroid"
ENV REPO="$FDROID/repo"
# 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 #
ARG FILE00
ENV FILE00="$FILE00"
@@ -62,27 +87,6 @@ ENV FILE18="$FILE18"
ARG FILE19
ENV FILE19="$FILE19"
# Install Packages#
# https://f-droid.org/en/docs/Installing_the_Server_and_Repo_Tools/#debianubuntumintetc
RUN apt-get update && apt-get install -y sudo bash curl git vim nginx
COPY files/debian-backports.sources /etc/apt/sources.list.d/
RUN apt-get update && apt-get install -y -t trixie-backports fdroidserver
# Generate F-Droid Repo #
USER root
RUN mkdir -pv "$FDROID"
WORKDIR "$FDROID"
RUN fdroid init
# Configure F-Droid Repo #
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
# Download Remote Files #
RUN mkdir -pv /root/fdroid/repo
@@ -112,8 +116,3 @@ RUN fdroid update -c
# Publish Repo Contents to Web Root #
RUN cp -r "$REPO/"* "$WEBROOT/"
RUN service nginx start
# Start Container #
CMD nginx -g "daemon off;"

View File

@@ -9,7 +9,15 @@ of the apps you would like to be present.
If any apps get updated, rebuilding the container should pull any changes.
``` shell
docker compose down
docker compose build
docker compose down
docker compose up -d
```
## Guide followed to create this Container
https://f-droid.org/en/docs/Setup_an_F-Droid_App_Repo/
## App Metadata
TBD

View File

@@ -8,8 +8,10 @@ services:
context: ./
network: host
args:
WEBROOT: ${WEBROOT}
REPO: ${REPO}
#WEBROOT: ${WEBROOT}
#REPO: ${REPO}
REPO_DOMAIN: ${REPO_DOMAIN}
REPO_NAME: ${REPO_NAME}
FILE00: ${FILE00}
FILE01: ${FILE01}
FILE02: ${FILE02}
@@ -31,9 +33,13 @@ services:
FILE18: ${FILE18}
FILE19: ${FILE19}
restart: always
ports:
- "8015:80"
environment:
- WEBROOT=$WEBROOT
- REPO=$REPO
#- WEBROOT=$WEBROOT
#- REPO=$REPO
- REPO_DOMAIN=$REPO_DOMAIN
- REPO_NAME=$REPO_NAME
- FILE00=$FILE00
- FILE01=$FILE01
- FILE02=$FILE02
@@ -55,8 +61,7 @@ services:
- FILE18=$FILE18
- FILE19=$FILE19
volumes:
- ../../Volumes/F-DroidRepo/fdroid:/root/fdroid
- ../../Volumes/F-DroidRepo/nginx:/var/www/html
- ../../Volumes/F-DroidRepo/share:/root/share
deploy:
mode: global
resources:

View File

@@ -11,28 +11,23 @@ MEM=0.25G
## Repo Settings ##
WEBROOT="/var/www/html"
REPO="/root/fdroid"
#WEBROOT="/var/www/html"
#REPO="/root/fdroid"
REPO_DOMAIN="https://fdroid.hyperling.com"
REPO_NAME="Hyperling's Apps"
REPO_LINK="https://fdroid.hyperling.com"
## Files ##
# Should be provided as URLs directly to the APK files.
# TBD: Eventually change APKs to not have version number in them.
# - Currently being done because Obtainium does not read the Gitea release/tag.
# TBD/TODO: Remove version from app and have it in the APK?
#FILE00="https://git.hyperling.com/me/android-carb-up/releases/download/latest/TBD"
#FILE01="https://git.hyperling.com/me/flutter-expense-tracker/releases/download/latest/TBD"
#FILE02="https://git.hyperling.com/me/android-infinite-timer/releases/download/latest/TBD"
#FILE03="https://git.hyperling.com/me/android-45-minute-rule/releases/download/latest/TBD"
#FILE04="https://git.hyperling.com/me/android-tictactoe/releases/download/latest/TBD"
#FILE05="https://git.hyperling.com/me/android-hypergames/releases/download/latest/TBD"
FILE00="https://git.hyperling.com/me/android-carb-up/releases/download/1.0.1/CarbUp_v1.0.1.apk"
FILE01="https://git.hyperling.com/me/flutter-expense-tracker/releases/download/0.1.3/ExpenseTracker_v0.1.3.apk"
FILE02="https://git.hyperling.com/me/android-infinite-timer/releases/download/1.1.1/InfiniteTimer_v1.1.1.apk"
FILE03="https://git.hyperling.com/me/android-45-minute-rule/releases/download/1.07/The45MinuteRule_v1.0.7.apk"
FILE04="https://git.hyperling.com/me/android-tictactoe/releases/download/1.1.0/TicTacToe_v1.1.0.apk"
FILE05="https://git.hyperling.com/me/android-hypergames/releases/download/0.0.11/HyperGames_v0.0.11.apk"
FILE00="https://git.hyperling.com/me/android-carb-up/releases/download/latest/CarbUp_v1.0.1.apk"
FILE01="https://git.hyperling.com/me/flutter-expense-tracker/releases/download/latest/ExpenseTracker_v0.1.3.apk"
FILE02="https://git.hyperling.com/me/android-infinite-timer/releases/download/latest/InfiniteTimer_v1.1.1.apk"
FILE03="https://git.hyperling.com/me/android-45-minute-rule/releases/download/latest/The45MinuteRule_v1.0.7.apk"
FILE04="https://git.hyperling.com/me/android-tictactoe/releases/download/latest/TicTacToe_v1.1.0.apk"
FILE05="https://git.hyperling.com/me/android-hypergames/releases/download/latest/HyperGames_v0.0.11.apk"
FILE06=""
FILE07=""
FILE08=""

View File

@@ -62,9 +62,9 @@ If the proxy needs turned off either stop or down may be used.
Upgrading the containers is as easy as this:
```
# docker compose down
# docker compose pull
# docker compose build
# docker compose down
# docker compose up -d
```
@@ -75,15 +75,15 @@ This may be possible to do when the system is up, but the best results have come
This is essentially an upgrade but there is no pull.
```
# docker compose down
# docker compose build
# docker compose down
# docker compose up -d
```
If wanted as a one-line command:
```
# docker compose down && docker compose build && docker compose up -d
# docker compose build && docker compose down && docker compose up -d
```
## Add New Config

View File

@@ -0,0 +1,10 @@
# DO NOT EDIT
Manual modifications in these directories is not recommended.
Changes should be done via the `certbot` command in the `rp-certbot` container.
```
manage -i rp-certbot
```
Example commands would be `certbot renew` and `certbot delete`.

View File

@@ -9,7 +9,7 @@ source "$DIR/../source.env"
## Variables ##
TAG="Docker"
TAG="${DIR##*/}"
DATE="`date "+%Y%m%d-%H%M%S"`"
BACKUP_DIR="/srv/backup"
BASENAME="Backup"
@@ -60,7 +60,7 @@ chown -Rv root:root "$BACKUP_DIR"
# Remove the last backup.
echo "`date` - Removing existing files."
cd "$BACKUP_DIR"
mv -v "$BASENAME"*"$TAG"* TRASH/
mv -v "$BASENAME."*".$TAG."* TRASH/
rm -v TRASH/*
if [[ "$down" == "TRUE" ]]; then

View File

@@ -179,11 +179,6 @@ if [[ -n $up || -n $down || -n $build || -n $pull || -n $maintenance ]]; then
fi
fi
# Shut off container.
if [[ $down == "Y" ]]; then
[ -e docker-compose.yml ] && docker compose down
fi
# Update container from remote source such as Docker Hub.
if [[ $pull == "Y" ]]; then
[ -e docker-compose.yml ] && docker compose pull
@@ -194,6 +189,11 @@ if [[ -n $up || -n $down || -n $build || -n $pull || -n $maintenance ]]; then
[ -e Dockerfile ] && docker compose build
fi
# Shut off container.
if [[ $down == "Y" ]]; then
[ -e docker-compose.yml ] && docker compose down
fi
# Run the container as a daemon.
if [[ $up == "Y" ]]; then
[ -e docker-compose.yml ] && docker compose up -d