Skip to content

GitHub Actions workflow that runs a socket-activated echo server with Podman in a user systemd service

License

Notifications You must be signed in to change notification settings

eriksjolund/user-systemd-service-actions-workflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Actions workflow to demonstrate how to run a user systemd service

The tested echo server container ghcr.io/eriksjolund/socket-activate-echo supports socket activation.

Using socket activation has the advantage that there is no need for the client to use /usr/bin/sleep combined with a while-loop to check if the server is online.

The file .github/workflows/demo.yml contains:

name: Echo server demo with podman and systemd
on: 
  push:
    branch:
      - main
jobs:
  systemd_podman_echo_server_demo:
    runs-on: ubuntu-24.04
    permissions:
      contents: read
    steps:
      - name: Run actions/checkout for this repo
        uses: actions/checkout@v4
        with:
          path: checkout
          persist-credentials: false
      - name: Run an echo server with podman in a user systemd service
        run: |
          sudo apt-get update
          sudo apt-get install -y socat
          podman pull ghcr.io/eriksjolund/socket-activate-echo:latest
          mkdir -p ~/.config/containers/systemd
          mkdir -p ~/.config/systemd/user
          cp checkout/echo.container ~/.config/containers/systemd
          cp checkout/echo.socket ~/.config/systemd/user/
          systemctl --user daemon-reload
          systemctl --user start echo.socket
          echo hello | socat - tcp4:127.0.0.1:3000
          echo hello | socat - tcp6:[::1]:3000
          echo hello | socat - udp4:127.0.0.1:3000
          echo hello | socat - udp6:[::1]:3000
          echo hello | socat - unix:$HOME/echo_stream_sock
          echo hello | socat - VSOCK-CONNECT:1:3000

About

GitHub Actions workflow that runs a socket-activated echo server with Podman in a user systemd service

Topics

Resources

License

Stars

Watchers

Forks