Fix various issues with Nginx containers

This commit is contained in:
Alex Palaistras 2021-03-27 14:54:05 +00:00
parent ffb3fe2bcd
commit b3ab5a6ce3
3 changed files with 11 additions and 13 deletions

View File

@ -2,6 +2,7 @@
Description=Container network for %I Description=Container network for %I
Wants=network-online.target Wants=network-online.target
After=network-online.target After=network-online.target
ConditionPathExists=!/etc/cni/net.d/%i.conflist
[Service] [Service]
Type=oneshot Type=oneshot

View File

@ -6,23 +6,22 @@ Before=nginx-ingress-http@%i.service
[Service] [Service]
Restart=always Restart=always
PrivateTmp=true
Environment=SERVER_NAME=%i Environment=SERVER_NAME=%i
Environment=NGINX_CONF=/etc/container-service/nginx/service/%p.conf.template Environment=NGINX_CONF=/etc/container-service/nginx/service/%p.conf.template
ExecStartPre=/bin/install --owner 33 --group 33 -d /var/lib/container-service/%i ExecStartPre=/bin/install --owner 33 --group 33 -d /var/lib/container-service/%i
ExecStartPre=/bin/install -d /tmp/conf.d ExecStartPre=/bin/podman pod create --replace --net mariadb,nginx-ingress --name %i
ExecStartPre=/bin/sh -c "envsubst '$SERVER_NAME' < ${NGINX_CONF} > /tmp/conf.d/%i.conf"
ExecStartPre=/bin/podman pod create --replace --net internal,nginx-ingress --name %i
ExecStartPre=/bin/podman create --replace --pull never --pod %i \ ExecStartPre=/bin/podman create --replace --pull never --pod %i \
--env-file /etc/container-service/%i/%i.env \ --env-file /etc/container-service/%i/%i.env \
--volume /var/lib/container-service/%i:/data:z \ --volume /var/lib/container-service/%i:/data:z \
--name %i-php localhost/%i:latest --name %i-php localhost/%i:latest
ExecStartPre=/bin/podman create --replace --pull never --pod %i \ ExecStartPre=/bin/podman create --replace --pull never --pod %i \
--volume /tmp/conf.d:/etc/nginx/conf.d:z \
--volumes-from=%i-php:z,ro \ --volumes-from=%i-php:z,ro \
--name %i-nginx localhost/nginx:latest --name %i-nginx localhost/nginx:latest
ExecStart=/bin/sh -c 'podman pod start %i && podman start --attach %i-php' ExecStartPre=/bin/sh -c "envsubst '$SERVER_NAME' < ${NGINX_CONF} > /tmp/%i.conf"
ExecStop=/bin/podman stop --time 10 %i-nginx %i-php ExecStartPre=/bin/podman cp /tmp/%i.conf %i-nginx:/etc/nginx/conf.d
ExecStartPre=/bin/rm -f /tmp/%i.conf
ExecStart=/bin/sh -c 'podman pod start %i && podman wait %i-php && podman attach --no-stdin %i-php'
ExecStop=/bin/podman pod stop --time 10 %i
[Install] [Install]
Alias=%i.service Alias=%i.service

View File

@ -6,14 +6,12 @@ Before=nginx-ingress-http@%i.service
[Service] [Service]
Restart=always Restart=always
PrivateTmp=true
Environment=SERVER_NAME=%i Environment=SERVER_NAME=%i
Environment=NGINX_CONF=/etc/container-service/nginx/service/%p.conf.template Environment=NGINX_CONF=/etc/container-service/nginx/service/%p.conf.template
ExecStartPre=/bin/install -d /tmp/conf.d ExecStartPre=/bin/podman create --replace --pull never --net nginx-ingress --name %i localhost/%i:latest
ExecStartPre=/bin/sh -c "envsubst '$SERVER_NAME' < ${NGINX_CONF} > /tmp/conf.d/%i.conf" ExecStartPre=/bin/sh -c "envsubst '$SERVER_NAME' < ${NGINX_CONF} > /tmp/%i.conf"
ExecStartPre=/bin/podman create --replace --pull never --net nginx-ingress \ ExecStartPre=/bin/podman cp /tmp/%i.conf %i:/etc/nginx/conf.d
--volume /tmp/conf.d:/etc/nginx/conf.d:z \ ExecStartPre=/bin/rm -f /tmp/%i.conf
--name %i localhost/%i:latest
ExecStart=/bin/podman start --attach %i ExecStart=/bin/podman start --attach %i
ExecStop=/bin/podman stop --time 10 %i ExecStop=/bin/podman stop --time 10 %i