diff --git a/.circleci/config.yml b/.circleci/config.yml index c2aaaa5..1cc8dcb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -42,6 +42,11 @@ jobs: command: | python3 --version python3 deploy.py + - store_artifacts: + path: /opt/mailman/web/logs/ + + - store_artifacts: + path: /opt/mailman/core/var/logs workflows: version: 2 diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..0c2dd78 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,26 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "docker" # See documentation for possible values + directory: "/core" # Location of package manifests + schedule: + interval: "weekly" + - package-ecosystem: "docker" # See documentation for possible values + directory: "/web" # Location of package manifests + schedule: + interval: "weekly" + - package-ecosystem: "docker" # See documentation for possible values + directory: "/postorius" # Location of package manifests + schedule: + interval: "weekly" + # Enable version updates for Actions + - package-ecosystem: "github-actions" + # Look for `.github/workflows` in the `root` directory + directory: "/" + # Check for updates once a week + schedule: + interval: "weekly" diff --git a/.github/workflows/publish_docs.yml b/.github/workflows/publish_docs.yml index 2d202e6..44a503f 100644 --- a/.github/workflows/publish_docs.yml +++ b/.github/workflows/publish_docs.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout main - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Deploy docs uses: mhausenblas/mkdocs-deploy-gh-pages@master diff --git a/core/Dockerfile b/core/Dockerfile index 3a4ee7d..93d3bcc 100644 --- a/core/Dockerfile +++ b/core/Dockerfile @@ -1,5 +1,5 @@ # syntax = docker/dockerfile:1.3 -FROM alpine:3.12 +FROM alpine:3.16.2 #Add startup script to container COPY docker-entrypoint.sh /usr/local/bin/ diff --git a/core/Dockerfile.dev b/core/Dockerfile.dev index bb0c0b8..186c43e 100644 --- a/core/Dockerfile.dev +++ b/core/Dockerfile.dev @@ -1,5 +1,5 @@ # syntax = docker/dockerfile:1.3 -FROM alpine:3.12 +FROM alpine:3.16.2 #Add startup script to container COPY docker-entrypoint.sh /usr/local/bin/ diff --git a/docker-compose.yaml b/docker-compose.yaml index 5390bf1..ecc7ec9 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -49,7 +49,7 @@ services: - POSTGRES_DB=mailmandb - POSTGRES_USER=mailman - POSTGRES_PASSWORD=mailmanpass - image: postgres:9.6-alpine + image: postgres:11-alpine volumes: - /opt/mailman/database:/var/lib/postgresql/data networks: @@ -62,4 +62,4 @@ networks: driver: default config: - - subnet: 172.19.199.0/24 \ No newline at end of file + subnet: 172.19.199.0/24 diff --git a/postorius/Dockerfile b/postorius/Dockerfile index 408c832..fbf2d81 100644 --- a/postorius/Dockerfile +++ b/postorius/Dockerfile @@ -1,5 +1,5 @@ # syntax = docker/dockerfile:1.3 -FROM alpine:3.12 +FROM alpine:3.16.2 # Add needed files for uwsgi server + settings for django COPY mailman-web /opt/mailman-web diff --git a/postorius/Dockerfile.dev b/postorius/Dockerfile.dev index e427a1c..bedac05 100644 --- a/postorius/Dockerfile.dev +++ b/postorius/Dockerfile.dev @@ -1,5 +1,5 @@ # syntax = docker/dockerfile:1.3 -FROM alpine:3.12 +FROM alpine:3.16.2 # Add needed files for uwsgi server + settings for django COPY mailman-web /opt/mailman-web diff --git a/postorius/mailman-web/urls.py b/postorius/mailman-web/urls.py index 804b9e3..6a9bbaf 100644 --- a/postorius/mailman-web/urls.py +++ b/postorius/mailman-web/urls.py @@ -16,19 +16,18 @@ # You should have received a copy of the GNU General Public License along with # Postorius. If not, see . - -from django.conf.urls import include, url +from django.conf.urls import include from django.contrib import admin -from django.urls import reverse_lazy +from django.urls import path, reverse_lazy from django.views.generic import RedirectView urlpatterns = [ - url(r'^$', RedirectView.as_view( + path(r'^$', RedirectView.as_view( url=reverse_lazy('list_index'), permanent=True)), - url(r'^postorius/', include('postorius.urls')), - url(r'', include('django_mailman3.urls')), - url(r'^accounts/', include('allauth.urls')), + path(r'postorius/', include('postorius.urls')), + path(r'', include('django_mailman3.urls')), + path(r'accounts/', include('allauth.urls')), # Django admin - url(r'^admin/', admin.site.urls), + path(r'^admin/', admin.site.urls), ] diff --git a/web/Dockerfile b/web/Dockerfile index 297f074..cd0c94e 100644 --- a/web/Dockerfile +++ b/web/Dockerfile @@ -1,5 +1,5 @@ # syntax = docker/dockerfile:1.3 -FROM alpine:3.12 +FROM alpine:3.16.2 # Add needed files for uwsgi server + settings for django COPY mailman-web /opt/mailman-web diff --git a/web/Dockerfile.dev b/web/Dockerfile.dev index 9b2809c..9049528 100644 --- a/web/Dockerfile.dev +++ b/web/Dockerfile.dev @@ -1,5 +1,5 @@ # syntax = docker/dockerfile:1.3 -FROM alpine:3.12 +FROM alpine:3.16.2 # Add needed files for uwsgi server + settings for django COPY mailman-web /opt/mailman-web @@ -33,10 +33,11 @@ RUN --mount=type=cache,target=/root/.cache \ mysqlclient \ xapian-haystack \ django-auth-ldap \ - python-memcached \ + python-memcached \ + tzdata \ diskcache \ django-utils-six \ - && python3 -m pip install -U 'Django<3.2' \ + && python3 -m pip install -U 'Django<4.3' \ && python3 -m pip install -U \ git+https://gitlab.com/mailman/django-mailman3 \ && apk del .build-deps \ diff --git a/web/mailman-web/urls.py b/web/mailman-web/urls.py index e8bb66c..0e14f66 100644 --- a/web/mailman-web/urls.py +++ b/web/mailman-web/urls.py @@ -16,20 +16,19 @@ # You should have received a copy of the GNU General Public License along with # Postorius. If not, see . - -from django.conf.urls import include, url +from django.conf.urls import include from django.contrib import admin -from django.urls import reverse_lazy +from django.urls import path, reverse_lazy from django.views.generic import RedirectView urlpatterns = [ - url(r'^$', RedirectView.as_view( + path(r'^$', RedirectView.as_view( url=reverse_lazy('list_index'), permanent=True)), - url(r'^postorius/', include('postorius.urls')), - url(r'^hyperkitty/', include('hyperkitty.urls')), - url(r'', include('django_mailman3.urls')), - url(r'^accounts/', include('allauth.urls')), + path(r'postorius/', include('postorius.urls')), + path(r'hyperkitty/', include('hyperkitty.urls')), + path(r'', include('django_mailman3.urls')), + path(r'accounts/', include('allauth.urls')), # Django admin - url(r'^admin/', admin.site.urls), + path(r'^admin/', admin.site.urls), ]