diff --git a/mailman/database.container b/mailman/database.container new file mode 100644 index 0000000..ede8bd0 --- /dev/null +++ b/mailman/database.container @@ -0,0 +1,6 @@ +[Container] +Environment=POSTGRES_DB=mailmandb POSTGRES_USER=mailman POSTGRES_PASSWORD=mailmanpass +HostName=database +Image=docker.io/postgres:14-alpine +Network=mailman.network +Volume=database.volume:/var/lib/postgresql/data diff --git a/mailman/database.volume b/mailman/database.volume new file mode 100644 index 0000000..a8f2375 --- /dev/null +++ b/mailman/database.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=database diff --git a/mailman/mailman-core.container b/mailman/mailman-core.container new file mode 100644 index 0000000..cc0e96f --- /dev/null +++ b/mailman/mailman-core.container @@ -0,0 +1,21 @@ +[Unit] +Requires=database.service + +[Container] +ContainerName=mailman-core +Environment=DATABASE_URL=postgresql://mailman:mailmanpass@database/mailmandb +Environment=DATABASE_TYPE=postgres +Environment=DATABASE_CLASS=mailman.database.postgresql.PostgreSQLDatabase +Environment=MTA=postfix +Secret=MAILMAN_REST_PASSWORD,type=env +Secret=HYPERKITTY_API_KEY,type=env +HostName=mailman-core +Image=docker.io/maxking/mailman-core:0.4 +Network=mailman.network +PodmanArgs=--stop-timeout 30 +PublishPort=127.0.0.1:8001:8001 +PublishPort=127.0.0.1:8024:8024 +Volume=mailman-core.volume:/opt/mailman/ + +[Service] +Restart=always diff --git a/mailman/mailman-core.volume b/mailman/mailman-core.volume new file mode 100644 index 0000000..63a7cad --- /dev/null +++ b/mailman/mailman-core.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=mailman-core diff --git a/mailman/mailman-web.container b/mailman/mailman-web.container new file mode 100644 index 0000000..a89f011 --- /dev/null +++ b/mailman/mailman-web.container @@ -0,0 +1,20 @@ +[Unit] +Requires=database.service + +[Container] +ContainerName=mailman-web +Environment=DATABASE_TYPE=postgres +Environment=DATABASE_URL=postgresql://mailman:mailmanpass@database/mailmandb +Environment=SERVE_FROM_DOMAIN=lists.example.com +Secret=HYPERKITTY_API_KEY,type=env +Secret=MAILMAN_WEB_SECRET_KEY,type=env,target=SECRET_KEY +Secret=MAILMAN_REST_PASSWORD,type=env +HostName=mailman-web +Image=docker.io/maxking/mailman-web:0.4 +Network=mailman.network +PublishPort=127.0.0.1:8000:8000 +PublishPort=127.0.0.1:8080:8080 +Volume=mailman-web.volume:/opt/mailman-web-data + +[Service] +#Restart=always diff --git a/mailman/mailman-web.volume b/mailman/mailman-web.volume new file mode 100644 index 0000000..9cf5286 --- /dev/null +++ b/mailman/mailman-web.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=mailman-web diff --git a/mailman/mailman.network b/mailman/mailman.network new file mode 100644 index 0000000..ae30928 --- /dev/null +++ b/mailman/mailman.network @@ -0,0 +1,2 @@ +[Network] +Driver=bridge