Skip to content

# Request: Docker Compose setup for SOGo 6 UI and Server #186

Description

@jniltinho

Request: Docker Compose setup for SOGo 6 UI and Server

Hello SOGo team,

Could you please create a Docker Compose configuration to run the following two projects together?

  • https://github.com/Alinto/SOGo6-server
  • https://github.com/Alinto/SOGo6-UI

The objective is to start the complete SOGo 6 web interface and backend server using a single command:

docker compose up -d

The Docker Compose environment should include:

  • SOGo 6 Server
  • SOGo 6 UI
  • PostgreSQL, if required by the server
  • Redis, if required by the server
  • An optional Nginx reverse proxy

LDAP is not required for this environment.

The configuration should provide:

  • Dockerfiles or build definitions for both projects
  • A shared Docker network
  • Persistent volumes for application and database data
  • Health checks for the main services
  • Correct service dependencies
  • An example .env file
  • Environment variables for configuring communication between the UI and server
  • Automatic database initialization, if required
  • Correct API URL configuration in the UI
  • CORS configuration, if the UI and server use different addresses
  • Restart policies
  • Clear startup and troubleshooting documentation

The UI should communicate with the backend using the Docker service name instead of localhost when communication happens between containers.

For example:

services:
  sogo-server:
    build:
      context: ./SOGo6-server
    restart: unless-stopped

  sogo-ui:
    build:
      context: ./SOGo6-UI
    restart: unless-stopped
    depends_on:
      sogo-server:
        condition: service_healthy

The browser-facing API URL should also be configured correctly. Since a browser cannot resolve internal Docker service names, an Nginx reverse proxy could expose both components under the same hostname:

http://localhost/
http://localhost/api/

For example:

  • / routes to the SOGo 6 UI
  • /api/ routes to the SOGo 6 Server

This would avoid CORS problems and simplify the UI configuration.

The repository structure could be organized as follows:

sogo6-docker/
├── docker-compose.yml
├── .env.example
├── nginx/
│   └── default.conf
├── SOGo6-server/
└── SOGo6-UI/

It should be possible to clone both repositories and start the environment with:

git clone https://github.com/Alinto/SOGo6-server.git
git clone https://github.com/Alinto/SOGo6-UI.git

docker compose up -d --build

Please also document:

docker compose up -d
docker compose down
docker compose logs -f
docker compose ps
docker compose build --no-cache
docker compose down -v

This Docker Compose setup is intended primarily for development, testing and evaluation.

Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions