From dfb151926dc3ee05bd74503897e6942551716521 Mon Sep 17 00:00:00 2001 From: Florian Zirker Date: Wed, 2 Oct 2024 13:44:08 +0000 Subject: [PATCH 1/9] install forgejo-runner to use actions --- git/docker-compose.yaml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/git/docker-compose.yaml b/git/docker-compose.yaml index 2e525ef..2d94cb5 100644 --- a/git/docker-compose.yaml +++ b/git/docker-compose.yaml @@ -50,8 +50,39 @@ services: - "docker.group=git" + docker-in-docker: + image: docker:dind + privileged: 'true' + command: ['dockerd', '-H', 'tcp://0.0.0.0:2375', '--tls=false'] + restart: 'unless-stopped' + networks: + - runner + + + runner: + image: code.forgejo.org/forgejo/runner:3.5.1 + links: + - docker-in-docker + depends_on: + docker-in-docker: + condition: service_started + environment: + DOCKER_HOST: tcp://docker-in-docker:2375 + user: 1002:1002 + volumes: + - /var/dockervolumes/git/runner:/data + restart: 'unless-stopped' + # command: '/bin/sh -c "while : ; do sleep 1 ; done ;"' # for registration + command: '/bin/sh -c "sleep 5; forgejo-runner daemon"' + networks: + - git + - runner + + networks: git: web: external: true + runner: + From 12a7caef7900d0dc7262983d0fb7d739524b0ab1 Mon Sep 17 00:00:00 2001 From: Florian Zirker Date: Tue, 21 Jan 2025 10:45:34 +0100 Subject: [PATCH 2/9] Set Version for forgejo runner --- git/docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git/docker-compose.yaml b/git/docker-compose.yaml index 2d94cb5..a65c951 100644 --- a/git/docker-compose.yaml +++ b/git/docker-compose.yaml @@ -60,7 +60,7 @@ services: runner: - image: code.forgejo.org/forgejo/runner:3.5.1 + image: code.forgejo.org/forgejo/runner:${FORGEJO_RUNNER_VERSION} links: - docker-in-docker depends_on: From b6bda21a1fb07bf6b7033bcec9b5ccdc7fe707bc Mon Sep 17 00:00:00 2001 From: Florian Zirker Date: Wed, 12 Feb 2025 13:09:27 +0100 Subject: [PATCH 3/9] Add missing proxy conf for Firefoxsync --- proxy/caddy/Caddyfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/proxy/caddy/Caddyfile b/proxy/caddy/Caddyfile index a1e9b11..42c0d2c 100644 --- a/proxy/caddy/Caddyfile +++ b/proxy/caddy/Caddyfile @@ -82,6 +82,11 @@ } } + @ffsync host firefoxsync.{$DOMAIN} + handle @ffsync { + reverse_proxy syncserver:5000 + } + @mail host mail.{$DOMAIN} handle @mail { reverse_proxy nginx-mailcow:8090 From fcecb7aaf85e4cc889102790f861850483ecd983 Mon Sep 17 00:00:00 2001 From: Florian Zirker Date: Fri, 28 Mar 2025 08:54:15 +0100 Subject: [PATCH 4/9] Jitsi Meet --- proxy/caddy/Caddyfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/proxy/caddy/Caddyfile b/proxy/caddy/Caddyfile index 42c0d2c..8b286cf 100644 --- a/proxy/caddy/Caddyfile +++ b/proxy/caddy/Caddyfile @@ -92,6 +92,11 @@ reverse_proxy nginx-mailcow:8090 } + @meet host meet.{$DOMAIN} + handle @meet { + reverse_proxy jitsi-meet-web:80 + } + # Fallback unhandled (sub)domains handle { error 404 From 99b7827f19321f8cfab061ad62577176783ef260 Mon Sep 17 00:00:00 2001 From: Florian Zirker Date: Mon, 14 Jul 2025 10:25:11 +0200 Subject: [PATCH 5/9] Forgejo mirror --- git/docker-compose.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/git/docker-compose.yaml b/git/docker-compose.yaml index 2e525ef..16f495b 100644 --- a/git/docker-compose.yaml +++ b/git/docker-compose.yaml @@ -1,7 +1,8 @@ services: forgejo: - image: codeberg.org/forgejo/forgejo:${FORGEJO_VERSION} + image: codeberg.org/forgejo/forgejo:${FORGEJO_VERSION} # official url + # image: data.forgejo.org/forgejo/forgejo:${FORGEJO_VERSION} # mirror volumes: - ${STORAGE_PATH}/forgejo_data:/data - /etc/timezone:/etc/timezone:ro From 977593745ef74ed7916765f8bfd0bb8a8836cc85 Mon Sep 17 00:00:00 2001 From: Florian Zirker Date: Mon, 14 Jul 2025 12:39:19 +0200 Subject: [PATCH 6/9] Fix for double redirect --- proxy/caddy/Caddyfile | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/proxy/caddy/Caddyfile b/proxy/caddy/Caddyfile index 8b286cf..9a91c5b 100644 --- a/proxy/caddy/Caddyfile +++ b/proxy/caddy/Caddyfile @@ -93,9 +93,9 @@ } @meet host meet.{$DOMAIN} - handle @meet { - reverse_proxy jitsi-meet-web:80 - } + handle @meet { + reverse_proxy jitsi-meet-web:80 + } # Fallback unhandled (sub)domains handle { @@ -112,6 +112,12 @@ } } +# redirect URL without subdomain to www {$DOMAIN} { redir https://www.{$DOMAIN}{uri} permanent } + +# shortcut to prevent double redirect (http --> https AND without subdomain to www) +http://{$DOMAIN} { + redir https://www.{$DOMAIN}{uri} permanent +} From 5113ef52fd036a0d55980d86edab68968a7a99cc Mon Sep 17 00:00:00 2001 From: Florian Zirker Date: Tue, 15 Jul 2025 09:23:31 +0200 Subject: [PATCH 7/9] Taskfile --- Taskfile.yaml | 57 ++++++++++++++++++++++++++++++++ firefoxsync/Tasks.yaml | 42 ++++++++++++++++++++++++ git/Tasks.yaml | 43 ++++++++++++++++++++++++ news/Tasks.yaml | 42 ++++++++++++++++++++++++ nextcloud/Tasks.yaml | 74 ++++++++++++++++++++++++++++++++++++++++++ nextcloud/update-nc.sh | 19 ----------- proxy/Tasks.yaml | 31 ++++++++++++++++++ proxy/reload.sh | 2 -- pull-all.sh | 11 ------- push/Tasks.yaml | 30 +++++++++++++++++ rustdesk/Tasks.yaml | 25 ++++++++++++++ start-all.sh | 15 --------- stop-all.sh | 6 ---- wallabag/Tasks.yaml | 42 ++++++++++++++++++++++++ 14 files changed, 386 insertions(+), 53 deletions(-) create mode 100644 Taskfile.yaml create mode 100644 firefoxsync/Tasks.yaml create mode 100644 git/Tasks.yaml create mode 100644 news/Tasks.yaml create mode 100644 nextcloud/Tasks.yaml delete mode 100755 nextcloud/update-nc.sh create mode 100644 proxy/Tasks.yaml delete mode 100755 proxy/reload.sh delete mode 100755 pull-all.sh create mode 100644 push/Tasks.yaml create mode 100644 rustdesk/Tasks.yaml delete mode 100755 start-all.sh delete mode 100755 stop-all.sh create mode 100644 wallabag/Tasks.yaml diff --git a/Taskfile.yaml b/Taskfile.yaml new file mode 100644 index 0000000..32a585a --- /dev/null +++ b/Taskfile.yaml @@ -0,0 +1,57 @@ +# https://taskfile.dev + +version: '3' + +includes: + firefoxsync: ./firefoxsync/Tasks.yaml + git: ./git/Tasks.yaml + news: ./news/Tasks.yaml + nextcloud: ./nextcloud/Tasks.yaml + proxy: ./proxy/Tasks.yaml + push: ./push/Tasks.yaml + rustdesk: ./rustdesk/Tasks.yaml + wallabag: ./wallabag/Tasks.yaml + + +tasks: + default: + desc: List all Tasks + cmds: + - task --list-all + silent: true + + all:pull: + desc: Pull and build all images + cmds: + - task: firefoxsync:pull + - task: git:pull + - task: news:pull + - task: nextcloud:pull + - task: proxy:pull + - task: push:pull + - task: rustdesk:pull + - task: wallabag:pull + + all:up: + desc: Start all containers + cmds: + - task: proxy:up + - task: nextcloud:up + - task: firefoxsync:up + - task: git:up + - task: news:up + - task: push:up + - task: rustdesk:up + - task: wallabag:up + + all:down: + desc: Stop all containers + cmds: + - task: firefoxsync:down + - task: git:down + - task: news:down + - task: push:down + - task: rustdesk:down + - task: wallabag:down + - task: nextcloud:down + - task: proxy:down diff --git a/firefoxsync/Tasks.yaml b/firefoxsync/Tasks.yaml new file mode 100644 index 0000000..4301d7b --- /dev/null +++ b/firefoxsync/Tasks.yaml @@ -0,0 +1,42 @@ +version: '3' + +vars: + NAME: firefoxsync + +tasks: + + pull: + desc: Pull all images for {{.NAME}} + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose pull --ignore-buildable + + up: + desc: Starting {{.NAME}} docker compose as daemon + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose up -d + + down: + desc: Stop {{.NAME}} docker compose + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose down + + db:backup: + desc: Create database dump + dir: "{{.TASKFILE_DIR}}" + dotenv: [".env"] + cmds: + - docker compose exec db pg_dumpall -U $POSTGRES_USER > pgdump.sql + + db:restore: + desc: Restores database dump. Clear database directory first! + dir: "{{.TASKFILE_DIR}}" + dotenv: [".env"] + cmds: + - task: down + - docker compose up -d db --wait + - docker compose exec -T db psql -U $POSTGRES_USER $POSTGRES_DB < pgdump.sql + - docker compose exec -i db psql -U $POSTGRES_USER -d $POSTGRES_DB -c "ALTER USER \"$POSTGRES_USER\" PASSWORD '$POSTGRES_PASSWORD';" + - task: up diff --git a/git/Tasks.yaml b/git/Tasks.yaml new file mode 100644 index 0000000..abf2008 --- /dev/null +++ b/git/Tasks.yaml @@ -0,0 +1,43 @@ +version: '3' + +vars: + NAME: git + + +tasks: + + pull: + desc: Pull all images for {{.NAME}} + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose pull --ignore-buildable + + up: + desc: Starting {{.NAME}} docker compose as daemon + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose up -d + + down: + desc: Stop {{.NAME}} docker compose + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose down + + db:backup: + desc: Create database dump + dir: "{{.TASKFILE_DIR}}" + dotenv: [".env"] + cmds: + - docker compose exec db pg_dumpall -U $POSTGRES_USER > pgdump.sql + + db:restore: + desc: Restores database dump. Clear database directory first! + dir: "{{.TASKFILE_DIR}}" + dotenv: [".env"] + cmds: + - task: down + - docker compose up -d db --wait + - docker compose exec -T db psql -U $POSTGRES_USER $POSTGRES_DB < pgdump.sql + - docker compose exec -i db psql -U $POSTGRES_USER -d $POSTGRES_DB -c "ALTER USER \"$POSTGRES_USER\" PASSWORD '$POSTGRES_PASSWORD';" + - task: up diff --git a/news/Tasks.yaml b/news/Tasks.yaml new file mode 100644 index 0000000..7831824 --- /dev/null +++ b/news/Tasks.yaml @@ -0,0 +1,42 @@ +version: '3' + +vars: + NAME: news + +tasks: + + pull: + desc: Pull all images for {{.NAME}} + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose pull --ignore-buildable + + up: + desc: Starting {{.NAME}} docker compose as daemon + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose up -d + + down: + desc: Stop {{.NAME}} docker compose + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose down + + db:backup: + desc: Create database dump + dir: "{{.TASKFILE_DIR}}" + dotenv: [".env"] + cmds: + - docker compose exec db pg_dumpall -U $POSTGRES_USER > pgdump.sql + + db:restore: + desc: Restores database dump. Clear database directory first! + dir: "{{.TASKFILE_DIR}}" + dotenv: [".env"] + cmds: + - task: down + - docker compose up -d db --wait + - docker compose exec -T db psql -U $POSTGRES_USER $POSTGRES_DB < pgdump.sql + - docker compose exec -i db psql -U $POSTGRES_USER -d $POSTGRES_DB -c "ALTER USER \"$POSTGRES_USER\" PASSWORD '$POSTGRES_PASSWORD';" + - task: up diff --git a/nextcloud/Tasks.yaml b/nextcloud/Tasks.yaml new file mode 100644 index 0000000..f099fbb --- /dev/null +++ b/nextcloud/Tasks.yaml @@ -0,0 +1,74 @@ +version: '3' + +vars: + NAME: nextcloud + +tasks: + + pull: + desc: Pull all images for {{.NAME}} and build images + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose build --pull + - docker compose pull --ignore-buildable + + up: + desc: Starting {{.NAME}} docker compose as daemon + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose up -d + + down: + desc: Stop {{.NAME}} docker compose + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose down + + occ: + desc: Nexctcloud command line OCC aka "ownCloud Console". Give command like 'task nextcloud:occ -- maintenance:mode --off' + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose exec --user www-data app php occ {{.CLI_ARGS}} + + + update: + desc: Manual execute update of nextcloud AFTER Version inkrement and nextcloud running" + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose exec --user www-data app php occ upgrade + - docker compose exec --user www-data app php occ maintenance:repair --include-expensive + - docker compose exec --user www-data app php occ db:add-missing-indices + - docker compose exec --user www-data app php occ db:add-missing-columns + - docker compose exec --user www-data app php occ db:add-missing-primary-keys + - docker compose exec --user www-data app php occ maintenance:mode --off + - docker compose exec --user www-data app php occ status + + status: + desc: Nextcloud status + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose exec --user www-data app php occ status + + files-scan: + desc: Scan for changed files in Nextcloud storage + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose exec --user www-data app php occ files:scan --all + - docker compose exec --user www-data app php occ files:scan-app-data + + db:backup: + desc: Create database dump + dir: "{{.TASKFILE_DIR}}" + dotenv: [".env"] + cmds: + - docker compose exec db mariadb-dump --single-transaction -u $MYSQL_USER -p"$MYSQL_PASSWORD" $MYSQL_DATABASE > mysqldump.sql + + db:restore: + desc: Restore database dump. Clear database directory first! + dir: "{{.TASKFILE_DIR}}" + dotenv: [".env"] + cmds: + - task: down + - docker compose up -d db --wait + - docker compose exec db mariadb -u $MYSQL_USER -p"$MYSQL_PASSWORD" $MYSQL_DATABASE < mysqldump.sql + - task: up diff --git a/nextcloud/update-nc.sh b/nextcloud/update-nc.sh deleted file mode 100755 index 9828e3b..0000000 --- a/nextcloud/update-nc.sh +++ /dev/null @@ -1,19 +0,0 @@ -#/bin/bash/ - -function occ { - docker compose --project-directory /home/flz/git/selfhost/nextcloud exec --user www-data app php occ "$@" -} - - -#docker compose build --pull -#docker compose pull --ignore-buildable -#occ status -#docker compose up -d -#watch docker compose ps - -occ upgrade -occ maintenance:repair --include-expensive -occ db:add-missing-indices -occ db:add-missing-columns -occ db:add-missing-primary-keys -occ status diff --git a/proxy/Tasks.yaml b/proxy/Tasks.yaml new file mode 100644 index 0000000..9302e82 --- /dev/null +++ b/proxy/Tasks.yaml @@ -0,0 +1,31 @@ +version: '3' + +vars: + NAME: proxy + +tasks: + + pull: + desc: Pull all images for {{.NAME}} + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose pull --ignore-buildable + + up: + desc: Starting {{.NAME}} docker compose as daemon + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose up -d + + down: + desc: Stop {{.NAME}} docker compose + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose down + + reload: + desc: Reload Caddyfile config file without restarting container + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose exec -w /etc/caddy caddy caddy reload + diff --git a/proxy/reload.sh b/proxy/reload.sh deleted file mode 100755 index 27d9320..0000000 --- a/proxy/reload.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker compose exec -w /etc/caddy caddy caddy reload \ No newline at end of file diff --git a/pull-all.sh b/pull-all.sh deleted file mode 100755 index 9f2eb85..0000000 --- a/pull-all.sh +++ /dev/null @@ -1,11 +0,0 @@ -#/bin/bash/ - -for dir in ./*/ ; do - echo "[Building and Pulling $dir]" - cd "$dir"; - docker compose pull --ignore-buildable - docker compose build --pull; - cd ..; - echo; -done - diff --git a/push/Tasks.yaml b/push/Tasks.yaml new file mode 100644 index 0000000..231b66a --- /dev/null +++ b/push/Tasks.yaml @@ -0,0 +1,30 @@ +version: '3' + +vars: + NAME: push + +tasks: + + pull: + desc: Pull all images for {{.NAME}} + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose pull --ignore-buildable + + up: + desc: Starting {{.NAME}} docker compose as daemon + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose up -d + + down: + desc: Stop {{.NAME}} docker compose + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose down + + ntfy: + desc: Ntfy command + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose exec ntfy ntfy diff --git a/rustdesk/Tasks.yaml b/rustdesk/Tasks.yaml new file mode 100644 index 0000000..10277af --- /dev/null +++ b/rustdesk/Tasks.yaml @@ -0,0 +1,25 @@ +version: '3' + +vars: + NAME: rustdesk + +tasks: + + pull: + desc: Pull all images for {{.NAME}} + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose pull --ignore-buildable + + up: + desc: Starting {{.NAME}} docker compose as daemon + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose up -d + + down: + desc: Stop {{.NAME}} docker compose + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose down + diff --git a/start-all.sh b/start-all.sh deleted file mode 100755 index 2846ba4..0000000 --- a/start-all.sh +++ /dev/null @@ -1,15 +0,0 @@ -#/bin/bash/ - -function up { - (cd "$1" && echo "[$1]" && docker compose up -d "${@:2}"); -} - -#up proxy --scale whoami=3; -up proxy; -up nextcloud; -up git; -up wallabag; -up firefoxsync; -up push; -up rustdesk; -up news; diff --git a/stop-all.sh b/stop-all.sh deleted file mode 100755 index 46b6645..0000000 --- a/stop-all.sh +++ /dev/null @@ -1,6 +0,0 @@ -#/bin/bash/ - -for dir in ./*/ ; do - (cd "$dir" && echo "[$dir]" && docker compose down); -done - diff --git a/wallabag/Tasks.yaml b/wallabag/Tasks.yaml new file mode 100644 index 0000000..c628f9c --- /dev/null +++ b/wallabag/Tasks.yaml @@ -0,0 +1,42 @@ +version: '3' + +vars: + NAME: wallabag + +tasks: + + pull: + desc: Pull all images for {{.NAME}} + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose pull --ignore-buildable + + up: + desc: Starting {{.NAME}} docker compose as daemon + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose up -d + + down: + desc: Stop {{.NAME}} docker compose + dir: "{{.TASKFILE_DIR}}" + cmds: + - docker compose down + + db:backup: + desc: Create database dump + dir: "{{.TASKFILE_DIR}}" + dotenv: [".env"] + cmds: + - docker compose exec db /usr/bin/mariadb-dump --single-transaction -u $MYSQL_USER -p"$MYSQL_PASSWORD" $MYSQL_DATABASE > mysqldump.sql + + db:restore: + desc: Restore database dump. Clear database directory first! + dir: "{{.TASKFILE_DIR}}" + dotenv: [".env"] + cmds: + - task: down + - docker compose up -d db --wait + - docker compose exec db mariadb -u $MYSQL_USER -p"$MYSQL_PASSWORD" $MYSQL_DATABASE < mysqldump.sql + - task: up + From 9a1ae657081ada65518ee00cd848e498505c5f10 Mon Sep 17 00:00:00 2001 From: Florian Zirker Date: Wed, 23 Jul 2025 09:31:57 +0200 Subject: [PATCH 8/9] Git-hash task --- Taskfile.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Taskfile.yaml b/Taskfile.yaml index 32a585a..02ea30c 100644 --- a/Taskfile.yaml +++ b/Taskfile.yaml @@ -12,6 +12,9 @@ includes: rustdesk: ./rustdesk/Tasks.yaml wallabag: ./wallabag/Tasks.yaml +vars: + GIT_COMMIT_HASH: + sh: git log -n 1 --format=%h tasks: default: @@ -20,6 +23,11 @@ tasks: - task --list-all silent: true + git:hash: + desc: Prints current git commit hash + cmds: + - echo {{.GIT_COMMIT_HASH}} + all:pull: desc: Pull and build all images cmds: From 4fe31b51359b0d230d6af68e0050e3340b95d777 Mon Sep 17 00:00:00 2001 From: Florian Zirker Date: Wed, 23 Jul 2025 09:34:25 +0200 Subject: [PATCH 9/9] Improve building special images --- nextcloud/Dockerfile | 2 +- nextcloud/Tasks.yaml | 9 ++++++++- nextcloud/docker-compose.yaml | 2 +- proxy/Tasks.yaml | 8 ++++++++ proxy/caddy/Dockerfile | 6 ++++-- proxy/docker-compose.yaml | 2 +- 6 files changed, 23 insertions(+), 6 deletions(-) diff --git a/nextcloud/Dockerfile b/nextcloud/Dockerfile index 7b9cb73..5ff5e7d 100644 --- a/nextcloud/Dockerfile +++ b/nextcloud/Dockerfile @@ -1,4 +1,4 @@ -ARG NC_MAIN_VERSION +ARG NC_MAIN_VERSION=stable FROM nextcloud:$NC_MAIN_VERSION-fpm RUN apt-get update && apt-get install -y --no-install-recommends \ diff --git a/nextcloud/Tasks.yaml b/nextcloud/Tasks.yaml index f099fbb..9e589fb 100644 --- a/nextcloud/Tasks.yaml +++ b/nextcloud/Tasks.yaml @@ -8,8 +8,8 @@ tasks: pull: desc: Pull all images for {{.NAME}} and build images dir: "{{.TASKFILE_DIR}}" + deps: [build] cmds: - - docker compose build --pull - docker compose pull --ignore-buildable up: @@ -18,6 +18,13 @@ tasks: cmds: - docker compose up -d + build: + desc: "Building special Nextcloud image (Mainly install software)" + dir: "{{.TASKFILE_DIR}}" + dotenv: [.env] + cmds: + - docker build --pull --build-arg NC_MAIN_VERSION=$NC_MAIN_VERSION --tag $DOCKER_REGISTRY/nextcloud:${NC_MAIN_VERSION}-fpm . + down: desc: Stop {{.NAME}} docker compose dir: "{{.TASKFILE_DIR}}" diff --git a/nextcloud/docker-compose.yaml b/nextcloud/docker-compose.yaml index 644f0fd..f96d77b 100644 --- a/nextcloud/docker-compose.yaml +++ b/nextcloud/docker-compose.yaml @@ -49,7 +49,7 @@ services: cron: - image: nextcloud:${NC_MAIN_VERSION}-fpm-own + image: ${DOCKER_REGISTRY}/nextcloud:${NC_MAIN_VERSION}-fpm build: context: ./ args: diff --git a/proxy/Tasks.yaml b/proxy/Tasks.yaml index 9302e82..ad9002d 100644 --- a/proxy/Tasks.yaml +++ b/proxy/Tasks.yaml @@ -8,9 +8,17 @@ tasks: pull: desc: Pull all images for {{.NAME}} dir: "{{.TASKFILE_DIR}}" + deps: [build] cmds: - docker compose pull --ignore-buildable + build: + desc: "Building special Caddy image with netcup support" + dir: "{{.TASKFILE_DIR}}" + dotenv: [.env] + cmds: + - docker build --pull --file caddy/Dockerfile --build-arg CADDY_VERSION=$CADDY_VERSION --tag $DOCKER_REGISTRY/caddy:${CADDY_VERSION} . + up: desc: Starting {{.NAME}} docker compose as daemon dir: "{{.TASKFILE_DIR}}" diff --git a/proxy/caddy/Dockerfile b/proxy/caddy/Dockerfile index 7223e84..7c550b1 100644 --- a/proxy/caddy/Dockerfile +++ b/proxy/caddy/Dockerfile @@ -1,7 +1,9 @@ -FROM caddy:2-builder AS builder +ARG CADDY_VERSION=2 + +FROM caddy:${CADDY_VERSION}-builder AS builder RUN xcaddy build --with github.com/caddy-dns/netcup -FROM caddy:2 +FROM caddy:${CADDY_VERSION} COPY --from=builder /usr/bin/caddy /usr/bin/caddy diff --git a/proxy/docker-compose.yaml b/proxy/docker-compose.yaml index 262e603..499851b 100755 --- a/proxy/docker-compose.yaml +++ b/proxy/docker-compose.yaml @@ -1,7 +1,7 @@ services: caddy: - image: florianzirker.de/caddy-netcup + image: ${DOCKER_REGISTRY}/caddy:${CADDY_VERSION} build: ./caddy networks: - web