Direkt zum Hauptinhalt

Installation via Docker

Beschreibung:

SOGo Groupware mit ActiveSync CalDAV, Carddav.
Authentifizierung gegen einen Vorhandenen IMAP/Server.
Das heißt zum einloggen wird Email Adrese und KEnnwort benötigt.

Vorrausetzung:

Feste Öffentliche IP Adresse

Installation:

Server installation:

apt install docker.io docker-compose curl

Verzeichnis erstellen

mkdir /root/sogo

nun die .env Datei erstellen

nano /root/sogo/.env

Inhalt

# SOGo-Konfiguration
MAIL_DOMAIN=example.com
IMAP_SERVER=imap.example.com
SMTP_SERVER=smtp.example.com
SOGO_TIMEZONE=Europe/Berlin
SOGO_SESSION_MAX=2592000

# DB
POSTGRES_DB=sogo
POSTGRES_USER=sogo
POSTGRES_PASSWORD=supergeheim

# Reverse Proxy & SSL
DOMAIN_NAME=mail.example.com
EMAIL=admin@example.com
nano /root/sogo/docker-compose

Inhalt

version: '3.8'

services:
  postgres:
    image: postgres:15
    container_name: sogo-postgres
    restart: always
    environment:
      - POSTGRES_DB=${POSTGRES_DB}
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
    volumes:
      - ./postgres_data:/var/lib/postgresql/data
    networks:
    
  sogo:
    image: alinto/sogo:latest
    container_name: sogo
    restart: always
    environment:
      - SOGO_SOGO_DEFAULTDOMAIN=${MAIL_DOMAIN}
      - SOGO_IMAP_SERVER=imaps://${IMAP_SERVER}:993
      - SOGO_SMTP_SERVER=smtps://${SMTP_SERVER}:465
      #diese beiden bei selbssignierten certs
      - SOGO_SOGoTrustProxyAuthentication=YES
      - SOGO_NSSAllowUntrustedCertificates=YES
      - SOGO_TIMEZONE=${SOGO_TIMEZONE}
      - SOGO_ENABLE_EAS=true
      - SOGO_SOGoMaximumSessionDuration=${SOGO_SESSION_MAX}
      - SOGO_SOGoMailDomain=${MAIL_DOMAIN}
      - SOGO_SOGoProfileURL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}/sogo_user_profile
      - SOGO_SOGoFolderInfoURL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}/sogo_folder_info
      - SOGO_SOGoACLsURL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}/sogo_acls      
    depends_on:
      - postgres
    networks:
      - sogo-net

  caddy:
    image: caddy:latest
    restart: always
    ports:
      - "80:80"
      - "443:443"
    command: caddy reverse-proxy --from ${DOMAIN_NAME} --to sogo:20000
    volumes:
      - ./data/caddy/data:/data
      - ./data/caddy/config:/config
    networks:
      - sogo-net

networks:
  sogo-net: