diff --git a/.env.example b/.env.example index 3a60c9c..5c837b7 100644 --- a/.env.example +++ b/.env.example @@ -1,6 +1,10 @@ # Skopíruj tento súbor ako .env a vyplň hodnoty # cp .env.example .env +# Docker Hub +DOCKERHUB_USERNAME= +WATCHTOWER_TOKEN= + # Databáza DB_SERVER=192.168.1.68 DB_PORT=3306 diff --git a/.gitea/workflows/docker-build.yaml b/.gitea/workflows/docker-build.yaml index 19f5f9e..1eafb79 100644 --- a/.gitea/workflows/docker-build.yaml +++ b/.gitea/workflows/docker-build.yaml @@ -28,4 +28,10 @@ jobs: push: true tags: ${{ secrets.DOCKERHUB_USERNAME }}/calendarreminder-app:latest cache-from: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/calendarreminder-app:buildcache - cache-to: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/calendarreminder-app:buildcache,mode=max \ No newline at end of file + cache-to: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/calendarreminder-app:buildcache,mode=max + + - name: Trigger Watchtower deploy + run: | + curl -sf \ + -H "Authorization: Bearer ${{ secrets.WATCHTOWER_TOKEN }}" \ + http://${{ secrets.TRUENAS_IP }}:8085/v1/update diff --git a/docker-compose.yml b/docker-compose.yml index 62bac06..a5e7bd6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,8 +1,13 @@ services: app: - build: . + image: ${DOCKERHUB_USERNAME}/calendarreminder-app:latest ports: - "8080:8080" + depends_on: + db: + condition: service_healthy + labels: + - "com.centurylinklabs.watchtower.enable=true" environment: - ASPNETCORE_ENVIRONMENT=Production - ConnectionStrings__Default=Server=${DB_SERVER};Port=${DB_PORT};Database=${DB_NAME};User=${DB_USER};Password=${DB_PASSWORD}; @@ -32,3 +37,16 @@ services: timeout: 5s retries: 5 restart: unless-stopped + + watchtower: + image: containrrr/watchtower + ports: + - "8085:8080" + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + - WATCHTOWER_LABEL_ENABLE=true + - WATCHTOWER_CLEANUP=true + - WATCHTOWER_HTTP_API_UPDATE=true + - WATCHTOWER_HTTP_API_TOKEN=${WATCHTOWER_TOKEN} + restart: unless-stopped