Compare commits

...

3 Commits

Author SHA1 Message Date
Clemens Hering
159efd2c9a Added Pipeline template
Some checks failed
Build and Deploy Container / build_and_deploy (push) Has been cancelled
2025-11-06 07:31:29 +01:00
Clemens Hering
a73beabef0 Fixed Traefik route 2025-11-06 07:15:35 +01:00
Clemens Hering
20fabf6e1b Added quadlet file for deploy 2025-11-06 07:14:38 +01:00
2 changed files with 71 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
name: Build and Deploy Container
on:
push:
branches:
- main
- develop
jobs:
build_and_deploy:
runs-on: self-hosted
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Copy code to target host
run: |
rsync -avz --delete ./ user@zielserver:/home/user/app/
- name: Build container on target host
run: |
ssh user@zielserver '
cd /home/user/app
podman build -t myapp:latest .
'
- name: Replace Quadlet file
run: |
scp ./systemd/myapp.container user@zielserver:~/.config/containers/systemd/
ssh user@zielserver '
systemctl --user daemon-reload
systemctl --user restart myapp.service
'

View File

@@ -0,0 +1,38 @@
[Unit]
Description=Valtrix Website
Requires=edge.network
After=edge.network
[Container]
Image=localhost/valtrixweb
ContainerName=valtrixwebsite
Network=edge
AutoUpdate=registry
Environment=TZ=Europe/Berlin
#Traefik Labels
Label=traefik.enable=true
Label=traefik.http.routers.wtw.rule=Host(`www.valtrix.systems`)
Label=traefik.http.services.wtw.loadbalancer.server.port=3000
Label=traefik.http.routers.wtw.entrypoints=websecure
Label=traefik.http.routers.wtw.tls=true
Label=traefik.http.routers.wtw.tls.certresolver=le
Label=traefik.http.routers.wtw-http.rule=Host(`www.valtrix.systems`)
Label=traefik.http.routers.wtw-http.entrypoints=web
Label=traefik.http.routers.wtw-http.middlewares=wtw-redirect
Label=traefik.http.middlewares.wtw-redirect.redirectscheme.scheme=https
Label=traefik.http.middlewares.wtw-redirect.redirectscheme.permanent=true
Label=traefik.http.routers.wtw.middlewares=secure-headers@file
Label="traefik.http.middlewares.wtw-sec.headers.customResponseHeaders.Content-Security-Policy=default-src 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; script-src 'self'; script-src-elem 'self' 'unsafe-inline'; connect-src 'self' wss: https:; font-src 'self' data:; worker-src 'self' blob:;"
Label=traefik.http.routers.wtw.middlewares=wtw-sec@docker
Label=traefik.http.routers.wtw.middlewares=wtw-sec@docker
Label="traefik.http.routers.wtw.middlewares=auth"
Label="traefik.http.middlewares.auth.basicauth.users=smb:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/"
[Service]
Restart=on-failure
[Install]
WantedBy=default.target