coreos-home-server/config/service/nginx/systemd/nginx-serve-php@.service

32 lines
1.5 KiB
SYSTEMD
Raw Normal View History

[Unit]
Description=NGINX PHP Web Service for %I
Wants=container-build@%i.service container-volume@%i.service nginx.service nginx-proxy-http@%i.service
After=container-build@%i.service container-volume@%i.service nginx.service
Before=nginx-proxy-http@%i.service
[Service]
Type=notify
NotifyAccess=all
Restart=on-failure
Environment=PODMAN_SYSTEMD_UNIT=%n
Environment=SERVER_NAME=%i SERVICE_DATA_DIRECTORY=/data
Environment=NGINX_CONF=%E/coreos-home-server/nginx/service/%p.conf.template
ExecStartPre=/bin/podman pod create --replace --name %i --net internal
ExecStartPre=/bin/podman create --replace --pull never --name %i-php --pod %i --sdnotify=conmon \
--env-file %E/coreos-home-server/%i/%i.env \
--volume %i:${SERVICE_DATA_DIRECTORY}:z,rshared \
localhost/%i:latest
ExecStartPre=/bin/podman init %i-php
ExecStartPre=/bin/podman create --replace --pull never --name %i-nginx --pod %i \
--volumes-from=%i-php:z,ro \
localhost/nginx:latest
ExecStartPre=/bin/sh -c "envsubst '$SERVER_NAME' < ${NGINX_CONF} > /tmp/%i.conf"
ExecStartPre=/bin/sh -c 'podman cp /tmp/%i.conf %i-nginx:/etc/nginx/conf.d/%i.conf && rm -f /tmp/%i.conf'
ExecStart=/bin/sh -c 'podman pod start %i && podman start --attach %i-php'
ExecStop=/bin/podman pod stop --ignore --time 10 %i
ExecStopPost=/bin/podman pod rm --ignore --force %i
[Install]
Alias=%i.service
WantedBy=multi-user.target