Skip to main content

Installing Soffid

Prerequisites

  • Docker compose
  • 8GB RAM
  • > 10GB disk space (50GB recomended)

Installation

docker-compose.yaml / compose.yaml
version: "3.8"
services:

  mariadb:
    image: mariadb:11.4
    environment:
      MYSQL_ROOT_PASSWORD: XXXXXXXXX
      MYSQL_DATABASE: soffid01soffid
      MYSQL_USER: soffid
      MYSQL_PASSWORD: XXXXXYYYY
    healthcheck:
      test: "/usr/bin/mariadb --user=root --password=XXXXX --execute \"SHOW DATABASES;\""
      interval: 2s
      timeout: 20s
      retries: 10
    command: --max_allowed_packet=128M --innodb_log_file_size=256M --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
    ports:
      - "3306:3306"
    networks:
      - network
    volumes:
      - mariadb_data:/var/lib/mysql
  
  console:
    image: soffid/europe-docker.pkg.dev/soffid-docker-images/private/iam-console:4.0.0-beta-80
    environment:
      DB_URL: jdbc:mariadb://mariadb/soffid01soffid
      DB_USER: soffid
      DB_PASSWORD: XXXXXYYYY
      JAVA_OPT: -Xmx4096m
    ports:
      - 8080:8080
    networks:
    - network
    healthcheck:
      test: bash -c "(echo 'GET /soffid/anonymous/logo.svg HTTP/1.1' >&0; echo >&0; cat >&2;) <> /dev/tcp/localhost/8080"
      interval: 10s
      timeout: 20s
      retries: 10
      start_period: 40s    
    volumes:
      - console_trust:/opt/soffid/iam-console-4/trustedcerts
      - console_conf:/opt/soffid/iam-console-4/conf
      - console_logs:/opt/soffid/iam-console-4/logs
      - console_index:/opt/soffid/iam-console-4/index      
    depends_on:
      mariadb:
        condition: service_healthyservice_started

  sync-server:syncserver:
    image: soffid/europe-docker.pkg.dev/soffid-docker-images/private/iam-sync:4.0.0-beta-20
    hostname: sync-serversyncserver
    environment:
      SOFFID_PORT: 1760
      SOFFID_HOSTNAME: sync-server.netcomposesyncserver.network
      SOFFID_MAIN: yes
      DB_URL: jdbc:mysql://mariadb/soffid01soffid
      DB_USER: soffid
      DB_PASSWORD: XXXXXYYYY
    networks:
      - network
    volumes:
      - sync_conf:/opt/soffid/iam-sync/conf
    depends_on:
      mariadb:
        condition: service_healthy
      console:
        condition: service_healthyservice_started

networks:
  network:
    name: netcomposenetwork
    driver: bridge

volumes:
  mariadb_data:
    name: compose_mariadbdatasoffid4_mariadbdata
  console_trust:
    name: compose_console_trustedcertssoffid4_console_trustedcerts
  console_conf:
    name: compose_console_conf
  console_logs:
    name: compose_console_logssoffid4_console_conf
  console_index:
    name: compose_console_indexsoffid4_console_index
  sync_conf:
    name: compose_sync_confsoffid4_sync_conf
Ubuntu commands

Bear in mind, that the name of the YAML file must be docker-compose.yaml And you must execute the docker compose action inside the folder where this file is located.

cd /.../.../soffid

Apply the YAML:

sudo docker compose up -d

image-1699860896041.png

Check containers

sudo docker compose ps

View the console log

sudo docker compose logs -f console

View the Sync Server log

sudo docker compose logs -f sync-server

When the console is created, the password for the user admin will be changeit and it will be valid for 24 hours.

Now you can connect to Soffid Console http://localhost:8080/soffid The first thing you must do is to change the admin user password changeit

Upgrade

You can update the version in the yaml file

docker compose up -d