Compare commits
15 Commits
bf0497c02a
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
| 564dec0b63 | |||
| 427471d825 | |||
| 165c2aa64c | |||
| 4772826d4a | |||
| 052b28e265 | |||
| 4cc229a66d | |||
| 978a9778a5 | |||
| e5c68aa12e | |||
| b16bf3cf07 | |||
| 50b7629860 | |||
| 91dfbca76e | |||
| c0a220cebe | |||
| 369728b7ef | |||
| 31dda9d64f | |||
| 0e87eb3515 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -29,7 +29,7 @@ disabled
|
|||||||
disabled.*
|
disabled.*
|
||||||
|
|
||||||
# Ignore any .env files which are not explicitly committed to the project.
|
# Ignore any .env files which are not explicitly committed to the project.
|
||||||
*.env
|
.env
|
||||||
|
|
||||||
# 2024-01-23 Ignore true docker-compose files, only show examples from now on.
|
# 2024-01-23 Ignore true docker-compose files, only show examples from now on.
|
||||||
docker-compose.yml
|
docker-compose.yml
|
||||||
|
|||||||
@@ -2,7 +2,16 @@
|
|||||||
|
|
||||||
FROM archlinux:base
|
FROM archlinux:base
|
||||||
|
|
||||||
RUN pacman -Syu --noconfirm && pacman -Sy --noconfirm $PACKAGES $EXTRA_ARCH
|
ARG PACKAGES
|
||||||
|
ENV PACKAGES="$PACKAGES"
|
||||||
|
ARG EXTRA_ARCH
|
||||||
|
ENV EXTRA_ARCH="$EXTRA_ARCH"
|
||||||
|
|
||||||
|
# Arch is rolling, and therefore recommends updating the container immediately.
|
||||||
|
# https://hub.docker.com/_/archlinux#updating
|
||||||
|
RUN pacman -Syyu --noconfirm
|
||||||
|
|
||||||
|
RUN pacman -Syy --noconfirm $PACKAGES $EXTRA_ARCH
|
||||||
|
|
||||||
COPY bin/main.sh /root/main.sh
|
COPY bin/main.sh /root/main.sh
|
||||||
RUN chmod +x /root/main.sh
|
RUN chmod +x /root/main.sh
|
||||||
|
|||||||
@@ -1,8 +1,16 @@
|
|||||||
# Create a VM for testing Ansible provisioning.
|
# Create a VM for testing Ansible provisioning.
|
||||||
|
|
||||||
FROM debian:trixie
|
FROM debian:latest
|
||||||
|
|
||||||
RUN apt update && apt dist-upgrade -y && apt install -y $PACKAGES $EXTRA_DEBIAN
|
ARG PACKAGES
|
||||||
|
ENV PACKAGES="$PACKAGES"
|
||||||
|
ARG EXTRA_DEBIAN
|
||||||
|
ENV EXTRA_DEBIAN="$EXTRA_DEBIAN"
|
||||||
|
|
||||||
|
# Use the image as it comes, do not upgrade it, so that it stays reproducible.
|
||||||
|
#RUN apt update && apt dist-upgrade -y
|
||||||
|
|
||||||
|
RUN apt update && apt install -y $PACKAGES $EXTRA_DEBIAN
|
||||||
|
|
||||||
COPY bin/main.sh /root/main.sh
|
COPY bin/main.sh /root/main.sh
|
||||||
RUN chmod +x /root/main.sh
|
RUN chmod +x /root/main.sh
|
||||||
|
|||||||
@@ -2,7 +2,15 @@
|
|||||||
|
|
||||||
FROM fedora:latest
|
FROM fedora:latest
|
||||||
|
|
||||||
RUN dnf upgrade --refresh -y && dnf install -y $PACKAGES $EXTRA_FEDORA
|
ARG PACKAGES
|
||||||
|
ENV PACKAGES="$PACKAGES"
|
||||||
|
ARG EXTRA_FEDORA
|
||||||
|
ENV EXTRA_FEDORA="$EXTRA_FEDORA"
|
||||||
|
|
||||||
|
# Use the image as it comes, do not upgrade it, so that it stays reproducible.
|
||||||
|
#RUN dnf upgrade --refresh -y
|
||||||
|
|
||||||
|
RUN dnf install --refresh -y $PACKAGES $EXTRA_FEDORA
|
||||||
|
|
||||||
COPY bin/main.sh /root/main.sh
|
COPY bin/main.sh /root/main.sh
|
||||||
RUN chmod +x /root/main.sh
|
RUN chmod +x /root/main.sh
|
||||||
|
|||||||
@@ -1,10 +1,16 @@
|
|||||||
# Create a VM for testing Ansible provisioning.
|
# Create a VM for testing Ansible provisioning.
|
||||||
|
|
||||||
FROM opensuse/tumbleweed
|
FROM opensuse/tumbleweed:latest
|
||||||
|
|
||||||
RUN zypper -n refresh \
|
ARG PACKAGES
|
||||||
&& zypper -n dist-upgrade -y \
|
ENV PACKAGES="$PACKAGES"
|
||||||
&& zypper -n install -y $PACKAGES $EXTRA_OPENSUSE
|
ARG EXTRA_OPENSUSE
|
||||||
|
ENV EXTRA_OPENSUSE="$EXTRA_OPENSUSE"
|
||||||
|
|
||||||
|
# Use the image as it comes, do not upgrade it, so that it stays reproducible.
|
||||||
|
#RUN zypper -n refresh && zypper -n dist-upgrade -y
|
||||||
|
|
||||||
|
RUN zypper -n refresh && zypper -n install -y $PACKAGES $EXTRA_OPENSUSE
|
||||||
|
|
||||||
COPY bin/main.sh /root/main.sh
|
COPY bin/main.sh /root/main.sh
|
||||||
RUN chmod +x /root/main.sh
|
RUN chmod +x /root/main.sh
|
||||||
|
|||||||
@@ -2,7 +2,15 @@
|
|||||||
|
|
||||||
FROM ubuntu:rolling
|
FROM ubuntu:rolling
|
||||||
|
|
||||||
RUN apt update && apt dist-upgrade -y && apt install -y $PACKAGES $EXTRA_UBUNTU
|
ARG PACKAGES
|
||||||
|
ENV PACKAGES="$PACKAGES"
|
||||||
|
ARG EXTRA_UBUNTU
|
||||||
|
ENV EXTRA_UBUNTU="$EXTRA_UBUNTU"
|
||||||
|
|
||||||
|
# Use the image as it comes, do not upgrade it, so that it stays reproducible.
|
||||||
|
#RUN apt update && apt dist-upgrade -y
|
||||||
|
|
||||||
|
RUN apt update && apt install -y $PACKAGES $EXTRA_UBUNTU
|
||||||
|
|
||||||
COPY bin/main.sh /root/main.sh
|
COPY bin/main.sh /root/main.sh
|
||||||
RUN chmod +x /root/main.sh
|
RUN chmod +x /root/main.sh
|
||||||
|
|||||||
@@ -17,6 +17,9 @@ services:
|
|||||||
context: ./
|
context: ./
|
||||||
dockerfile: Dockerfiles/arch
|
dockerfile: Dockerfiles/arch
|
||||||
network: host
|
network: host
|
||||||
|
args:
|
||||||
|
PACKAGES: ${PACKAGES}
|
||||||
|
EXTRA_ARCH: ${EXTRA_ARCH}
|
||||||
restart: no
|
restart: no
|
||||||
environment:
|
environment:
|
||||||
- PACKAGES=$PACKAGES
|
- PACKAGES=$PACKAGES
|
||||||
@@ -43,6 +46,9 @@ services:
|
|||||||
context: ./
|
context: ./
|
||||||
dockerfile: Dockerfiles/debian
|
dockerfile: Dockerfiles/debian
|
||||||
network: host
|
network: host
|
||||||
|
args:
|
||||||
|
PACKAGES: ${PACKAGES}
|
||||||
|
EXTRA_DEBIAN: ${EXTRA_DEBIAN}
|
||||||
restart: no
|
restart: no
|
||||||
environment:
|
environment:
|
||||||
- PACKAGES=$PACKAGES
|
- PACKAGES=$PACKAGES
|
||||||
@@ -69,6 +75,9 @@ services:
|
|||||||
context: ./
|
context: ./
|
||||||
dockerfile: Dockerfiles/fedora
|
dockerfile: Dockerfiles/fedora
|
||||||
network: host
|
network: host
|
||||||
|
args:
|
||||||
|
PACKAGES: ${PACKAGES}
|
||||||
|
EXTRA_FEDORA: ${EXTRA_FEDORA}
|
||||||
restart: no
|
restart: no
|
||||||
environment:
|
environment:
|
||||||
- PACKAGES=$PACKAGES
|
- PACKAGES=$PACKAGES
|
||||||
@@ -95,6 +104,9 @@ services:
|
|||||||
context: ./
|
context: ./
|
||||||
dockerfile: Dockerfiles/opensuse
|
dockerfile: Dockerfiles/opensuse
|
||||||
network: host
|
network: host
|
||||||
|
args:
|
||||||
|
PACKAGES: ${PACKAGES}
|
||||||
|
EXTRA_OPENSUSE: ${EXTRA_OPENSUSE}
|
||||||
restart: no
|
restart: no
|
||||||
environment:
|
environment:
|
||||||
- PACKAGES=$PACKAGES
|
- PACKAGES=$PACKAGES
|
||||||
@@ -121,6 +133,9 @@ services:
|
|||||||
context: ./
|
context: ./
|
||||||
dockerfile: Dockerfiles/ubuntu
|
dockerfile: Dockerfiles/ubuntu
|
||||||
network: host
|
network: host
|
||||||
|
args:
|
||||||
|
PACKAGES: ${PACKAGES}
|
||||||
|
EXTRA_UBUNTU: ${EXTRA_UBUNTU}
|
||||||
restart: no
|
restart: no
|
||||||
environment:
|
environment:
|
||||||
- PACKAGES=$PACKAGES
|
- PACKAGES=$PACKAGES
|
||||||
@@ -7,8 +7,7 @@ CPU=0.2
|
|||||||
RAM=0.2G
|
RAM=0.2G
|
||||||
|
|
||||||
## Storage
|
## Storage
|
||||||
#STORAGE_DIR=../../Volumes/ProvisionTests
|
PT_STORAGE_DIR=../../Volumes/IGNORED/ProvisionTests
|
||||||
PT_STORAGE_DIR=/tmp/ProvisionTests
|
|
||||||
|
|
||||||
## Packages
|
## Packages
|
||||||
PACKAGES="git bash curl sudo which"
|
PACKAGES="git bash curl sudo which"
|
||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# 2025-07-22 Hyperling
|
|
||||||
# Create the necessary folders for LibreTranslate's volumes to work.
|
|
||||||
# This must be run before the container will start properly.
|
|
||||||
|
|
||||||
## Setup ##
|
## Setup ##
|
||||||
|
|
||||||
@@ -12,7 +9,6 @@ source ../../source.env
|
|||||||
## Main ##
|
## Main ##
|
||||||
|
|
||||||
# Create folders.
|
# Create folders.
|
||||||
|
|
||||||
mkdir -pv "$PT_STORAGE_DIR/arch"
|
mkdir -pv "$PT_STORAGE_DIR/arch"
|
||||||
mkdir -pv "$PT_STORAGE_DIR/debian"
|
mkdir -pv "$PT_STORAGE_DIR/debian"
|
||||||
mkdir -pv "$PT_STORAGE_DIR/fedora"
|
mkdir -pv "$PT_STORAGE_DIR/fedora"
|
||||||
|
|||||||
16
Volumes/IGNORED/README.md
Normal file
16
Volumes/IGNORED/README.md
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# Volumes/IGNORED/README.md
|
||||||
|
|
||||||
|
Docker volumes which do not need included in backups and are safe to delete
|
||||||
|
during downtime without harming the integrity of the application they support
|
||||||
|
can be directed here.
|
||||||
|
|
||||||
|
Examples could be:
|
||||||
|
|
||||||
|
- LibreTranslate's models
|
||||||
|
- These can be downloaded at any time and do not need recovered.
|
||||||
|
- Provision Tests
|
||||||
|
- These are test VMs which ensure privisionin scrips work proeprly.
|
||||||
|
They are meant to be disposed of frequently and recrated from scratch.
|
||||||
|
|
||||||
|
If working on test VMs, such as a dev or stage Nextcloud that shouldn't be
|
||||||
|
taking up backup space, this would also be a good place for them.
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
|
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
|
||||||
PROG="$(basename -- "${BASH_SOURCE[0]}")"
|
PROG="$(basename -- "${BASH_SOURCE[0]}")"
|
||||||
echo "$DIR/$PROG"
|
echo "$DIR/$PROG"
|
||||||
source $DIR/../source.env
|
source "$DIR/../source.env"
|
||||||
|
|
||||||
## Variables ##
|
## Variables ##
|
||||||
|
|
||||||
@@ -71,17 +71,19 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo -e "\n`date` - Create the backup for '$DOCKER_HOME'."
|
echo -e "\n`date` - Create the backup for '$DOCKER_HOME'."
|
||||||
$time zip -r $file.tmp \
|
$time zip -r "$file.tmp" \
|
||||||
$DOCKER_HOME \
|
"$DOCKER_HOME" \
|
||||||
/etc/crontab /etc/cron.d /var/spool/cron \
|
/etc/crontab /etc/cron.d \
|
||||||
/var/{log,mail} 1>/dev/null
|
/var/spool/cron /var/{log,mail} \
|
||||||
mv -v $file.tmp $file
|
--exclude "$DOCKER_HOME/Volumes/IGNORED/*" \
|
||||||
|
1>/dev/null
|
||||||
|
mv -v "$file.tmp" "$file"
|
||||||
|
|
||||||
echo -e "\n`date` - Done with zipping, check size."
|
echo -e "\n`date` - Done with zipping, check size."
|
||||||
ls -sh $file
|
ls -sh "$file"
|
||||||
|
|
||||||
echo -e "\n`date` - Ensure other users can access the file."
|
echo -e "\n`date` - Ensure other users can access the file."
|
||||||
chmod -v 755 $file
|
chmod -v 755 "$file"
|
||||||
|
|
||||||
if [[ "$up" == "TRUE" ]]; then
|
if [[ "$up" == "TRUE" ]]; then
|
||||||
echo -e "\n`date` - Bring services back up."
|
echo -e "\n`date` - Bring services back up."
|
||||||
|
|||||||
Reference in New Issue
Block a user