Compare commits
2 commits
main
...
forgejo-ac
Author | SHA1 | Date | |
---|---|---|---|
12a7caef79 | |||
dfb151926d |
20 changed files with 90 additions and 434 deletions
|
@ -1,65 +0,0 @@
|
||||||
# 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
|
|
||||||
|
|
||||||
vars:
|
|
||||||
GIT_COMMIT_HASH:
|
|
||||||
sh: git log -n 1 --format=%h
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
default:
|
|
||||||
desc: List all Tasks
|
|
||||||
cmds:
|
|
||||||
- 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:
|
|
||||||
- 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
|
|
|
@ -1,42 +0,0 @@
|
||||||
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
|
|
|
@ -1,43 +0,0 @@
|
||||||
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
|
|
|
@ -1,8 +1,7 @@
|
||||||
services:
|
services:
|
||||||
|
|
||||||
forgejo:
|
forgejo:
|
||||||
image: codeberg.org/forgejo/forgejo:${FORGEJO_VERSION} # official url
|
image: codeberg.org/forgejo/forgejo:${FORGEJO_VERSION}
|
||||||
# image: data.forgejo.org/forgejo/forgejo:${FORGEJO_VERSION} # mirror
|
|
||||||
volumes:
|
volumes:
|
||||||
- ${STORAGE_PATH}/forgejo_data:/data
|
- ${STORAGE_PATH}/forgejo_data:/data
|
||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
@ -51,8 +50,39 @@ services:
|
||||||
- "docker.group=git"
|
- "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:${FORGEJO_RUNNER_VERSION}
|
||||||
|
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:
|
networks:
|
||||||
git:
|
git:
|
||||||
web:
|
web:
|
||||||
external: true
|
external: true
|
||||||
|
runner:
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
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
|
|
|
@ -1,4 +1,4 @@
|
||||||
ARG NC_MAIN_VERSION=stable
|
ARG NC_MAIN_VERSION
|
||||||
FROM nextcloud:$NC_MAIN_VERSION-fpm
|
FROM nextcloud:$NC_MAIN_VERSION-fpm
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
|
|
@ -1,81 +0,0 @@
|
||||||
version: '3'
|
|
||||||
|
|
||||||
vars:
|
|
||||||
NAME: nextcloud
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
|
|
||||||
pull:
|
|
||||||
desc: Pull all images for {{.NAME}} and build images
|
|
||||||
dir: "{{.TASKFILE_DIR}}"
|
|
||||||
deps: [build]
|
|
||||||
cmds:
|
|
||||||
- docker compose pull --ignore-buildable
|
|
||||||
|
|
||||||
up:
|
|
||||||
desc: Starting {{.NAME}} docker compose as daemon
|
|
||||||
dir: "{{.TASKFILE_DIR}}"
|
|
||||||
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}}"
|
|
||||||
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
|
|
|
@ -49,7 +49,7 @@ services:
|
||||||
|
|
||||||
|
|
||||||
cron:
|
cron:
|
||||||
image: ${DOCKER_REGISTRY}/nextcloud:${NC_MAIN_VERSION}-fpm
|
image: nextcloud:${NC_MAIN_VERSION}-fpm-own
|
||||||
build:
|
build:
|
||||||
context: ./
|
context: ./
|
||||||
args:
|
args:
|
||||||
|
|
19
nextcloud/update-nc.sh
Executable file
19
nextcloud/update-nc.sh
Executable file
|
@ -0,0 +1,19 @@
|
||||||
|
#/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
|
|
@ -1,39 +0,0 @@
|
||||||
version: '3'
|
|
||||||
|
|
||||||
vars:
|
|
||||||
NAME: proxy
|
|
||||||
|
|
||||||
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}}"
|
|
||||||
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
|
|
||||||
|
|
|
@ -82,21 +82,11 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ffsync host firefoxsync.{$DOMAIN}
|
|
||||||
handle @ffsync {
|
|
||||||
reverse_proxy syncserver:5000
|
|
||||||
}
|
|
||||||
|
|
||||||
@mail host mail.{$DOMAIN}
|
@mail host mail.{$DOMAIN}
|
||||||
handle @mail {
|
handle @mail {
|
||||||
reverse_proxy nginx-mailcow:8090
|
reverse_proxy nginx-mailcow:8090
|
||||||
}
|
}
|
||||||
|
|
||||||
@meet host meet.{$DOMAIN}
|
|
||||||
handle @meet {
|
|
||||||
reverse_proxy jitsi-meet-web:80
|
|
||||||
}
|
|
||||||
|
|
||||||
# Fallback unhandled (sub)domains
|
# Fallback unhandled (sub)domains
|
||||||
handle {
|
handle {
|
||||||
error 404
|
error 404
|
||||||
|
@ -112,12 +102,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# redirect URL without subdomain to www
|
|
||||||
{$DOMAIN} {
|
{$DOMAIN} {
|
||||||
redir https://www.{$DOMAIN}{uri} permanent
|
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
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
ARG CADDY_VERSION=2
|
FROM caddy:2-builder AS builder
|
||||||
|
|
||||||
FROM caddy:${CADDY_VERSION}-builder AS builder
|
|
||||||
|
|
||||||
RUN xcaddy build --with github.com/caddy-dns/netcup
|
RUN xcaddy build --with github.com/caddy-dns/netcup
|
||||||
|
|
||||||
FROM caddy:${CADDY_VERSION}
|
FROM caddy:2
|
||||||
|
|
||||||
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
|
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
services:
|
services:
|
||||||
|
|
||||||
caddy:
|
caddy:
|
||||||
image: ${DOCKER_REGISTRY}/caddy:${CADDY_VERSION}
|
image: florianzirker.de/caddy-netcup
|
||||||
build: ./caddy
|
build: ./caddy
|
||||||
networks:
|
networks:
|
||||||
- web
|
- web
|
||||||
|
|
2
proxy/reload.sh
Executable file
2
proxy/reload.sh
Executable file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/bash
|
||||||
|
docker compose exec -w /etc/caddy caddy caddy reload
|
11
pull-all.sh
Executable file
11
pull-all.sh
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
#/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
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
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
|
|
|
@ -1,25 +0,0 @@
|
||||||
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
|
|
||||||
|
|
15
start-all.sh
Executable file
15
start-all.sh
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
#/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;
|
6
stop-all.sh
Executable file
6
stop-all.sh
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#/bin/bash/
|
||||||
|
|
||||||
|
for dir in ./*/ ; do
|
||||||
|
(cd "$dir" && echo "[$dir]" && docker compose down);
|
||||||
|
done
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
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
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue