Compare commits

..

14 Commits

12 changed files with 81 additions and 16 deletions

2
.gitignore vendored
View File

@@ -29,7 +29,7 @@ disabled
disabled.*
# 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.
docker-compose.yml

View File

@@ -2,7 +2,16 @@
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
RUN chmod +x /root/main.sh

View File

@@ -1,8 +1,16 @@
# 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
RUN chmod +x /root/main.sh

View File

@@ -2,7 +2,15 @@
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
RUN chmod +x /root/main.sh

View File

@@ -1,10 +1,16 @@
# Create a VM for testing Ansible provisioning.
FROM opensuse/tumbleweed
FROM opensuse/tumbleweed:latest
RUN zypper -n refresh \
&& zypper -n dist-upgrade -y \
&& zypper -n install -y $PACKAGES $EXTRA_OPENSUSE
ARG PACKAGES
ENV PACKAGES="$PACKAGES"
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
RUN chmod +x /root/main.sh

View File

@@ -2,7 +2,15 @@
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
RUN chmod +x /root/main.sh

View File

@@ -17,6 +17,9 @@ services:
context: ./
dockerfile: Dockerfiles/arch
network: host
args:
PACKAGES: ${PACKAGES}
EXTRA_ARCH: ${EXTRA_ARCH}
restart: no
environment:
- PACKAGES=$PACKAGES
@@ -43,6 +46,9 @@ services:
context: ./
dockerfile: Dockerfiles/debian
network: host
args:
PACKAGES: ${PACKAGES}
EXTRA_DEBIAN: ${EXTRA_DEBIAN}
restart: no
environment:
- PACKAGES=$PACKAGES
@@ -69,6 +75,9 @@ services:
context: ./
dockerfile: Dockerfiles/fedora
network: host
args:
PACKAGES: ${PACKAGES}
EXTRA_FEDORA: ${EXTRA_FEDORA}
restart: no
environment:
- PACKAGES=$PACKAGES
@@ -95,6 +104,9 @@ services:
context: ./
dockerfile: Dockerfiles/opensuse
network: host
args:
PACKAGES: ${PACKAGES}
EXTRA_OPENSUSE: ${EXTRA_OPENSUSE}
restart: no
environment:
- PACKAGES=$PACKAGES
@@ -121,6 +133,9 @@ services:
context: ./
dockerfile: Dockerfiles/ubuntu
network: host
args:
PACKAGES: ${PACKAGES}
EXTRA_UBUNTU: ${EXTRA_UBUNTU}
restart: no
environment:
- PACKAGES=$PACKAGES

View File

@@ -7,8 +7,7 @@ CPU=0.2
RAM=0.2G
## Storage
#STORAGE_DIR=../../Volumes/ProvisionTests
PT_STORAGE_DIR=/tmp/ProvisionTests
PT_STORAGE_DIR=../../Volumes/IGNORED/ProvisionTests
## Packages
PACKAGES="git bash curl sudo which"

View File

@@ -1,7 +1,4 @@
#!/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 ##
@@ -12,7 +9,6 @@ source ../../source.env
## Main ##
# Create folders.
mkdir -pv "$PT_STORAGE_DIR/arch"
mkdir -pv "$PT_STORAGE_DIR/debian"
mkdir -pv "$PT_STORAGE_DIR/fedora"

16
Volumes/IGNORED/README.md Normal file
View 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.