Compare commits
24
Commits
208d10034e
..
dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c80f5b55ce | ||
|
|
4d4730bb52 | ||
|
|
3cb50bf181 | ||
|
|
146f29f760 | ||
|
|
e4f5793106 | ||
|
|
7a8f3cc095 | ||
|
|
2f2484df93 | ||
|
|
a5c1eef4a8 | ||
|
|
3fba4ed2be | ||
|
|
d26d345cbb | ||
|
|
70cf072525 | ||
|
|
f378518da4 | ||
|
|
2a56040899 | ||
|
|
fd8f9839ab | ||
|
|
db1c85db20 | ||
|
|
665122faab | ||
|
|
18b0690314 | ||
|
|
e5d9968847 | ||
|
|
2fc06e6e55 | ||
|
|
2e172f2b64 | ||
|
|
db4e61eeff | ||
|
|
64f90acffd | ||
|
|
623d855cf6 | ||
|
|
94273679d8 |
No files matched your search
@@ -70,3 +70,7 @@ DEV-*
|
||||
Config/Prosody/conf.avail
|
||||
Config/Prosody/etc/conf.avail
|
||||
Config/Prosody/etc/
|
||||
|
||||
# Ignore private F-Droid Config.
|
||||
Config/F-DroidRepo/files/keystore.p12
|
||||
Config/F-DroidRepo/files/config.yml
|
||||
@@ -7,9 +7,11 @@
|
||||
|
||||
services:
|
||||
app:
|
||||
container_name: dns-app
|
||||
container_name: dns
|
||||
build:
|
||||
context: ./
|
||||
image: hyperling/dns:latest
|
||||
pull_policy: never
|
||||
restart: always
|
||||
ports:
|
||||
- "53:53/udp"
|
||||
|
||||
@@ -181,6 +181,11 @@ RUN mv -v "$DOWNLOAD"/*.yml "$METADATA"/ || \
|
||||
RUN mv -v "$DOWNLOAD"/*.png "$FDROID"/ || \
|
||||
(echo "WARNING! No PNG file(s) to copy." && sleep 10)
|
||||
|
||||
# Install Keystore #
|
||||
|
||||
COPY files/keystore.p12 "$FDROID"/keystore.p12
|
||||
COPY files/config.yml "$FDROID"/config.yml
|
||||
|
||||
# Configure F-Droid Repo #
|
||||
|
||||
ARG REPO_DOMAIN
|
||||
|
||||
@@ -11,7 +11,7 @@ volumes:
|
||||
|
||||
services:
|
||||
app:
|
||||
container_name: fd-app
|
||||
container_name: fdroid
|
||||
build:
|
||||
context: ./
|
||||
args:
|
||||
@@ -61,6 +61,8 @@ services:
|
||||
FILE37: ${FILE37}
|
||||
FILE38: ${FILE38}
|
||||
FILE39: ${FILE39}
|
||||
image: hyperling/fdroid-server:latest
|
||||
pull_policy: never
|
||||
restart: always
|
||||
ports:
|
||||
- "8015:80"
|
||||
|
||||
@@ -23,25 +23,30 @@ REPO_NAME="Hyperling's Apps"
|
||||
REPO_ICON="peace.png"
|
||||
|
||||
## 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.
|
||||
|
||||
FILE00="https://hyperling.com/files/media/icons/peace.png"
|
||||
FILE01="https://git.hyperling.com/me/android-carb-up/releases/download/latest/CarbUp_v1.0.1.apk"
|
||||
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"
|
||||
FILE04="https://git.hyperling.com/me/flutter-expense-tracker/raw/branch/main/com.hyperling.expense_tracker.yml"
|
||||
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/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="https://git.hyperling.com/me/android-45-minute-rule/raw/branch/main/com.hyperling.apps.the45minuterule.yml"
|
||||
FILE09="https://git.hyperling.com/me/android-tictactoe/releases/download/latest/TicTacToe_v1.1.0.apk"
|
||||
FILE10="https://git.hyperling.com/me/android-tictactoe/raw/branch/main/com.hyperling.tictactoe.yml"
|
||||
FILE11="https://git.hyperling.com/me/android-hypergames/releases/download/latest/HyperGames_v0.0.11.apk"
|
||||
FILE12="https://git.hyperling.com/me/android-hypergames/raw/branch/main/apps.hyperling.com.platformer.yml"
|
||||
FILE13=""
|
||||
FILE14=""
|
||||
|
||||
FILE01="https://git.hyperling.com/me/android-carb-up/releases/download/latest/CarbUp.apk"
|
||||
FILE02="https://git.hyperling.com/me/android-carb-up/raw/branch/dev/com.hyperling.carbupbeta.yml"
|
||||
|
||||
FILE03="https://git.hyperling.com/me/flutter-expense-tracker/releases/download/latest/ExpenseTracker.apk"
|
||||
FILE04="https://git.hyperling.com/me/flutter-expense-tracker/raw/branch/dev/com.hyperling.expense_tracker.yml"
|
||||
|
||||
FILE05="https://git.hyperling.com/me/android-infinite-timer/releases/download/latest/InfiniteTimer.apk"
|
||||
FILE06="https://git.hyperling.com/me/android-infinite-timer/raw/branch/dev/com.hyperling.apps.infinitetimer.yml"
|
||||
|
||||
FILE07="https://git.hyperling.com/me/android-45-minute-rule/releases/download/latest/The45MinuteRule.apk"
|
||||
FILE08="https://git.hyperling.com/me/android-45-minute-rule/raw/branch/dev/com.hyperling.apps.the45minuterule.yml"
|
||||
|
||||
FILE09="https://git.hyperling.com/me/android-tictactoe/releases/download/latest/TicTacToe.apk"
|
||||
FILE10="https://git.hyperling.com/me/android-tictactoe/raw/branch/dev/com.hyperling.tictactoe.yml"
|
||||
|
||||
FILE11="https://git.hyperling.com/me/android-hypergames/releases/download/latest/HyperGames.apk"
|
||||
FILE12="https://git.hyperling.com/me/android-hypergames/raw/branch/dev/apps.hyperling.com.platformer.yml"
|
||||
|
||||
FILE13="https://git.hyperling.com/me/flutter-sunset-alarm/releases/download/latest/SunsetAlarm.apk"
|
||||
FILE14="https://git.hyperling.com/me/flutter-sunset-alarm/raw/branch/dev/com.hyperling.sunset_alarm.yml"
|
||||
|
||||
FILE15=""
|
||||
FILE16=""
|
||||
FILE17=""
|
||||
|
||||
Binary file not shown.
@@ -6,12 +6,28 @@
|
||||
## Setup ##
|
||||
|
||||
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
|
||||
source $DIR/.env
|
||||
env="$DIR"/.env
|
||||
if [[ ! -f "$env" ]]; then
|
||||
cp -v "$DIR"/example.env "$env"
|
||||
fi
|
||||
source "$env"
|
||||
|
||||
## Main ##
|
||||
|
||||
# Create folders.
|
||||
mkdir -pv $FDROID_DATA
|
||||
|
||||
keystore="$DIR"/files/keystore.p12
|
||||
if [[ ! -f "$keystore" ]]; then
|
||||
echo "ERROR: $keystore not detected. Please create it and config.yml using 'fdroid init'."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
config="$DIR"/files/config.yml
|
||||
if [[ ! -f "$config" ]]; then
|
||||
echo "ERROR: $config not detected. Please copy the file that came with your keystore.p12 from 'fdroid init'."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Finish successfully.
|
||||
exit 0
|
||||
@@ -9,7 +9,7 @@ COMPOSE_BAKE=true
|
||||
|
||||
## Ghost ##
|
||||
|
||||
APP_NAME=ghost-app
|
||||
APP_NAME=ghost
|
||||
|
||||
URL='http://localhost:8368'
|
||||
|
||||
|
||||
@@ -13,12 +13,12 @@ services:
|
||||
# SQL Lite
|
||||
|
||||
## App ##
|
||||
container_name: gitea-app
|
||||
container_name: gitea
|
||||
image: gitea/gitea:latest
|
||||
restart: always
|
||||
ports:
|
||||
- "3001:3000"
|
||||
- "2201:22"
|
||||
- "$GITEA_WEB_PORT:3000"
|
||||
- "$GITEA_SSH_PORT:22"
|
||||
volumes:
|
||||
- ../../Volumes/Gitea/gitea:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
|
||||
@@ -4,6 +4,11 @@
|
||||
|
||||
COMPOSE_BAKE=true
|
||||
|
||||
## Gitea ##
|
||||
|
||||
GITEA_WEB_PORT=3001
|
||||
GITEA_SSH_PORT=2201
|
||||
|
||||
## Performance ##
|
||||
|
||||
# Micro Server
|
||||
|
||||
@@ -13,7 +13,7 @@ services:
|
||||
# SQL Lite
|
||||
|
||||
## App ##
|
||||
container_name: gogs-app
|
||||
container_name: gogs
|
||||
image: gogs/gogs:latest
|
||||
restart: always
|
||||
ports:
|
||||
|
||||
@@ -10,19 +10,33 @@ USER root
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# System Dependencies
|
||||
RUN echo "Install Dependencies"
|
||||
RUN apt-get update && \
|
||||
apt-get install -y \
|
||||
git nginx cron curl bash sudo \
|
||||
golang gcc ca-certificates && \
|
||||
ca-certificates \
|
||||
golang gcc && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Compile Hugo (same version Artix is currently shipping, rather than latest.)
|
||||
RUN echo "Compile Hugo"
|
||||
RUN CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@v0.164.0
|
||||
|
||||
# Install Hugo
|
||||
RUN echo "Install Hugo"
|
||||
RUN mv -v $HOME/go/bin/hugo /usr/local/bin/hugo && \
|
||||
chmod -v 755 /usr/local/bin/hugo
|
||||
|
||||
RUN echo "Clean Up Go"
|
||||
RUN rm -rfv /usr/local/go \
|
||||
/root/go/pkg/mod \
|
||||
/root/.cache/go-build \
|
||||
/root/go && \
|
||||
apt-get remove -y --purge golang gcc && \
|
||||
apt-get autoremove -y && \
|
||||
apt-get clean && \
|
||||
rm -rfv /var/lib/apt/lists/* /tmp/*
|
||||
|
||||
# User and Group
|
||||
#RUN groupadd -r hugo && useradd -r -g hugo hugo
|
||||
|
||||
@@ -47,4 +61,4 @@ RUN chmod +x /root/main.sh
|
||||
## Main ##
|
||||
# Install + Run Website
|
||||
WORKDIR /var/www/
|
||||
CMD /root/main.sh "$REPO" "$BRANCH" "$PROD" "$DEV"
|
||||
CMD /root/main.sh "$REPO" "$BRANCH" "$PROD" "$DEV" "$BASEURL"
|
||||
@@ -6,16 +6,18 @@ services:
|
||||
container_name: hugo
|
||||
build:
|
||||
context: ./
|
||||
image: hyperling-hugo:latest
|
||||
image: hyperling/hugo:$BRANCH
|
||||
pull_policy: never
|
||||
restart: always
|
||||
ports:
|
||||
- 8013:80 # Production minified files served using NGINX.
|
||||
- 1380:1380 # Development files with drafts served by Hugo Server.
|
||||
- $NGINX_PORT:80 # Production minified files served using NGINX.
|
||||
#- $HUGO_PORT:1380 # Development files with drafts served by Hugo Server.
|
||||
environment:
|
||||
- REPO=$REPO
|
||||
- BRANCH=$BRANCH
|
||||
- PROD=$PROD
|
||||
- DEV=$DEV
|
||||
- PROD=$NGINX
|
||||
- DEV=$HUGO
|
||||
- BASEURL=$BASEURL
|
||||
healthcheck:
|
||||
test: curl -sS http://localhost:80 || curl -sS http://localhost:1380 || exit 1
|
||||
interval: 1m
|
||||
|
||||
@@ -16,10 +16,14 @@ BRANCH=prod
|
||||
# Please use values YES/TRUE and NO/FALSE.
|
||||
|
||||
# Whether to start NGINX
|
||||
PROD=YES
|
||||
NGINX=YES
|
||||
NGINX_PORT=8013
|
||||
|
||||
# Whether to start Hugo Server
|
||||
DEV=NO
|
||||
HUGO=NO
|
||||
HUGO_PORT=1380
|
||||
|
||||
BASEURL=https://blog.hyperling.com
|
||||
|
||||
#
|
||||
## Resources ##
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
cd /var/www/hugo/site
|
||||
|
||||
FORCE="$1"
|
||||
BASEURL="$2"
|
||||
|
||||
echo "*** Running cronjob @ `date` ***"
|
||||
|
||||
@@ -16,7 +17,7 @@ if [[ $status != 0 && -e /var/www/html/index.html && -z $FORCE ]]; then
|
||||
fi
|
||||
|
||||
# If the project was not already up to date, build the new files for NGINX.
|
||||
/usr/local/bin/hugo --gc --minify
|
||||
/usr/local/bin/hugo $BASEURL --gc --minify
|
||||
status="$?"
|
||||
echo "* Hugo status is '$status', FORCE is '$FORCE'."
|
||||
if [[ $status == 0 && -e public/index.html ]]; then
|
||||
|
||||
@@ -17,6 +17,13 @@ DEV="$4"
|
||||
typeset -u DEV
|
||||
echo "DEV='$DEV'"
|
||||
|
||||
BASEURL="$5"
|
||||
echo "BASEURL='$BASEURL'"
|
||||
baseurl=""
|
||||
if [[ -n "$BASEURL" ]]; then
|
||||
baseurl="-b $BASEURL"
|
||||
fi
|
||||
|
||||
SITE="/var/www/hugo/site"
|
||||
CLONE="/var/www/hugo/site-new"
|
||||
|
||||
@@ -40,7 +47,7 @@ mv -v $CLONE $SITE
|
||||
|
||||
echo "*** Copying Static Files to NGINX ***"
|
||||
rm -rfv /var/www/html/*
|
||||
sudo -u www-data /var/www/hugo/cronjob.sh
|
||||
sudo -u www-data /var/www/hugo/cronjob.sh "" "$baseurl"
|
||||
|
||||
echo "*** Starting Cron ***"
|
||||
service cron start
|
||||
@@ -73,7 +80,7 @@ if [[ "$DEV" == "Y"* || "$DEV" == "T"* ]]; then
|
||||
echo "* Dev server not detected, starting..."
|
||||
cd $SITE
|
||||
killall hugo 2>/dev/null
|
||||
sudo -u www-data hugo server -D -F --noBuildLock --bind 0.0.0.0 -p 1380 &
|
||||
sudo -u www-data hugo server $baseurl -D -F --noBuildLock --bind 0.0.0.0 -p 1380 &
|
||||
fi
|
||||
sleep 30
|
||||
done &
|
||||
|
||||
@@ -3,9 +3,11 @@
|
||||
|
||||
services:
|
||||
app:
|
||||
container_name: www-app
|
||||
container_name: www
|
||||
build:
|
||||
context: ./
|
||||
image: hyperling/website:latest
|
||||
pull_policy: never
|
||||
restart: always
|
||||
ports:
|
||||
- 8317:8080
|
||||
|
||||
@@ -23,9 +23,11 @@ services:
|
||||
|
||||
## Main ##
|
||||
lt-app:
|
||||
container_name: lt-app
|
||||
container_name: lt
|
||||
build:
|
||||
context: ./
|
||||
image: hyperling/libretranslate:latest
|
||||
pull_policy: never
|
||||
restart: always
|
||||
ports:
|
||||
- "5000:5000"
|
||||
|
||||
@@ -69,9 +69,11 @@ services:
|
||||
|
||||
## Nextcloud ##
|
||||
nc-app:
|
||||
container_name: nc-app
|
||||
container_name: nc
|
||||
build:
|
||||
context: ./
|
||||
image: hyperling/nextcloud:latest
|
||||
pull_policy: never
|
||||
restart: always
|
||||
ports:
|
||||
- 8080:80
|
||||
|
||||
@@ -69,9 +69,11 @@ services:
|
||||
|
||||
## Nextcloud ##
|
||||
nc-app:
|
||||
container_name: nc-app
|
||||
container_name: nc
|
||||
build:
|
||||
context: ./
|
||||
image: hyperling/nextcloud:latest
|
||||
pull_policy: never
|
||||
restart: always
|
||||
ports:
|
||||
- 8080:80
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
services:
|
||||
pp-app:
|
||||
container_name: pp-app
|
||||
container_name: pp
|
||||
image: photoprism/photoprism:latest
|
||||
## Don't enable automatic restarts until PhotoPrism has been properly configured and tested!
|
||||
## If the service gets stuck in a restart loop, this points to a memory, filesystem, network, or database issue:
|
||||
|
||||
@@ -32,6 +32,8 @@ services:
|
||||
container_name: prosody
|
||||
build:
|
||||
context: ./
|
||||
image: hyperling/prosody:latest
|
||||
pull_policy: never
|
||||
restart: always
|
||||
ports:
|
||||
- 5222:5222
|
||||
|
||||
@@ -19,6 +19,8 @@ services:
|
||||
args:
|
||||
PACKAGES: ${PACKAGES}
|
||||
EXTRA_ARCH: ${EXTRA_ARCH}
|
||||
image: hyperling/provision-test:arch
|
||||
pull_policy: never
|
||||
restart: "no"
|
||||
environment:
|
||||
- PACKAGES=$PACKAGES
|
||||
@@ -47,6 +49,8 @@ services:
|
||||
args:
|
||||
PACKAGES: ${PACKAGES}
|
||||
EXTRA_DEBIAN: ${EXTRA_DEBIAN}
|
||||
image: hyperling/provision-test:debian
|
||||
pull_policy: never
|
||||
restart: "no"
|
||||
environment:
|
||||
- PACKAGES=$PACKAGES
|
||||
@@ -75,6 +79,8 @@ services:
|
||||
args:
|
||||
PACKAGES: ${PACKAGES}
|
||||
EXTRA_FEDORA: ${EXTRA_FEDORA}
|
||||
image: hyperling/provision-test:fedora
|
||||
pull_policy: never
|
||||
restart: "no"
|
||||
environment:
|
||||
- PACKAGES=$PACKAGES
|
||||
@@ -103,6 +109,8 @@ services:
|
||||
args:
|
||||
PACKAGES: ${PACKAGES}
|
||||
EXTRA_OPENSUSE: ${EXTRA_OPENSUSE}
|
||||
image: hyperling/provision-test:opensuse
|
||||
pull_policy: never
|
||||
restart: "no"
|
||||
environment:
|
||||
- PACKAGES=$PACKAGES
|
||||
@@ -131,6 +139,8 @@ services:
|
||||
args:
|
||||
PACKAGES: ${PACKAGES}
|
||||
EXTRA_UBUNTU: ${EXTRA_UBUNTU}
|
||||
image: hyperling/provision-test:ubuntu
|
||||
pull_policy: never
|
||||
restart: "no"
|
||||
environment:
|
||||
- PACKAGES=$PACKAGES
|
||||
|
||||
@@ -23,7 +23,7 @@ How to first begin using this subproject.
|
||||
```
|
||||
1. Verify it started correctly, no configuration file errors.
|
||||
```
|
||||
# docker logs rp-app
|
||||
# docker logs rp
|
||||
# docker logs rp-certbot
|
||||
```
|
||||
1. Create the real certificates.
|
||||
|
||||
@@ -8,9 +8,11 @@
|
||||
services:
|
||||
|
||||
app:
|
||||
container_name: rp-app
|
||||
container_name: rp
|
||||
build:
|
||||
context: ./
|
||||
image: hyperling/nginx-reverse-proxy:latest
|
||||
pull_policy: never
|
||||
restart: always
|
||||
ports:
|
||||
- "80:80"
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
services:
|
||||
|
||||
app:
|
||||
container_name: wp-app
|
||||
container_name: wp
|
||||
image: wordpress:latest
|
||||
restart: always
|
||||
ports:
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ fi
|
||||
## Variables ##
|
||||
|
||||
dir="$1"
|
||||
file="$dir/docker-compose.yml"
|
||||
file="$dir/compose.yml"
|
||||
|
||||
## Main ##
|
||||
|
||||
|
||||
+9
-8
@@ -151,13 +151,14 @@ if [[ -n $up || -n $down || -n $build || -n $pull || -n $maintenance ]]; then
|
||||
pwd
|
||||
|
||||
# Ensure env file exists so that all compose variables are populated.
|
||||
if [[ -e "./example.env" && ! -e "./.env" && -f "docker-compose.yml" ]]; then
|
||||
if [[ -f "./example.env" && ! -f "./.env" \
|
||||
&& ( -f "docker-compose.yml" || -f "compose.yml") ]]; then
|
||||
echo "WARNING: .env file was not found, copying example as placeholder."
|
||||
cp -v example.env .env
|
||||
fi
|
||||
|
||||
# Ensure all configuration files have been created.
|
||||
if [[ -d "./config" && -f "docker-compose.yml" ]]; then
|
||||
if [[ -d "./config" && (-f "docker-compose.yml" || -f "compose.yml") ]]; then
|
||||
ls ./config/*.example 2>/dev/null | while read example; do
|
||||
real=${example//.example/}
|
||||
if [[ ! -e $real ]]; then
|
||||
@@ -168,12 +169,12 @@ if [[ -n $up || -n $down || -n $build || -n $pull || -n $maintenance ]]; then
|
||||
fi
|
||||
|
||||
# Run the prep script to create any necessary volumes.
|
||||
if [[ -f "prep.sh" && -f "docker-compose.yml" ]]; then
|
||||
if [[ -f "prep.sh" && (-f "docker-compose.yml" || -f "compose.yml") ]]; then
|
||||
./prep.sh
|
||||
fi
|
||||
|
||||
# Run any maintenance scripts associated with the container.
|
||||
if [[ "$maintenance" == "Y" && -f "docker-compose.yml" ]]; then
|
||||
if [[ "$maintenance" == "Y" && (-f "docker-compose.yml" || -f "compose.yml") ]]; then
|
||||
if [[ -f "maintenance.sh" ]]; then
|
||||
./maintenance.sh
|
||||
fi
|
||||
@@ -184,22 +185,22 @@ if [[ -n $up || -n $down || -n $build || -n $pull || -n $maintenance ]]; then
|
||||
|
||||
# Update container from remote source such as Docker Hub.
|
||||
if [[ $pull == "Y" ]]; then
|
||||
[ -e docker-compose.yml ] && docker compose pull
|
||||
[[ -f "docker-compose.yml" || -f "compose.yml" ]] && docker compose pull
|
||||
fi
|
||||
|
||||
# Execute commands within the container's Dockerfile.
|
||||
if [[ $build == "Y" ]]; then
|
||||
[ -e Dockerfile ] && docker compose build
|
||||
[[ -e Dockerfile ]] && docker compose build
|
||||
fi
|
||||
|
||||
# Shut off container.
|
||||
if [[ $down == "Y" ]]; then
|
||||
[ -e docker-compose.yml ] && docker compose down
|
||||
[[ -f "docker-compose.yml" || -f "compose.yml" ]] && docker compose down
|
||||
fi
|
||||
|
||||
# Run the container as a daemon.
|
||||
if [[ $up == "Y" ]]; then
|
||||
[ -e docker-compose.yml ] && docker compose up -d
|
||||
[[ -f "docker-compose.yml" || -f "compose.yml" ]] && docker compose up -d
|
||||
fi
|
||||
|
||||
cd ..
|
||||
|
||||
Reference in new issue
Block a user