forked from Deuxfleurs/infrastructure
Merge branch 'feature/alps' into master
This commit is contained in:
commit
9c947a458f
4 changed files with 134 additions and 0 deletions
21
app/build/alps/Dockerfile
Normal file
21
app/build/alps/Dockerfile
Normal file
|
@ -0,0 +1,21 @@
|
|||
FROM golang:1.15.6-buster as builder
|
||||
|
||||
ARG VERSION
|
||||
|
||||
ENV CGO_ENABLED=0 GOOS=linux GOARCH=amd64
|
||||
WORKDIR /tmp/alps
|
||||
|
||||
RUN git init && \
|
||||
git remote add origin https://git.sr.ht/~migadu/alps && \
|
||||
git fetch --depth 1 origin ${VERSION} && \
|
||||
git checkout FETCH_HEAD
|
||||
|
||||
COPY skipverify.patch skipverify.patch
|
||||
|
||||
RUN git apply skipverify.patch && \
|
||||
go build -a -o /usr/local/bin/alps ./cmd/alps
|
||||
|
||||
FROM scratch
|
||||
COPY --from=builder /usr/local/bin/alps /alps
|
||||
COPY --from=builder /tmp/alps/themes /themes
|
||||
ENTRYPOINT ["/alps"]
|
55
app/build/alps/skipverify.patch
Normal file
55
app/build/alps/skipverify.patch
Normal file
|
@ -0,0 +1,55 @@
|
|||
From 47765c10f1af2013556f76dc63dfa056167ae5e8 Mon Sep 17 00:00:00 2001
|
||||
From: Quentin <quentin@deuxfleurs.fr>
|
||||
Date: Fri, 4 Dec 2020 13:19:24 +0100
|
||||
Subject: [PATCH] Skip CA verification
|
||||
|
||||
---
|
||||
imap.go | 3 ++-
|
||||
smtp.go | 3 ++-
|
||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/imap.go b/imap.go
|
||||
index 7554331..1a4931d 100644
|
||||
--- a/imap.go
|
||||
+++ b/imap.go
|
||||
@@ -3,6 +3,7 @@ package alps
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
+ "crypto/tls"
|
||||
"github.com/emersion/go-imap"
|
||||
imapclient "github.com/emersion/go-imap/client"
|
||||
"github.com/emersion/go-message/charset"
|
||||
@@ -16,7 +17,7 @@ func (s *Server) dialIMAP() (*imapclient.Client, error) {
|
||||
var c *imapclient.Client
|
||||
var err error
|
||||
if s.imap.tls {
|
||||
- c, err = imapclient.DialTLS(s.imap.host, nil)
|
||||
+ c, err = imapclient.DialTLS(s.imap.host, &tls.Config{InsecureSkipVerify: true})
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to connect to IMAPS server: %v", err)
|
||||
}
|
||||
diff --git a/smtp.go b/smtp.go
|
||||
index 5e178f2..8d22f1d 100644
|
||||
--- a/smtp.go
|
||||
+++ b/smtp.go
|
||||
@@ -3,6 +3,7 @@ package alps
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
+ "crypto/tls"
|
||||
"github.com/emersion/go-smtp"
|
||||
)
|
||||
|
||||
@@ -14,7 +15,7 @@ func (s *Server) dialSMTP() (*smtp.Client, error) {
|
||||
var c *smtp.Client
|
||||
var err error
|
||||
if s.smtp.tls {
|
||||
- c, err = smtp.DialTLS(s.smtp.host, nil)
|
||||
+ c, err = smtp.DialTLS(s.smtp.host, &tls.Config{InsecureSkipVerify: true})
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to connect to SMTPS server: %v", err)
|
||||
}
|
||||
--
|
||||
2.28.0
|
||||
|
|
@ -34,6 +34,13 @@ services:
|
|||
VERSION: 5.0.0
|
||||
image: superboum/amd64_sogo:v7
|
||||
|
||||
alps:
|
||||
build:
|
||||
context: ./alps
|
||||
args:
|
||||
VERSION: 5cef0aaff2b8b6ee3e00b566123517e241d8cfb8
|
||||
image: superboum/amd64_alps:v1
|
||||
|
||||
# VoIP
|
||||
jitsi-meet:
|
||||
build:
|
||||
|
|
|
@ -407,6 +407,57 @@ job "email" {
|
|||
}
|
||||
}
|
||||
|
||||
group "alps" {
|
||||
count = 1
|
||||
task "main" {
|
||||
|
||||
driver = "docker"
|
||||
|
||||
config {
|
||||
image = "superboum/amd64_alps:v1"
|
||||
readonly_rootfs = true
|
||||
port_map {
|
||||
alps_web_port = 1323
|
||||
}
|
||||
command = "-theme"
|
||||
args = [ "alps", "imaps://imap.deuxfleurs.fr:993", "smtps://smtp.deuxfleurs.fr:465" ]
|
||||
}
|
||||
|
||||
resources {
|
||||
cpu = 50
|
||||
memory = 40
|
||||
network {
|
||||
mbits = 1
|
||||
port "alps_web_port" {}
|
||||
}
|
||||
}
|
||||
|
||||
service {
|
||||
name = "alps"
|
||||
port = "alps_web_port"
|
||||
address_mode = "host"
|
||||
tags = [
|
||||
"alps",
|
||||
"traefik.enable=true",
|
||||
"traefik.frontend.entryPoints=https,http",
|
||||
"traefik.frontend.rule=Host:alps.deuxfleurs.fr"
|
||||
]
|
||||
check {
|
||||
type = "tcp"
|
||||
port = "alps_web_port"
|
||||
interval = "60s"
|
||||
timeout = "5s"
|
||||
check_restart {
|
||||
limit = 3
|
||||
grace = "5m"
|
||||
ignore_warnings = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
group "sogo" {
|
||||
count = 1
|
||||
task "bundle" {
|
||||
|
|
Loading…
Reference in a new issue