commit
b51a659515
@ -14,7 +14,7 @@ jobs:
|
|||||||
pull-requests: write
|
pull-requests: write
|
||||||
steps:
|
steps:
|
||||||
- name: Mark/Close Stale Issues and Pull Requests 🗑️
|
- name: Mark/Close Stale Issues and Pull Requests 🗑️
|
||||||
uses: actions/stale@v5.0.0
|
uses: actions/stale@v5.1.0
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.STALE_ACTION_PAT }}
|
repo-token: ${{ secrets.STALE_ACTION_PAT }}
|
||||||
days-before-stale: 60
|
days-before-stale: 60
|
||||||
@ -30,6 +30,7 @@ jobs:
|
|||||||
stale-issue-label: "stale"
|
stale-issue-label: "stale"
|
||||||
stale-pr-label: "stale"
|
stale-pr-label: "stale"
|
||||||
exempt-draft-pr: "true"
|
exempt-draft-pr: "true"
|
||||||
|
close-issue-reason: "not_planned"
|
||||||
operations-per-run: "250"
|
operations-per-run: "250"
|
||||||
ascending: "true"
|
ascending: "true"
|
||||||
#DRY-RUN
|
#DRY-RUN
|
||||||
|
29
.github/workflows/image_builds.yml
vendored
29
.github/workflows/image_builds.yml
vendored
@ -1,4 +1,4 @@
|
|||||||
name: Build Mailcow Docker Images
|
name: Build mailcow Docker Images
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@ -9,19 +9,20 @@ jobs:
|
|||||||
docker_image_builds:
|
docker_image_builds:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
images: ["acme-mailcow",
|
images:
|
||||||
"clamd-mailcow",
|
- "acme-mailcow"
|
||||||
"dockerapi-mailcow",
|
- "clamd-mailcow"
|
||||||
"dovecot-mailcow",
|
- "dockerapi-mailcow"
|
||||||
"netfilter-mailcow",
|
- "dovecot-mailcow"
|
||||||
"olefy-mailcow",
|
- "netfilter-mailcow"
|
||||||
"php-fpm-mailcow",
|
- "olefy-mailcow"
|
||||||
"postfix-mailcow",
|
- "php-fpm-mailcow"
|
||||||
"rspamd-mailcow",
|
- "postfix-mailcow"
|
||||||
"sogo-mailcow",
|
- "rspamd-mailcow"
|
||||||
"solr-mailcow",
|
- "sogo-mailcow"
|
||||||
"unbound-mailcow",
|
- "solr-mailcow"
|
||||||
"watchdog-mailcow"]
|
- "unbound-mailcow"
|
||||||
|
- "watchdog-mailcow"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
2
.github/workflows/integration_tests.yml
vendored
2
.github/workflows/integration_tests.yml
vendored
@ -1,4 +1,4 @@
|
|||||||
name: Mailcow Integration Tests
|
name: mailcow Integration Tests
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
FROM clamav/clamav:0.105.0_base
|
FROM clamav/clamav:0.105.1_base
|
||||||
|
|
||||||
LABEL maintainer "André Peters <andre.peters@servercow.de>"
|
LABEL maintainer "André Peters <andre.peters@servercow.de>"
|
||||||
|
|
||||||
|
@ -518,6 +518,9 @@ paths:
|
|||||||
- domain.tld
|
- domain.tld
|
||||||
type: success
|
type: success
|
||||||
schema:
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
properties:
|
properties:
|
||||||
log:
|
log:
|
||||||
description: contains request object
|
description: contains request object
|
||||||
@ -532,7 +535,6 @@ paths:
|
|||||||
- danger
|
- danger
|
||||||
- error
|
- error
|
||||||
type: string
|
type: string
|
||||||
type: object
|
|
||||||
description: OK
|
description: OK
|
||||||
headers: {}
|
headers: {}
|
||||||
tags:
|
tags:
|
||||||
@ -579,6 +581,11 @@ paths:
|
|||||||
domain:
|
domain:
|
||||||
description: Fully qualified domain name
|
description: Fully qualified domain name
|
||||||
type: string
|
type: string
|
||||||
|
gal:
|
||||||
|
description: >-
|
||||||
|
is domain global address list active or not, it enables
|
||||||
|
shared contacts accross domain in SOGo webmail
|
||||||
|
type: boolean
|
||||||
mailboxes:
|
mailboxes:
|
||||||
description: limit count of mailboxes associated with this domain
|
description: limit count of mailboxes associated with this domain
|
||||||
type: number
|
type: number
|
||||||
@ -596,6 +603,9 @@ paths:
|
|||||||
if not, them you have to create "dummy" mailbox for each
|
if not, them you have to create "dummy" mailbox for each
|
||||||
address to relay
|
address to relay
|
||||||
type: boolean
|
type: boolean
|
||||||
|
relay_unknown_only:
|
||||||
|
description: Relay non-existing mailboxes only. Existing mailboxes will be delivered locally.
|
||||||
|
type: boolean
|
||||||
rl_frame:
|
rl_frame:
|
||||||
enum:
|
enum:
|
||||||
- s
|
- s
|
||||||
@ -606,6 +616,11 @@ paths:
|
|||||||
rl_value:
|
rl_value:
|
||||||
description: rate limit value
|
description: rate limit value
|
||||||
type: number
|
type: number
|
||||||
|
tags:
|
||||||
|
description: tags for this Domain
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
type: object
|
type: object
|
||||||
summary: Create domain
|
summary: Create domain
|
||||||
/api/v1/add/domain-admin:
|
/api/v1/add/domain-admin:
|
||||||
@ -1952,6 +1967,9 @@ paths:
|
|||||||
- domain2.tld
|
- domain2.tld
|
||||||
type: success
|
type: success
|
||||||
schema:
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
properties:
|
properties:
|
||||||
log:
|
log:
|
||||||
description: contains request object
|
description: contains request object
|
||||||
@ -1966,7 +1984,6 @@ paths:
|
|||||||
- danger
|
- danger
|
||||||
- error
|
- error
|
||||||
type: string
|
type: string
|
||||||
type: object
|
|
||||||
description: OK
|
description: OK
|
||||||
headers: {}
|
headers: {}
|
||||||
tags:
|
tags:
|
||||||
@ -1977,14 +1994,15 @@ paths:
|
|||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
type: object
|
||||||
example:
|
example:
|
||||||
- domain.tld
|
- domain.tld
|
||||||
- domain2.tld
|
- domain2.tld
|
||||||
properties:
|
properties:
|
||||||
items:
|
items:
|
||||||
description: contains list of domains you want to delete
|
type: array
|
||||||
type: object
|
items:
|
||||||
type: object
|
type: string
|
||||||
summary: Delete domain
|
summary: Delete domain
|
||||||
/api/v1/delete/domain-admin:
|
/api/v1/delete/domain-admin:
|
||||||
post:
|
post:
|
||||||
@ -2972,23 +2990,25 @@ paths:
|
|||||||
$ref: "#/components/responses/Unauthorized"
|
$ref: "#/components/responses/Unauthorized"
|
||||||
"200":
|
"200":
|
||||||
content:
|
content:
|
||||||
"*/*":
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
properties:
|
properties:
|
||||||
log:
|
log:
|
||||||
|
type: array
|
||||||
description: contains request object
|
description: contains request object
|
||||||
items: {}
|
items: {}
|
||||||
type: array
|
|
||||||
msg:
|
msg:
|
||||||
items: {}
|
|
||||||
type: array
|
type: array
|
||||||
|
items: {}
|
||||||
type:
|
type:
|
||||||
enum:
|
enum:
|
||||||
- success
|
- success
|
||||||
- danger
|
- danger
|
||||||
- error
|
- error
|
||||||
type: string
|
type: string
|
||||||
type: object
|
|
||||||
description: OK
|
description: OK
|
||||||
headers: {}
|
headers: {}
|
||||||
tags:
|
tags:
|
||||||
@ -3056,13 +3076,33 @@ paths:
|
|||||||
if not, them you have to create "dummy" mailbox for each
|
if not, them you have to create "dummy" mailbox for each
|
||||||
address to relay
|
address to relay
|
||||||
type: boolean
|
type: boolean
|
||||||
|
relay_unknown_only:
|
||||||
|
description: Relay non-existing mailboxes only. Existing mailboxes will be delivered locally.
|
||||||
|
type: boolean
|
||||||
relayhost:
|
relayhost:
|
||||||
description: id of relayhost
|
description: id of relayhost
|
||||||
type: number
|
type: number
|
||||||
|
rl_frame:
|
||||||
|
enum:
|
||||||
|
- s
|
||||||
|
- m
|
||||||
|
- h
|
||||||
|
- d
|
||||||
|
type: string
|
||||||
|
rl_value:
|
||||||
|
description: rate limit value
|
||||||
|
type: number
|
||||||
|
tags:
|
||||||
|
description: tags for this Domain
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
type: object
|
type: object
|
||||||
items:
|
items:
|
||||||
description: contains list of domain names you want update
|
description: contains list of domain names you want update
|
||||||
type: object
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
type: object
|
type: object
|
||||||
summary: Update domain
|
summary: Update domain
|
||||||
/api/v1/edit/fail2ban:
|
/api/v1/edit/fail2ban:
|
||||||
|
@ -3,7 +3,7 @@ function init_db_schema() {
|
|||||||
try {
|
try {
|
||||||
global $pdo;
|
global $pdo;
|
||||||
|
|
||||||
$db_version = "13072022_1700";
|
$db_version = "25072022_2300";
|
||||||
|
|
||||||
$stmt = $pdo->query("SHOW TABLES LIKE 'versions'");
|
$stmt = $pdo->query("SHOW TABLES LIKE 'versions'");
|
||||||
$num_results = count($stmt->fetchAll(PDO::FETCH_ASSOC));
|
$num_results = count($stmt->fetchAll(PDO::FETCH_ASSOC));
|
||||||
@ -738,7 +738,7 @@ function init_db_schema() {
|
|||||||
"username" => "VARCHAR(255) NOT NULL",
|
"username" => "VARCHAR(255) NOT NULL",
|
||||||
"authmech" => "ENUM('yubi_otp', 'u2f', 'hotp', 'totp', 'webauthn')",
|
"authmech" => "ENUM('yubi_otp', 'u2f', 'hotp', 'totp', 'webauthn')",
|
||||||
"secret" => "VARCHAR(255) DEFAULT NULL",
|
"secret" => "VARCHAR(255) DEFAULT NULL",
|
||||||
"keyHandle" => "VARCHAR(255) DEFAULT NULL",
|
"keyHandle" => "VARCHAR(1023) DEFAULT NULL",
|
||||||
"publicKey" => "VARCHAR(4096) DEFAULT NULL",
|
"publicKey" => "VARCHAR(4096) DEFAULT NULL",
|
||||||
"counter" => "INT NOT NULL DEFAULT '0'",
|
"counter" => "INT NOT NULL DEFAULT '0'",
|
||||||
"certificate" => "TEXT",
|
"certificate" => "TEXT",
|
||||||
|
@ -58,7 +58,7 @@ services:
|
|||||||
- redis
|
- redis
|
||||||
|
|
||||||
clamd-mailcow:
|
clamd-mailcow:
|
||||||
image: mailcow/clamd:1.53
|
image: mailcow/clamd:1.54
|
||||||
restart: always
|
restart: always
|
||||||
depends_on:
|
depends_on:
|
||||||
- unbound-mailcow
|
- unbound-mailcow
|
||||||
|
Loading…
Reference in New Issue
Block a user