On Mon, Jul 27, 2026 at 4:56 PM Tobias Weiß <[email protected]> wrote:

> Am 27.07.26 um 12:55 schrieb Washington Odhiambo ([email protected]):
> > This is very useful. However, cloning the repo and working through it
> > requires much more work than just picking the compose file, defining
> > the services I want and building.
> > It's obvious I have to wait for the MariaDB bits to be baked in before I
> > can attempt to run from your repo.
> > My current environment:
> > Exim    → SMTP
> > Dovecot → IMAP and authentication
> > MariaDB → SOGo profiles, address books, calendars, and user sources
> > nginx   → reverse proxy
> >
> > So I would have to strip a lot from your compose file to only retain
> > what I don't already have.
>
> Thank you for feedback.
> The compose file is now structured such that users can pick from a list
> of backends. For your specific use case this may be
>
>
>
>   ```bash
>
>
>     # Exim + Dovecot + MariaDB — only need SOGo core + MariaDB
>
>
>     docker compose --profile nginx --profile db-mariadb up -d
>
>
>
>
>
>     # Then point SOGo to your existing services via Admin API:
>
>
>     #   SOGO_D_IMAP_SERVER = your-dovecot
>
>
>     #   SOGO_D_SMTP_SERVER = your-exim
>
>
>   ```
>
> > I looked at opendesk-edu. Looks promising too. But I got to that point
> > where I saw Jitsi/BBB/Moodle and kinda felt lost. However, when all
> > pointed to k8s, I gave up. It's not my cup of tea :-)
>
> Thank you for the kind words. openDesk Edu is about a digital workplace
> for universities and other (rather bigger) organizations. Thus, k8s is
> the platform to go. However, the point I wanted to make is the
> following: openDesk Edu integrates SOGo (6) and positions it as a viable
> groupware option - next to OX, grommumio, etc.
>
> Best, Tobias
>

I believe I only need SOGo core and SOGo UI, no?
I don't need Nginx as that is already running on the host as well.
Perhaps it would be great to have all environment variables moved to a .env
file as well?
I tried: docker compose --profile db-mariadb up -d

``
root@eu:/opt/sogo6-stalwart-openldap-dockerized# docker compose --profile
db-mariadb up -d
[+] up 14/14
 ✔ Network sogo6-stalwart-openldap-dockerized_sogo6-net          Created


      0.1s
 ✔ Volume sogo6-stalwart-openldap-dockerized_sogo6-ldap-config   Created


      0.0s
 ✔ Volume sogo6-stalwart-openldap-dockerized_sogo6-postgres-data Created


      0.0s
 ✔ Volume sogo6-stalwart-openldap-dockerized_sogo6-stalwart-data Created


      0.0s
 ✔ Volume sogo6-stalwart-openldap-dockerized_sogo6-redis-data    Created


      0.0s
 ✔ Volume sogo6-stalwart-openldap-dockerized_sogo6-ldap-data     Created


      0.0s
 ✔ Container sogo6-ldap                                          Healthy


     13.0s
 ✔ Container sogo6-smtp                                          Started


      1.3s
 ✔ Container sogo6-postgres                                      Healthy


     13.0s
 ✔ Container sogo6-redis                                         Healthy


     13.0s
 ✘ Container sogo6-stalwart                                      Error
dependency sogo6-stalwart failed to start

         13.0s
 ✔ Container sogo6-server                                        Created


      0.1s
 ✔ Container sogo6-ui                                            Created


      0.1s
 ✔ Container sogo6-nginx                                         Created


      0.1s
dependency failed to start: container sogo6-stalwart exited (1)
root@eu:/opt/sogo6-stalwart-openldap-dockerized# docker compose --profile
db-mariadb logs -f
sogo6-postgres  |
********************************************************************************
sogo6-postgres  | WARNING: POSTGRES_HOST_AUTH_METHOD has been set to
"trust". This will allow
sogo6-postgres  |          anyone with access to the Postgres port to
access your database without
sogo6-postgres  |          a password, even if POSTGRES_PASSWORD is set.
See PostgreSQL
sogo6-postgres  |          documentation about "trust":
sogo6-postgres  |
https://www.postgresql.org/docs/current/auth-trust.html
sogo6-postgres  |          In Docker's default configuration, this is
effectively any other
sogo6-postgres  |          container on the same system.
sogo6-postgres  |
sogo6-postgres  |          It is not recommended to use
POSTGRES_HOST_AUTH_METHOD=trust. Replace
sogo6-postgres  |          it with "-e POSTGRES_PASSWORD=password" instead
to set a password in
sogo6-postgres  |          "docker run".
sogo6-postgres  |
********************************************************************************
sogo6-postgres  | The files belonging to this database system will be owned
by user "postgres".
sogo6-postgres  | This user must also own the server process.
sogo6-postgres  |
sogo6-postgres  | The database cluster will be initialized with locale
"en_US.utf8".
sogo6-postgres  | The default database encoding has accordingly been set to
"UTF8".
sogo6-postgres  | The default text search configuration will be set to
"english".
sogo6-postgres  |
sogo6-postgres  | Data page checksums are disabled.
sogo6-postgres  |
sogo6-postgres  | fixing permissions on existing directory
/var/lib/postgresql/data ... ok
sogo6-postgres  | creating subdirectories ... ok
sogo6-postgres  | selecting dynamic shared memory implementation ... posix
sogo6-postgres  | selecting default max_connections ... 100
sogo6-postgres  | selecting default shared_buffers ... 128MB
sogo6-postgres  | selecting default time zone ... UTC
sogo6-postgres  | creating configuration files ... ok
sogo6-postgres  | running bootstrap script ... ok
sogo6-postgres  | sh: locale: not found
sogo6-postgres  | 2026-07-27 16:49:04.593 UTC [35] WARNING:  no usable
system locales were found
sogo6-postgres  | performing post-bootstrap initialization ... ok
sogo6-postgres  | syncing data to disk ... ok
sogo6-postgres  |
sogo6-postgres  |
sogo6-postgres  | Success. You can now start the database server using:
sogo6-postgres  |
sogo6-postgres  |     pg_ctl -D /var/lib/postgresql/data -l logfile start
sogo6-postgres  |
sogo6-postgres  | initdb: warning: enabling "trust" authentication for
local connections
sogo6-postgres  | initdb: hint: You can change this by editing pg_hba.conf
or using the option -A, or --auth-local and --auth-host, the next time you
run initdb.
sogo6-postgres  | waiting for server to start....2026-07-27 16:49:05.974
UTC [41] LOG:  starting PostgreSQL 15.18 on x86_64-pc-linux-musl, compiled
by gcc (Alpine 15.2.0) 15.2.0, 64-bit
sogo6-postgres  | 2026-07-27 16:49:05.978 UTC [41] LOG:  listening on Unix
socket "/var/run/postgresql/.s.PGSQL.5432"
sogo6-postgres  | 2026-07-27 16:49:06.019 UTC [44] LOG:  database system
was shut down at 2026-07-27 16:49:05 UTC
sogo6-postgres  | 2026-07-27 16:49:06.032 UTC [41] LOG:  database system is
ready to accept connections
sogo6-postgres  |  done
sogo6-postgres  | server started
sogo6-postgres  | CREATE DATABASE
sogo6-postgres  |
sogo6-postgres  |
sogo6-postgres  | /usr/local/bin/docker-entrypoint.sh: ignoring
/docker-entrypoint-initdb.d/*
sogo6-postgres  |
sogo6-postgres  | waiting for server to shut down....2026-07-27
16:49:06.143 UTC [41] LOG:  received fast shutdown request
sogo6-postgres  | 2026-07-27 16:49:06.148 UTC [41] LOG:  aborting any
active transactions
sogo6-postgres  | 2026-07-27 16:49:06.152 UTC [41] LOG:  background worker
"logical replication launcher" (PID 47) exited with exit code 1
sogo6-postgres  | 2026-07-27 16:49:06.152 UTC [42] LOG:  shutting down
sogo6-postgres  | 2026-07-27 16:49:06.156 UTC [42] LOG:  checkpoint
starting: shutdown immediate
sogo6-postgres  | 2026-07-27 16:49:06.326 UTC [42] LOG:  checkpoint
complete: wrote 922 buffers (5.6%); 0 WAL file(s) added, 0 removed, 0
recycled; write=0.051 s, sync=0.104 s, total=0.174 s; sync files=301,
longest=0.014 s, average=0.001 s; distance=4249 kB, estimate=4249 kB
sogo6-postgres  | 2026-07-27 16:49:06.344 UTC [41] LOG:  database system is
shut down
sogo6-postgres  |  done
sogo6-postgres  | server stopped
sogo6-postgres  |
sogo6-postgres  | PostgreSQL init process complete; ready for start up.
sogo6-postgres  |
sogo6-postgres  | 2026-07-27 16:49:06.507 UTC [1] LOG:  starting PostgreSQL
15.18 on x86_64-pc-linux-musl, compiled by gcc (Alpine 15.2.0) 15.2.0,
64-bit
sogo6-postgres  | 2026-07-27 16:49:06.507 UTC [1] LOG:  listening on IPv4
address "0.0.0.0", port 5432
sogo6-postgres  | 2026-07-27 16:49:06.507 UTC [1] LOG:  listening on IPv6
address "::", port 5432
sogo6-postgres  | 2026-07-27 16:49:06.527 UTC [1] LOG:  listening on Unix
socket "/var/run/postgresql/.s.PGSQL.5432"
sogo6-postgres  | 2026-07-27 16:49:06.553 UTC [57] LOG:  database system
was shut down at 2026-07-27 16:49:06 UTC
sogo6-postgres  | 2026-07-27 16:49:06.595 UTC [1] LOG:  database system is
ready to accept connections
sogo6-postgres  | 2026-07-27 16:49:14.827 UTC [67] FATAL:  database
"stalwart" does not exist
sogo6-ldap      | First start - initializing LDAP database...
sogo6-stalwart  | ⚠️ Startup failed: Failed to create tables: PostgreSQL
error (store.postgresql-error): reason = Error occurred while creating a
new object: db error
sogo6-ldap      | modifying entry "olcDatabase={1}mdb,cn=config"
sogo6-ldap      |
sogo6-ldap      | adding new entry "dc=example,dc=org"
sogo6-ldap      |
sogo6-ldap      | Loading seed LDIF: /ldif-seed/00-init.ldif
sogo6-ldap      | adding new entry "ou=users,dc=example,dc=org"
sogo6-ldap      |
sogo6-redis     | 1:C 27 Jul 2026 16:49:03.681 * oO0OoO0OoO0Oo Redis is
starting oO0OoO0OoO0Oo
sogo6-redis     | 1:C 27 Jul 2026 16:49:03.682 * Redis version=7.4.10,
bits=64, commit=00000000, modified=0, pid=1, just started
sogo6-redis     | 1:C 27 Jul 2026 16:49:03.682 * Configuration loaded
sogo6-redis     | 1:M 27 Jul 2026 16:49:03.682 * Increased maximum number
of open files to 10032 (it was originally set to 1024).
sogo6-redis     | 1:M 27 Jul 2026 16:49:03.682 * monotonic clock: POSIX
clock_gettime
sogo6-redis     | 1:M 27 Jul 2026 16:49:03.683 * Running mode=standalone,
port=6379.
sogo6-redis     | 1:M 27 Jul 2026 16:49:03.684 * Server initialized
sogo6-redis     | 1:M 27 Jul 2026 16:49:03.684 * Ready to accept
connections tcp
sogo6-smtp      | MailDev API running at http://localhost:1080
sogo6-smtp      |
sogo6-smtp      | MailDev
sogo6-smtp      |   Version: 3.0.0-rc.1
sogo6-smtp      |   SMTP Server
sogo6-smtp      |     Address: ::
sogo6-ldap      | adding new entry "[email protected]
,ou=users,dc=example,dc=org"
sogo6-ldap      |
sogo6-ldap      | adding new entry "[email protected]
,ou=users,dc=example,dc=org"
sogo6-ldap      |
sogo6-smtp      |     Port:    25
sogo6-smtp      |   Web Interface
sogo6-ldap      | adding new entry "[email protected]
,ou=users,dc=example,dc=org"
sogo6-ldap      |
sogo6-ldap      | LDAP initialization complete
sogo6-ldap      | 6a678c01.302d386e 0x7f5d6b5ec200 @(#) $OpenLDAP: slapd
2.5.13+dfsg-5 (Feb  8 2023 01:56:12) $
sogo6-ldap      |       Debian OpenLDAP Maintainers <
[email protected]>
sogo6-ldap      | 6a678c01.30df8641 0x7f5d6b5ec200 slapd starting
sogo6-ldap      | 6a678c04.2c7ec836 0x7f5d69dfe6c0 conn=1000 fd=12 ACCEPT
from IP=[::1]:35820 (IP=[::]:389)
sogo6-ldap      | 6a678c04.2c85240d 0x7f5d69dfe6c0 conn=1000 op=0 BIND
dn="cn=admin,dc=example,dc=org" method=128
sogo6-ldap      | 6a678c04.2c86aa96 0x7f5d69dfe6c0 conn=1000 op=0 BIND
dn="cn=admin,dc=example,dc=org" mech=SIMPLE bind_ssf=0 ssf=0
sogo6-ldap      | 6a678c04.2c8a5ed6 0x7f5d69dfe6c0 conn=1000 op=0 RESULT
tag=97 err=0 qtime=0.000193 etime=0.000594 text=
sogo6-ldap      | 6a678c04.2c931571 0x7f5d69dfe6c0 conn=1000 op=1 SRCH
base="dc=example,dc=org" scope=0 deref=0 filter="(objectClass=*)"
sogo6-ldap      | 6a678c04.2c963c24 0x7f5d69dfe6c0 conn=1000 op=1 SEARCH
RESULT tag=101 err=0 qtime=0.000125 etime=0.000355 nentries=1 text=
sogo6-ldap      | 6a678c04.2cb90f85 0x7f5d69dfe6c0 conn=1000 op=2 UNBIND
sogo6-ldap      | 6a678c04.2cbb975e 0x7f5d69dfe6c0 conn=1000 fd=12 closed
sogo6-smtp      |     URL:     http://localhost:1080/
sogo6-smtp      |   Press Ctrl+C to stop
sogo6-smtp      |
sogo6-ldap      | 6a678c22.3310ff15 0x7f5d69dfe6c0 conn=1001 fd=12 ACCEPT
from IP=[::1]:56310 (IP=[::]:389)
sogo6-ldap      | 6a678c22.331d54e2 0x7f5d69dfe6c0 conn=1001 op=0 BIND
dn="cn=admin,dc=example,dc=org" method=128
sogo6-ldap      | 6a678c22.331e40e9 0x7f5d69dfe6c0 conn=1001 op=0 BIND
dn="cn=admin,dc=example,dc=org" mech=SIMPLE bind_ssf=0 ssf=0
sogo6-ldap      | 6a678c22.331f94c3 0x7f5d69dfe6c0 conn=1001 op=0 RESULT
tag=97 err=0 qtime=0.000015 etime=0.000417 text=
sogo6-ldap      | 6a678c22.3323b0ff 0x7f5d63fff6c0 conn=1001 op=1 SRCH
base="dc=example,dc=org" scope=0 deref=0 filter="(objectClass=*)"
sogo6-ldap      | 6a678c22.332659e0 0x7f5d63fff6c0 conn=1001 op=1 SEARCH
RESULT tag=101 err=0 qtime=0.000011 etime=0.000204 nentries=1 text=
sogo6-ldap      | 6a678c22.3331e22e 0x7f5d69dfe6c0 conn=1001 op=2 UNBIND
sogo6-ldap      | 6a678c22.33332226 0x7f5d69dfe6c0 conn=1001 fd=12 closed
sogo6-ldap      | 6a678c41.00be29e6 0x7f5d63fff6c0 conn=1002 fd=12 ACCEPT
from IP=[::1]:35002 (IP=[::]:389)
sogo6-ldap      | 6a678c41.00c73133 0x7f5d69dfe6c0 conn=1002 op=0 BIND
dn="cn=admin,dc=example,dc=org" method=128
sogo6-ldap      | 6a678c41.00caaec7 0x7f5d69dfe6c0 conn=1002 op=0 BIND
dn="cn=admin,dc=example,dc=org" mech=SIMPLE bind_ssf=0 ssf=0
sogo6-ldap      | 6a678c41.00cc1922 0x7f5d69dfe6c0 conn=1002 op=0 RESULT
tag=97 err=0 qtime=0.000034 etime=0.000424 text=
sogo6-ldap      | 6a678c41.00d0d10d 0x7f5d63fff6c0 conn=1002 op=1 SRCH
base="dc=example,dc=org" scope=0 deref=0 filter="(objectClass=*)"
sogo6-ldap      | 6a678c41.00d4afb0 0x7f5d63fff6c0 conn=1002 op=1 SEARCH
RESULT tag=101 err=0 qtime=0.000009 etime=0.000287 nentries=1 text=
sogo6-ldap      | 6a678c41.00d65abc 0x7f5d69dfe6c0 conn=1002 op=2 UNBIND
sogo6-ldap      | 6a678c41.00d6f2bd 0x7f5d69dfe6c0 conn=1002 fd=12 closed
^C
root@eu:/opt/sogo6-stalwart-openldap-dockerized# docker compose --profile
db-mariadb down -v
[+] down 14/14
 ✔ Container sogo6-nginx                                         Removed


      0.0s
 ✔ Container sogo6-smtp                                          Removed


      0.7s
 ✔ Container sogo6-ui                                            Removed


      0.0s
 ✔ Container sogo6-server                                        Removed


      0.0s
 ✔ Container sogo6-ldap                                          Removed


      0.7s
 ✔ Container sogo6-stalwart                                      Removed


      0.0s
 ✔ Container sogo6-redis                                         Removed


      0.9s
 ✔ Container sogo6-postgres                                      Removed


      1.0s
 ✔ Volume sogo6-stalwart-openldap-dockerized_sogo6-postgres-data Removed


      0.1s
 ✔ Network sogo6-stalwart-openldap-dockerized_sogo6-net          Removed


      0.3s
 ✔ Volume sogo6-stalwart-openldap-dockerized_sogo6-ldap-data     Removed


      0.1s
 ✔ Volume sogo6-stalwart-openldap-dockerized_sogo6-ldap-config   Removed


      0.0s
 ✔ Volume sogo6-stalwart-openldap-dockerized_sogo6-stalwart-data Removed


      0.0s
 ✔ Volume sogo6-stalwart-openldap-dockerized_sogo6-redis-data    Removed


      0.0s
root@eu:/opt/sogo6-stalwart-openldap-dockerized#
root@eu:/opt/sogo6-stalwart-openldap-dockerized#
``

And I believe it's now getting OT for this list. I will raise issues on
Github, if you allow me :-)





-- 
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
 In an Internet failure case, the #1 suspect is a constant: DNS.
"Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-)
[How to ask smart questions:
http://www.catb.org/~esr/faqs/smart-questions.html]

Reply via email to