Loading .env.default +17 −0 Original line number Diff line number Diff line ALERTMANAGER_IMAGE_VERSION= BAZARR_GPID= BAZARR_IMAGE_VERSION= BAZARR_PUID= BITWARDEN_IMAGE_VERSION= CADVISOR_IMAGE_VERSION= CIAO_IMAGE_VERSION= CIAO_PROMETHEUS_ENABLED= CODIMD_IMAGE_VERSION= ELASTICSEARCH_CLUSTER_NAME= ELASTICSEARCH_DISCOVERY_TYPE= ELASTICSEARCH_IMAGE_VERSION= Loading @@ -11,6 +18,9 @@ FRAMADATE_MYSQL_DATABASE= FRAMADATE_MYSQL_PASSWORD= FRAMADATE_MYSQL_ROOT_PASSWORD= FRAMADATE_MYSQL_USER= GITLAB_IMAGE_VERSION= GITLAB_RUNNER_IMAGE_VERSION= GRAFANA_IMAGE_VERSION= HOME= JACKETT_GPID= JACKETT_IMAGE_VERSION= Loading @@ -25,10 +35,16 @@ NEXTCLOUD_MYSQL_PASSWORD= NEXTCLOUD_MYSQL_ROOT_PASSWORD= NEXTCLOUD_MYSQL_USER= NGINX_IMAGE_VERSION= NODE_EXPORTER_IMAGE_VERSION= PROMETHEUS_IMAGE_VERSION= REMOTELY_IMAGE_VERSION= ROOT_EMAIL= SEARXNG_IMAGE_VERSION= SHARELATEX_IMAGE_VERSION= SITE= SONARR_GPID= SONARR_IMAGE_VERSION= SONARR_PUID= TOR_CONTACT_GPG_FINGERPRINT= TOR_RELAY_BANDWIDTH_BURST= TOR_RELAY_BANDWIDTH_RATE= Loading Loading @@ -59,3 +75,4 @@ WATCHTOWER_CLEANUP= WATCHTOWER_IMAGE_VERSION= WATCHTOWER_ROLLING_RESTART= WATCHTOWER_SCHEDULE= WORDPRESS_IMAGE_VERSION= .github/FUNDING.yml +1 −1 Original line number Diff line number Diff line # These are supported funding model platforms github: tommoulard github: 'tommoulard' .github/workflows/dockerpublish.yml +79 −183 Original line number Diff line number Diff line name: Tests name: 'Tests' on: push: on: # yamllint disable-line rule:truthy pull_request: branches: - '*' push: {} jobs: Config-test: runs-on: ubuntu-latest runs-on: 'ubuntu-latest' steps: - uses: actions/checkout@v2 - name: Run tests run: ./test.sh - uses: actions/upload-artifact@v2 if: failure() - uses: 'actions/checkout@v3' - name: 'DEBUG' run: 'docker version && docker compose version' - name: 'Run tests' run: './test.sh' - uses: 'actions/upload-artifact@v3' if: 'failure()' with: name: test-artifacts name: 'test-artifacts' path: | log.log *.patch Health-checks-traefik: runs-on: ubuntu-latest env: SERVICE: traefik steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 Health-checks-codimd: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs service_name: 'codimd' timeout-minutes: 5 # Health-checks-grafana: # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' # with: # sus: 'mkdir -p ./grafana/grafana/ ./grafana/prometheus/data/' # service_name: 'grafana' # Health-checks-hits: # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' # with: # sus: 'mkdir -p ./hits/postgresql/data' # service_name: 'hits' # Health-checks-hugo: # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' # with: # service_name: 'hugo' Health-checks-jackett: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: service_name: 'jackett' # Health-checks-mastodon: # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' # with: # service_name: 'mastodon' Health-checks-nextcloud: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: service_name: 'nextcloud' Health-checks-nginx: runs-on: ubuntu-latest env: SERVICE: nginx steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs Health-checks-hugo: runs-on: ubuntu-latest env: SERVICE: hugo steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 service_name: 'nginx' Health-checks-searxng: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs Health-checks-peertube: runs-on: ubuntu-latest env: SERVICE: peertube steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 service_name: 'searxng' Health-checks-sharelatex: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs Health-checks-transmission: runs-on: ubuntu-latest env: SERVICE: transmission steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 service_name: 'sharelatex' Health-checks-streama: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs Health-checks-nextcloud: runs-on: ubuntu-latest env: SERVICE: nextcloud steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 sus: 'touch streama/streama.mv.db streama/streama.trace.db' service_name: 'streama' Health-checks-traefik: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs Health-checks-jackett: runs-on: ubuntu-latest env: SERVICE: jackett steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 service_name: 'traefik' Health-checks-transmission: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs Health-checks-codimd: runs-on: ubuntu-latest env: SERVICE: codimd steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 service_name: 'transmission' Health-checks-wordpress: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs service_name: 'wordpress' Lint: runs-on: 'ubuntu-latest' steps: - uses: 'actions/checkout@v3' - name: 'Install yamllint' run: 'pip install yamllint' - name: 'yamllint version' run: 'yamllint --version' - name: 'Lint YAML files' run: 'yamllint --format github .' .github/workflows/healthcheck.workflow.tmpl.yml 0 → 100644 +50 −0 Original line number Diff line number Diff line on: # yamllint disable-line rule:truthy workflow_call: inputs: sus: description: 'a StartUp Script to run beforehand' required: false type: 'string' service_name: description: 'A service name to check health check uppon' required: true type: 'string' timeout-minutes: description: 'a timeout to waitfor running containers' required: false default: 2 type: 'number' jobs: health-check: runs-on: 'ubuntu-latest' steps: - uses: 'actions/checkout@v3' - name: 'Caching' uses: 'actions/cache@v3' with: path: '/var/lib/docker/' key: '${{ runner.os }}-health-${{ github.job }}' - name: 'Setting up job' if: '${{ inputs.sus }}' run: | ${{ inputs.sus }} - name: 'Starting the docker-compose stack' run: | docker-compose -f docker-compose.yml -f ${{inputs.service_name}}/docker-compose.${{inputs.service_name}}.yml up -d - name: 'Waiting for running containers' timeout-minutes: '${{ inputs.timeout-minutes }}' run: | while :; do echo "sleeping for 5s" sleep 5s; docker-compose -f docker-compose.yml -f ${{inputs.service_name}}/docker-compose.${{inputs.service_name}}.yml ps | grep "starting" || exit 0 done - name: 'Check health' run: | docker-compose -f docker-compose.yml -f ${{inputs.service_name}}/docker-compose.${{inputs.service_name}}.yml ps | grep "Up (healthy)" - name: 'Export logs' if: '${{ failure() }}' run: | docker-compose -f docker-compose.yml -f ${{inputs.service_name}}/docker-compose.${{inputs.service_name}}.yml ps docker-compose -f docker-compose.yml -f ${{inputs.service_name}}/docker-compose.${{inputs.service_name}}.yml logs .yamllint 0 → 100644 +45 −0 Original line number Diff line number Diff line # ref: https://yamllint.readthedocs.io/en/stable/configuration.html extends: 'default' ignore: | homer/** matrix/** huginn/** registry/** registery/** results.json peertube/config/custom-environment-variables.yaml .git/ peertube/config/default.yaml test_config.yml # .github/ # https://yamllint.readthedocs.io/en/stable/rules.html rules: document-start: present: false comments: min-spaces-from-content: 1 line-length: allow-non-breakable-inline-mappings: true ignore: - '.github/workflows/healthcheck.workflow.tmpl.yml' - '.github/workflows/dockerpublish.yml' truthy: 'enable' indentation: spaces: 2 empty-values: 'enable' float-values: forbid-inf: true forbid-nan: true forbid-scientific-notation: true require-numeral-before-decimal: true octal-values: 'enable' quoted-strings: quote-type: 'single' required: true allow-quoted-quotes: false # vim: ft=yaml Loading
.env.default +17 −0 Original line number Diff line number Diff line ALERTMANAGER_IMAGE_VERSION= BAZARR_GPID= BAZARR_IMAGE_VERSION= BAZARR_PUID= BITWARDEN_IMAGE_VERSION= CADVISOR_IMAGE_VERSION= CIAO_IMAGE_VERSION= CIAO_PROMETHEUS_ENABLED= CODIMD_IMAGE_VERSION= ELASTICSEARCH_CLUSTER_NAME= ELASTICSEARCH_DISCOVERY_TYPE= ELASTICSEARCH_IMAGE_VERSION= Loading @@ -11,6 +18,9 @@ FRAMADATE_MYSQL_DATABASE= FRAMADATE_MYSQL_PASSWORD= FRAMADATE_MYSQL_ROOT_PASSWORD= FRAMADATE_MYSQL_USER= GITLAB_IMAGE_VERSION= GITLAB_RUNNER_IMAGE_VERSION= GRAFANA_IMAGE_VERSION= HOME= JACKETT_GPID= JACKETT_IMAGE_VERSION= Loading @@ -25,10 +35,16 @@ NEXTCLOUD_MYSQL_PASSWORD= NEXTCLOUD_MYSQL_ROOT_PASSWORD= NEXTCLOUD_MYSQL_USER= NGINX_IMAGE_VERSION= NODE_EXPORTER_IMAGE_VERSION= PROMETHEUS_IMAGE_VERSION= REMOTELY_IMAGE_VERSION= ROOT_EMAIL= SEARXNG_IMAGE_VERSION= SHARELATEX_IMAGE_VERSION= SITE= SONARR_GPID= SONARR_IMAGE_VERSION= SONARR_PUID= TOR_CONTACT_GPG_FINGERPRINT= TOR_RELAY_BANDWIDTH_BURST= TOR_RELAY_BANDWIDTH_RATE= Loading Loading @@ -59,3 +75,4 @@ WATCHTOWER_CLEANUP= WATCHTOWER_IMAGE_VERSION= WATCHTOWER_ROLLING_RESTART= WATCHTOWER_SCHEDULE= WORDPRESS_IMAGE_VERSION=
.github/FUNDING.yml +1 −1 Original line number Diff line number Diff line # These are supported funding model platforms github: tommoulard github: 'tommoulard'
.github/workflows/dockerpublish.yml +79 −183 Original line number Diff line number Diff line name: Tests name: 'Tests' on: push: on: # yamllint disable-line rule:truthy pull_request: branches: - '*' push: {} jobs: Config-test: runs-on: ubuntu-latest runs-on: 'ubuntu-latest' steps: - uses: actions/checkout@v2 - name: Run tests run: ./test.sh - uses: actions/upload-artifact@v2 if: failure() - uses: 'actions/checkout@v3' - name: 'DEBUG' run: 'docker version && docker compose version' - name: 'Run tests' run: './test.sh' - uses: 'actions/upload-artifact@v3' if: 'failure()' with: name: test-artifacts name: 'test-artifacts' path: | log.log *.patch Health-checks-traefik: runs-on: ubuntu-latest env: SERVICE: traefik steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 Health-checks-codimd: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs service_name: 'codimd' timeout-minutes: 5 # Health-checks-grafana: # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' # with: # sus: 'mkdir -p ./grafana/grafana/ ./grafana/prometheus/data/' # service_name: 'grafana' # Health-checks-hits: # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' # with: # sus: 'mkdir -p ./hits/postgresql/data' # service_name: 'hits' # Health-checks-hugo: # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' # with: # service_name: 'hugo' Health-checks-jackett: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: service_name: 'jackett' # Health-checks-mastodon: # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' # with: # service_name: 'mastodon' Health-checks-nextcloud: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: service_name: 'nextcloud' Health-checks-nginx: runs-on: ubuntu-latest env: SERVICE: nginx steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs Health-checks-hugo: runs-on: ubuntu-latest env: SERVICE: hugo steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 service_name: 'nginx' Health-checks-searxng: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs Health-checks-peertube: runs-on: ubuntu-latest env: SERVICE: peertube steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 service_name: 'searxng' Health-checks-sharelatex: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs Health-checks-transmission: runs-on: ubuntu-latest env: SERVICE: transmission steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 service_name: 'sharelatex' Health-checks-streama: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs Health-checks-nextcloud: runs-on: ubuntu-latest env: SERVICE: nextcloud steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 sus: 'touch streama/streama.mv.db streama/streama.trace.db' service_name: 'streama' Health-checks-traefik: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs Health-checks-jackett: runs-on: ubuntu-latest env: SERVICE: jackett steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 service_name: 'traefik' Health-checks-transmission: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs Health-checks-codimd: runs-on: ubuntu-latest env: SERVICE: codimd steps: - uses: actions/checkout@v2 - name: Caching uses: actions/cache@v2 service_name: 'transmission' Health-checks-wordpress: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/yamllint' with: path: /var/lib/docker/ key: ${{ runner.os }}-health-${{ github.job }} - name: Build the docker-compose stack run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml up -d - name: Waiting for service startup (10s) run: sleep 10s - name: Check running containers run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps - name: Check health run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml ps | grep "Up (healthy)" - name: Export logs if: ${{ failure() }} run: docker-compose -f docker-compose.yml -f ${SERVICE}/docker-compose.${SERVICE}.yml logs service_name: 'wordpress' Lint: runs-on: 'ubuntu-latest' steps: - uses: 'actions/checkout@v3' - name: 'Install yamllint' run: 'pip install yamllint' - name: 'yamllint version' run: 'yamllint --version' - name: 'Lint YAML files' run: 'yamllint --format github .'
.github/workflows/healthcheck.workflow.tmpl.yml 0 → 100644 +50 −0 Original line number Diff line number Diff line on: # yamllint disable-line rule:truthy workflow_call: inputs: sus: description: 'a StartUp Script to run beforehand' required: false type: 'string' service_name: description: 'A service name to check health check uppon' required: true type: 'string' timeout-minutes: description: 'a timeout to waitfor running containers' required: false default: 2 type: 'number' jobs: health-check: runs-on: 'ubuntu-latest' steps: - uses: 'actions/checkout@v3' - name: 'Caching' uses: 'actions/cache@v3' with: path: '/var/lib/docker/' key: '${{ runner.os }}-health-${{ github.job }}' - name: 'Setting up job' if: '${{ inputs.sus }}' run: | ${{ inputs.sus }} - name: 'Starting the docker-compose stack' run: | docker-compose -f docker-compose.yml -f ${{inputs.service_name}}/docker-compose.${{inputs.service_name}}.yml up -d - name: 'Waiting for running containers' timeout-minutes: '${{ inputs.timeout-minutes }}' run: | while :; do echo "sleeping for 5s" sleep 5s; docker-compose -f docker-compose.yml -f ${{inputs.service_name}}/docker-compose.${{inputs.service_name}}.yml ps | grep "starting" || exit 0 done - name: 'Check health' run: | docker-compose -f docker-compose.yml -f ${{inputs.service_name}}/docker-compose.${{inputs.service_name}}.yml ps | grep "Up (healthy)" - name: 'Export logs' if: '${{ failure() }}' run: | docker-compose -f docker-compose.yml -f ${{inputs.service_name}}/docker-compose.${{inputs.service_name}}.yml ps docker-compose -f docker-compose.yml -f ${{inputs.service_name}}/docker-compose.${{inputs.service_name}}.yml logs
.yamllint 0 → 100644 +45 −0 Original line number Diff line number Diff line # ref: https://yamllint.readthedocs.io/en/stable/configuration.html extends: 'default' ignore: | homer/** matrix/** huginn/** registry/** registery/** results.json peertube/config/custom-environment-variables.yaml .git/ peertube/config/default.yaml test_config.yml # .github/ # https://yamllint.readthedocs.io/en/stable/rules.html rules: document-start: present: false comments: min-spaces-from-content: 1 line-length: allow-non-breakable-inline-mappings: true ignore: - '.github/workflows/healthcheck.workflow.tmpl.yml' - '.github/workflows/dockerpublish.yml' truthy: 'enable' indentation: spaces: 2 empty-values: 'enable' float-values: forbid-inf: true forbid-nan: true forbid-scientific-notation: true require-numeral-before-decimal: true octal-values: 'enable' quoted-strings: quote-type: 'single' required: true allow-quoted-quotes: false # vim: ft=yaml