diff --git a/beeper/etc/containers/systemd/ejabberd/ejabberd.container b/beeper/etc/containers/systemd/ejabberd/ejabberd.container new file mode 100644 index 0000000..f0a4b87 --- /dev/null +++ b/beeper/etc/containers/systemd/ejabberd/ejabberd.container @@ -0,0 +1,30 @@ +[Unit] +Description=ejabberd +Requires=postgresql.service +After=postgresql.service + +[Container] +Image=ghcr.io/processone/ejabberd:latest +ContainerName=ejabberd +Environment=CTL_ON_START=registered_users synth.download ; status +EnvironmentFile=/var/containers/ejabberd/.env +Network=ejabberd.network +Network=postgresql.network +PublishPort=5222:5222 +PublishPort=5223:5223 +PublishPort=5269:5269 +PublishPort=5270:5270 +PublishPort=5280:5280 +PublishPort=5443:5443 +PublishPort=5478:5478 +Volume=/var/containers/ejabberd/ejabberd.yml:/opt/ejabberd/conf/ejabberd.yml:ro,Z +Volume=/var/containers/ejabberd/files:/opt/ejabberd/upload:Z +Volume=/var/containers/ejabberd/db:/opt/ejabberd/database:Z +Volume=/etc/certs:/etc/letsencrypt/live:ro,z + +[Service] +Restart=always +RestartSec=10s + +[Install] +WantedBy=default.target diff --git a/beeper/etc/containers/systemd/ejabberd/ejabberd.network b/beeper/etc/containers/systemd/ejabberd/ejabberd.network new file mode 100644 index 0000000..70cde7b --- /dev/null +++ b/beeper/etc/containers/systemd/ejabberd/ejabberd.network @@ -0,0 +1,2 @@ +[Network] +IPv6=true diff --git a/beeper/etc/containers/systemd/forgejo/forgejo.container b/beeper/etc/containers/systemd/forgejo/forgejo.container index 746e89e..eb0cd1e 100644 --- a/beeper/etc/containers/systemd/forgejo/forgejo.container +++ b/beeper/etc/containers/systemd/forgejo/forgejo.container @@ -11,9 +11,8 @@ Network=forgejo.network Network=postgresql.network PublishPort=127.0.0.1:41807:3000 PublishPort=10429:22 +Timezone=local Volume=/var/containers/forgejo/forgejo:/data:Z -Volume=/etc/timezone:/etc/timezone:ro -Volume=/etc/localtime:/etc/localtime:ro [Service] Restart=always diff --git a/beeper/etc/containers/systemd/freshrss/freshrss.container b/beeper/etc/containers/systemd/freshrss/freshrss.container new file mode 100644 index 0000000..fd9505a --- /dev/null +++ b/beeper/etc/containers/systemd/freshrss/freshrss.container @@ -0,0 +1,21 @@ +[Unit] +Description=FreshRSS +Requires=postgresql.service +After=postgresql.service + +[Container] +Image=docker.io/freshrss/freshrss:latest +ContainerName=freshrss +EnvironmentFile=/var/containers/freshrss/.env.secrets +Network=freshrss.network +Network=postgresql.network +PublishPort=127.0.0.1:27819:80 +Volume=/var/containers/freshrss/data:/var/www/FreshRSS/data:Z +Volume=/var/containers/freshrss/extensions:/var/www/FreshRSS/extensions:Z + +[Service] +Restart=always +RestartSec=10s + +[Install] +WantedBy=default.target diff --git a/beeper/etc/containers/systemd/freshrss/freshrss.network b/beeper/etc/containers/systemd/freshrss/freshrss.network new file mode 100644 index 0000000..70cde7b --- /dev/null +++ b/beeper/etc/containers/systemd/freshrss/freshrss.network @@ -0,0 +1,2 @@ +[Network] +IPv6=true diff --git a/beeper/etc/containers/systemd/mailserver/mailserver.container b/beeper/etc/containers/systemd/mailserver/mailserver.container new file mode 100644 index 0000000..4d308bd --- /dev/null +++ b/beeper/etc/containers/systemd/mailserver/mailserver.container @@ -0,0 +1,31 @@ +[Unit] +Description=mailserver + +[Container] +Image=ghcr.io/docker-mailserver/docker-mailserver:edge +ContainerName=mailserver +EnvironmentFile=/var/containers/mailserver/mailserver.env +AddCapability=NET_ADMIN +HealthCmd=ss --listening --tcp | grep -P 'LISTEN.+:smtp' || exit 1 +HealthInterval=10s +HealthTimeout=3s +HealthRetries=0 +HostName=mx1.synth.download +PublishPort=25:25 +PublishPort=143:143 +PublishPort=587:587 +PublishPort=993:993 +Timezone=local +Volume=/var/containers/mailserver/data:/var/mail:Z +Volume=/var/containers/mailserver/state:/var/mail-state:Z +Volume=/var/containers/mailserver/logs:/var/log/mail:Z +Volume=/var/containers/mailserver/config:/tmp/docker-mailserver:Z +Volume=/etc/certs/wildcard_.synth.download.crt:/etc/letsencrypt/live/synth.download/fullchain.pem:ro,z +Volume=/etc/certs/wildcard_.synth.download.key:/etc/letsencrypt/live/synth.download/privkey.pem:ro,z + +[Service] +Restart=always +RestartSec=10s + +[Install] +WantedBy=default.target diff --git a/beeper/etc/containers/systemd/spindle/spindle.container b/beeper/etc/containers/systemd/spindle/spindle.container new file mode 100644 index 0000000..6e8376a --- /dev/null +++ b/beeper/etc/containers/systemd/spindle/spindle.container @@ -0,0 +1,18 @@ +[Unit] +Description=Tangled Spindle Server + +[Container] +Image=ghcr.io/zenfyrdev/spindle:latest +ContainerName=spindle +EnvironmentFile=/var/containers/spindle/.env +PublishPort=127.0.0.1:40653:6555 +Volume=/var/containers/spindle/server/logs:/var/log/spindle:Z +Volume=/var/containers/spindle/server:/app:Z +Volume=/var/run/dind/docker.sock:/var/run/docker.sock:z + +[Service] +Restart=always +RestartSec=10s + +[Install] +WantedBy=default.target diff --git a/beeper/etc/containers/systemd/zitadel/zitadel.container b/beeper/etc/containers/systemd/zitadel/zitadel.container new file mode 100644 index 0000000..1d5a657 --- /dev/null +++ b/beeper/etc/containers/systemd/zitadel/zitadel.container @@ -0,0 +1,20 @@ +[Unit] +Description=Zitadel +Requires=postgresql.service +After=postgresql.service + +[Container] +Image=ghcr.io/zitadel/zitadel:latest +ContainerName=zitadel +EnvironmentFile=/var/containers/zitadel/.env +Network=zitadel.network +Network=postgresql.network +PublishPort=127.0.0.1:19241:8080 +Exec=start-from-init --masterkeyFromEnv --tlsMode external + +[Service] +Restart=always +RestartSec=10s + +[Install] +WantedBy=default.target diff --git a/beeper/etc/containers/systemd/zitadel/zitadel.network b/beeper/etc/containers/systemd/zitadel/zitadel.network new file mode 100644 index 0000000..70cde7b --- /dev/null +++ b/beeper/etc/containers/systemd/zitadel/zitadel.network @@ -0,0 +1,2 @@ +[Network] +IPv6=true