diff --git a/Config/Hyperling.com/Dockerfile b/Config/Hyperling.com/Dockerfile index 9459726..29daecd 100644 --- a/Config/Hyperling.com/Dockerfile +++ b/Config/Hyperling.com/Dockerfile @@ -6,7 +6,7 @@ FROM node:lts-slim # Cache System Dependencies -RUN apt-get update && apt-get install -y git php-cli +RUN apt-get update && apt-get install -y git php-cli sudo curl # Cache Node Dependencies RUN mkdir -p /var/www/api @@ -21,5 +21,5 @@ CMD cd /var/www/api && \ rm -rfv website/files && \ mv -v website/* ./ && \ rm -rfv website && \ - echo "Starting Website" && \ + echo "Starting Website's Run Script" && \ ./run.sh diff --git a/Config/Hyperling.com/env.example b/Config/Hyperling.com/env.example new file mode 100644 index 0000000..768122e --- /dev/null +++ b/Config/Hyperling.com/env.example @@ -0,0 +1,9 @@ +# This file should be renamed '.env' and have any private values modified. + +## 2025-06-16 +## Performance Notes for Enabling BAKE +# Compose by itself takes about 35s to build this project. +# Enabling this setting first cause the build to take 80s. +# Subsequent builds consistently take less than 2 seconds. +# Testing was done on the micro server, not a workstation. +COMPOSE_BAKE=true diff --git a/Config/Nextcloud/Dockerfile b/Config/Nextcloud/Dockerfile new file mode 100644 index 0000000..8f105d0 --- /dev/null +++ b/Config/Nextcloud/Dockerfile @@ -0,0 +1,11 @@ +# 2025-06-16 Hyperling +# Tired of running fixes.sh to install extra packages. Bake them in! + +FROM nextcloud:stable + +# Cache System Dependencies +RUN apt-get update && apt-get install -y sudo libmagickcore-6.q16-6-extra htop \ + iputils-ping dnsutils vim bzip2 libbz2-dev + +# Configure PHP Dependency +RUN docker-php-ext-install bz2 diff --git a/Config/Nextcloud/docker-compose.micro.yml b/Config/Nextcloud/docker-compose.micro.yml index ec88316..339f906 100644 --- a/Config/Nextcloud/docker-compose.micro.yml +++ b/Config/Nextcloud/docker-compose.micro.yml @@ -72,7 +72,8 @@ services: ## Nextcloud ## nc-app: container_name: nc-app - image: nextcloud:stable + build: + context: ./ restart: always ports: - 8080:80 diff --git a/Config/Nextcloud/docker-compose.standard.yml b/Config/Nextcloud/docker-compose.standard.yml index a1cdb6d..0343153 100644 --- a/Config/Nextcloud/docker-compose.standard.yml +++ b/Config/Nextcloud/docker-compose.standard.yml @@ -73,7 +73,8 @@ services: ## Nextcloud ## nc-app: container_name: nc-app - image: nextcloud:stable + build: + context: ./ restart: always ports: - 8080:80 diff --git a/Config/Nextcloud/env.micro b/Config/Nextcloud/env.micro index 0d7b512..96d3b94 100644 --- a/Config/Nextcloud/env.micro +++ b/Config/Nextcloud/env.micro @@ -1,5 +1,6 @@ -# Example environment file for Nextcloud stack, should be copied as `.env`. The -# variables here only apply to the compose file. If you need it passed to a +# Example environment file for Nextcloud stack, should be copied as `.env`. + +# The variables here only apply to the compose file. If you need it passed to a # container then it also needs specified in its `environment:` operator. # # ** All usernames and passwords need changed before running in production! ** @@ -7,6 +8,17 @@ # Full guide on the Nextcloud parameters which may be supplied: # https://github.com/docker-library/docs/blob/master/nextcloud/README.md#auto-configuration-via-environment-variables +# +## Docker ## +# + +# 20250616 - Performance testing was done on an old workstation. +# Only Compose: 3.8, 2.5, 1.8, 1.8, 2.1, 2.0, 1.7 seconds +# Compose Bake: 3.7, 0.9, 2.3, 2.0, 3.1, 2.1, 1.8 seconds +# Not really needed but also not harmful and will eliminate the warning. +# Timings do not include the initial pull for either method. +COMPOSE_BAKE=true + # ## Nextcloud ## # diff --git a/Config/Nextcloud/env.standard b/Config/Nextcloud/env.standard index f3e1349..37bf875 100644 --- a/Config/Nextcloud/env.standard +++ b/Config/Nextcloud/env.standard @@ -1,5 +1,6 @@ -# Example environment file for Nextcloud stack, should be copied as `.env`. The -# variables here only apply to the compose file. If you need it passed to a +# Example environment file for Nextcloud stack, should be copied as `.env`. + +# The variables here only apply to the compose file. If you need it passed to a # container then it also needs specified in its `environment:` operator. # # ** All usernames and passwords need changed before running in production! ** @@ -7,6 +8,17 @@ # Full guide on the Nextcloud parameters which may be supplied: # https://github.com/docker-library/docs/blob/master/nextcloud/README.md#auto-configuration-via-environment-variables +# +## Docker ## +# + +# 20250616 - Performance testing was done on an old workstation. +# Only Compose: 3.8, 2.5, 1.8, 1.8, 2.1, 2.0, 1.7 seconds +# Compose Bake: 3.7, 0.9, 2.3, 2.0, 3.1, 2.1, 1.8 seconds +# Not really needed but also not harmful and will eliminate the warning. +# Timings do not include the initial pull for either method. +COMPOSE_BAKE=true + # ## Nextcloud ## # diff --git a/Config/Nextcloud/fixes.sh b/Config/Nextcloud/maintenance.sh similarity index 75% rename from Config/Nextcloud/fixes.sh rename to Config/Nextcloud/maintenance.sh index 270ab56..39cc526 100755 --- a/Config/Nextcloud/fixes.sh +++ b/Config/Nextcloud/maintenance.sh @@ -1,6 +1,6 @@ #!/bin/bash # 2022-09-25 Hyperling -# Put fixes in a file so they do not need remembered. +# Put maintenance needs into a file so the commands do not need remembered. ## Setup ## @@ -11,19 +11,20 @@ source $DIR/../../source.env ## Main ## -echo -e "\n*** APT ***" - -echo -e "\n`date` - Update Apt Cache" -docker exec -it nc-app apt update -y - -echo -e "\n`date` - Install Additional Software" -docker exec -it nc-app apt install -y sudo libmagickcore-6.q16-6-extra htop \ - iputils-ping dnsutils vim bzip2 libbz2-dev # php-bz2 - -# 20240130 -# https://help.nextcloud.com/t/docker-image-setup-warning-missing-bz2-after-update-to-nc-28-0-0/176605 -echo -e "\n`date` - Compile PHP Modules" -docker exec -it nc-app docker-php-ext-install bz2 +##### 20250616 - Apt and PHP commands now baked into the Dockerfile!! :D ##### +###echo -e "\n*** APT ***" +### +###echo -e "\n`date` - Update Apt Cache" +###docker exec -it nc-app apt update -y +### +###echo -e "\n`date` - Install Additional Software" +###docker exec -it nc-app apt install -y sudo libmagickcore-6.q16-6-extra htop \ +### iputils-ping dnsutils vim bzip2 libbz2-dev # php-bz2 +### +#### 20240130 +#### https://help.nextcloud.com/t/docker-image-setup-warning-missing-bz2-after-update-to-nc-28-0-0/176605 +###echo -e "\n`date` - Compile PHP Modules" +###docker exec -it nc-app docker-php-ext-install bz2 # 2023-12-04 Make sure cron and chmod commands get run. echo -e "\n*** CRON ***"