Loading .github/workflows/dockerpublish.yml +17 −14 Original line number Diff line number Diff line Loading @@ -10,6 +10,9 @@ jobs: Config-test: runs-on: 'ubuntu-latest' steps: - uses: 'KengoTODA/actions-setup-docker-compose@v1' with: version: '2.20.2' - uses: 'actions/checkout@v3' - name: 'DEBUG' run: 'docker version && docker compose version' Loading @@ -23,63 +26,63 @@ jobs: log.log *.patch Health-checks-codimd: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'codimd' timeout-minutes: 5 # Health-checks-grafana: # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' # 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@master' # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' # with: # sus: 'mkdir -p ./hits/postgresql/data' # service_name: 'hits' # Health-checks-hugo: # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' # with: # service_name: 'hugo' Health-checks-jackett: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'jackett' # Health-checks-mastodon: # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' # with: # service_name: 'mastodon' Health-checks-nextcloud: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'nextcloud' Health-checks-nginx: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'nginx' Health-checks-searxng: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'searxng' Health-checks-sharelatex: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'sharelatex' Health-checks-streama: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: 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@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'traefik' Health-checks-transmission: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'transmission' Health-checks-wordpress: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'wordpress' Lint: Loading .github/workflows/healthcheck.workflow.tmpl.yml +14 −7 Original line number Diff line number Diff line Loading @@ -20,6 +20,9 @@ jobs: runs-on: 'ubuntu-latest' steps: - uses: 'actions/checkout@v3' - uses: 'KengoTODA/actions-setup-docker-compose@v1' with: version: '2.20.2' - name: 'Caching' uses: 'actions/cache@v3' with: Loading @@ -31,20 +34,24 @@ jobs: ${{ 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 echo -e "USERS=runner\nUSERNAME=octocat" > .env docker-compose up -d ${{inputs.service_name}} - 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 docker-compose ps ${{inputs.service_name}} | grep "starting" || exit 0 done - name: 'Check health' - name: 'Checking containers health' run: | docker-compose ps ${{inputs.service_name}} | grep "healthy" - name: 'Checking for unattended volumes' run: | docker-compose -f docker-compose.yml -f ${{inputs.service_name}}/docker-compose.${{inputs.service_name}}.yml ps | grep "Up (healthy)" - name: 'Export logs' git diff --exit-code . - name: 'Exporting 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 docker-compose ps ${{inputs.service_name}} docker-compose logs ${{inputs.service_name}} README.md +12 −4 Original line number Diff line number Diff line # Server configuration [](https://github.com/tomMoulard/make-my-server/actions) [](https://discord.gg/zQV6m9Jk6Z) Your (my) own server configuration, managed by docker-compose, with comprehensive default configuration. ## Setup IF you are using [docker compose version <2.20](https://docs.docker.com/compose/multiple-compose-files/include/), you need to use the following bash command to use this project: ```bash docker-compose () { docker-compose $(find -name 'docker-compose*.yml' -type f -printf '%p\t%d\n' 2>/dev/null | sort -n -k2 | cut -f 1 | awk '{print "-f "$0}') $@ docker-compose $(find -name 'docker-compose.*.yml' -type f -printf '%p\t%d\n' 2>/dev/null | sort -n -k2 | cut -f 1 | awk '{print "-f "$0}') $@ } ``` ### Run ```bash SITE=tom.moulard.org docker-compose up -d ``` Now you have my own server configuration. Now you have your own server configuration. To be a little more consistent with the management, you can use a `.env` file and do: Loading @@ -19,7 +27,7 @@ and do: cp .env.default .env ``` And edit the file to use the correct site URL. And edit the `.env` file to use the correct configuration. The `docker-compose` function gather all docker-compose files in order to have the whole configuration in one place (see `docker-compose config`). Loading bazarr/docker-compose.bazarr.yml +3 −3 Original line number Diff line number Diff line Loading @@ -20,6 +20,6 @@ services: - 'srv' restart: 'always' volumes: - './bazarr/config:/config' - './bazarr/movies:/movies' - './bazarr/tv:/tv' - './config:/config' - './movies:/movies' - './tv:/tv' bitwarden/docker-compose.bitwarden.yml +1 −1 Original line number Diff line number Diff line Loading @@ -28,4 +28,4 @@ services: restart: 'always' user: 'nobody' volumes: - './bitwarden/data:/data' - './data:/data' Loading
.github/workflows/dockerpublish.yml +17 −14 Original line number Diff line number Diff line Loading @@ -10,6 +10,9 @@ jobs: Config-test: runs-on: 'ubuntu-latest' steps: - uses: 'KengoTODA/actions-setup-docker-compose@v1' with: version: '2.20.2' - uses: 'actions/checkout@v3' - name: 'DEBUG' run: 'docker version && docker compose version' Loading @@ -23,63 +26,63 @@ jobs: log.log *.patch Health-checks-codimd: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'codimd' timeout-minutes: 5 # Health-checks-grafana: # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' # 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@master' # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' # with: # sus: 'mkdir -p ./hits/postgresql/data' # service_name: 'hits' # Health-checks-hugo: # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' # with: # service_name: 'hugo' Health-checks-jackett: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'jackett' # Health-checks-mastodon: # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' # uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' # with: # service_name: 'mastodon' Health-checks-nextcloud: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'nextcloud' Health-checks-nginx: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'nginx' Health-checks-searxng: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'searxng' Health-checks-sharelatex: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'sharelatex' Health-checks-streama: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: 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@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'traefik' Health-checks-transmission: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'transmission' Health-checks-wordpress: uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@master' uses: 'tomMoulard/make-my-server/.github/workflows/healthcheck.workflow.tmpl.yml@feat/compose-v2.20' with: service_name: 'wordpress' Lint: Loading
.github/workflows/healthcheck.workflow.tmpl.yml +14 −7 Original line number Diff line number Diff line Loading @@ -20,6 +20,9 @@ jobs: runs-on: 'ubuntu-latest' steps: - uses: 'actions/checkout@v3' - uses: 'KengoTODA/actions-setup-docker-compose@v1' with: version: '2.20.2' - name: 'Caching' uses: 'actions/cache@v3' with: Loading @@ -31,20 +34,24 @@ jobs: ${{ 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 echo -e "USERS=runner\nUSERNAME=octocat" > .env docker-compose up -d ${{inputs.service_name}} - 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 docker-compose ps ${{inputs.service_name}} | grep "starting" || exit 0 done - name: 'Check health' - name: 'Checking containers health' run: | docker-compose ps ${{inputs.service_name}} | grep "healthy" - name: 'Checking for unattended volumes' run: | docker-compose -f docker-compose.yml -f ${{inputs.service_name}}/docker-compose.${{inputs.service_name}}.yml ps | grep "Up (healthy)" - name: 'Export logs' git diff --exit-code . - name: 'Exporting 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 docker-compose ps ${{inputs.service_name}} docker-compose logs ${{inputs.service_name}}
README.md +12 −4 Original line number Diff line number Diff line # Server configuration [](https://github.com/tomMoulard/make-my-server/actions) [](https://discord.gg/zQV6m9Jk6Z) Your (my) own server configuration, managed by docker-compose, with comprehensive default configuration. ## Setup IF you are using [docker compose version <2.20](https://docs.docker.com/compose/multiple-compose-files/include/), you need to use the following bash command to use this project: ```bash docker-compose () { docker-compose $(find -name 'docker-compose*.yml' -type f -printf '%p\t%d\n' 2>/dev/null | sort -n -k2 | cut -f 1 | awk '{print "-f "$0}') $@ docker-compose $(find -name 'docker-compose.*.yml' -type f -printf '%p\t%d\n' 2>/dev/null | sort -n -k2 | cut -f 1 | awk '{print "-f "$0}') $@ } ``` ### Run ```bash SITE=tom.moulard.org docker-compose up -d ``` Now you have my own server configuration. Now you have your own server configuration. To be a little more consistent with the management, you can use a `.env` file and do: Loading @@ -19,7 +27,7 @@ and do: cp .env.default .env ``` And edit the file to use the correct site URL. And edit the `.env` file to use the correct configuration. The `docker-compose` function gather all docker-compose files in order to have the whole configuration in one place (see `docker-compose config`). Loading
bazarr/docker-compose.bazarr.yml +3 −3 Original line number Diff line number Diff line Loading @@ -20,6 +20,6 @@ services: - 'srv' restart: 'always' volumes: - './bazarr/config:/config' - './bazarr/movies:/movies' - './bazarr/tv:/tv' - './config:/config' - './movies:/movies' - './tv:/tv'
bitwarden/docker-compose.bitwarden.yml +1 −1 Original line number Diff line number Diff line Loading @@ -28,4 +28,4 @@ services: restart: 'always' user: 'nobody' volumes: - './bitwarden/data:/data' - './data:/data'