diff --git a/caddy/.env.example b/caddy/.env.example index 5cb304e..3bddf3d 100644 --- a/caddy/.env.example +++ b/caddy/.env.example @@ -30,3 +30,6 @@ IMMICH_DOMAIN= ############# Uptime Kuma ############# UPTIME_KUMA_DOMAIN= + +############# Stalwart ############# +STALWART_DOMAIN= diff --git a/caddy/Caddyfile b/caddy/Caddyfile index 47a74b1..13c786a 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -122,4 +122,13 @@ } } +############## stalwart ############## +{$STALWART_DOMAIN} { + request_body { + max_size 4048MB + } + + reverse_proxy http://stalwart:8080 +} + import Caddyfile.private diff --git a/glance/assets/ghost.png b/glance/assets/ghost.png deleted file mode 100644 index 8ade814..0000000 Binary files a/glance/assets/ghost.png and /dev/null differ diff --git a/glance/assets/gitea.svg b/glance/assets/gitea.svg deleted file mode 100644 index 7ed0012..0000000 --- a/glance/assets/gitea.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/glance/assets/immich.png b/glance/assets/immich.png deleted file mode 100644 index cbdc20b..0000000 Binary files a/glance/assets/immich.png and /dev/null differ diff --git a/glance/assets/memos.png b/glance/assets/memos.png deleted file mode 100644 index 029df08..0000000 Binary files a/glance/assets/memos.png and /dev/null differ diff --git a/glance/assets/seradar.png b/glance/assets/seradar.png deleted file mode 100644 index 37e44e4..0000000 Binary files a/glance/assets/seradar.png and /dev/null differ diff --git a/glance/assets/sftpgo.png b/glance/assets/sftpgo.png deleted file mode 100644 index a1cd936..0000000 Binary files a/glance/assets/sftpgo.png and /dev/null differ diff --git a/glance/assets/slash.svg b/glance/assets/slash.svg deleted file mode 100644 index 321ec9d..0000000 --- a/glance/assets/slash.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/glance/assets/uptime_kuma.png b/glance/assets/uptime_kuma.png deleted file mode 100644 index 2adfffc..0000000 Binary files a/glance/assets/uptime_kuma.png and /dev/null differ diff --git a/glance/assets/vaultwarden.svg b/glance/assets/vaultwarden.svg deleted file mode 100644 index 44362ef..0000000 --- a/glance/assets/vaultwarden.svg +++ /dev/null @@ -1,5 +0,0 @@ - - Vaultwarden - - - diff --git a/glance/assets/wireguard.png b/glance/assets/wireguard.png deleted file mode 100644 index a0c17e8..0000000 Binary files a/glance/assets/wireguard.png and /dev/null differ diff --git a/glance/config/home.yml b/glance/config/home.yml index 8ac2d84..24ae0eb 100644 --- a/glance/config/home.yml +++ b/glance/config/home.yml @@ -7,41 +7,6 @@ - type: local name: Services - - type: monitor - cache: 1s - title: Services - sites: - - title: seradar.net - url: https://seradar.net/auth - icon: /assets/seradar.png - - title: git.aykhans.me - url: https://git.aykhans.me/aykhans - icon: /assets/gitea.svg - - title: ftp.aykhans.me - url: https://ftp.aykhans.me/web/client/login - icon: /assets/sftpgo.png - - title: notes.aykhans.me - url: https://notes.aykhans.me/signin - icon: /assets/memos.png - - title: url.aykhans.me - url: https://url.aykhans.me/auth - icon: /assets/slash.svg - - title: vault.aykhans.me - url: https://vault.aykhans.me/#/login - icon: /assets/vaultwarden.svg - - title: wg.aykhans.me - url: https://wg.aykhans.me/ - icon: /assets/wireguard.png - - title: photos.aykhans.me - url: https://photos.aykhans.me/ - icon: /assets/immich.png - - title: up.aykhans.me - url: https://up.aykhans.me/ - icon: /assets/uptime_kuma.png - - title: aykhans.me - url: https://aykhans.me/ - icon: /assets/ghost.png - - type: docker-containers cache: 0s hide-by-default: false @@ -68,6 +33,7 @@ - grafana/grafana - TryGhost/Ghost - schollz/croc + - stalwartlabs/stalwart - size: full widgets: diff --git a/glance/docker-compose.yml b/glance/docker-compose.yml index 2f81565..4b82042 100644 --- a/glance/docker-compose.yml +++ b/glance/docker-compose.yml @@ -1,6 +1,4 @@ networks: - glance: - external: false caddy: name: caddy driver: bridge diff --git a/main.sh b/main.sh index a8a9687..4048317 100755 --- a/main.sh +++ b/main.sh @@ -219,6 +219,15 @@ start_services() { print_error "failed to start Watchtower!" exit 1 fi + + echo "Starting stalwart..." + $DOCKER_COMPOSE_COMMAND -f ./stalwart/docker-compose.yaml up --pull -d + if [ $? -eq 0 ]; then + print_success "Stalwart started successfully." + else + print_error "failed to start Stalwart!" + exit 1 + fi } stop_services() { @@ -365,6 +374,15 @@ stop_services() { print_error "failed to stop Watchtower!" exit 1 fi + + echo "Stopping stalwart..." + $DOCKER_COMPOSE_COMMAND -f ./stalwart/docker-compose.yaml down + if [ $? -eq 0 ]; then + print_success "Stalwart stopped successfully." + else + print_error "failed to stop Stalwart!" + exit 1 + fi } if [ $# -lt 1 ]; then diff --git a/stalwart/.gitignore b/stalwart/.gitignore new file mode 100644 index 0000000..394be19 --- /dev/null +++ b/stalwart/.gitignore @@ -0,0 +1,2 @@ +/data/* +!.gitkeep diff --git a/glance/assets/user.css b/stalwart/data/.gitkeep similarity index 100% rename from glance/assets/user.css rename to stalwart/data/.gitkeep diff --git a/stalwart/docker-compose.yaml b/stalwart/docker-compose.yaml new file mode 100644 index 0000000..31ddd94 --- /dev/null +++ b/stalwart/docker-compose.yaml @@ -0,0 +1,28 @@ +networks: + caddy: + name: caddy + driver: bridge + external: true + +services: + stalwart: + image: stalwartlabs/stalwart:v0.14 + container_name: stalwart + restart: unless-stopped + labels: + - "com.centurylinklabs.watchtower.enable=true" + networks: + - caddy + ports: + - "25:25" + - "587:587" + - "465:465" + - "143:143" + - "993:993" + - "4190:4190" + - "110:110" + - "995:995" + volumes: + - ./data:/opt/stalwart + - ../caddy/data/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/mail.aykhans.me/mail.aykhans.me.crt:/opt/stalwart/cert/mail.aykhans.me.pem + - ../caddy/data/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/mail.aykhans.me/mail.aykhans.me.key:/opt/stalwart/cert/mail.aykhans.me.priv.pem