Разворачиваем Creatio локально в Docker Desktop версию для .NetCore естественно с базой PostgresSQL.
Urls:
- http://localhost:5000 Creatio http Login = Supervisor pass = Supervisor
- https://localhost:5002 Creatio https
- http://localhost:5050 pgadmin админка SQL (password = admin)
Install
- запускаем docker-compose up -d —build
- первый раз контейнер creatio упадет, так как долго ресторится база, а она большая
- заходим в логи postgres и смотрим пока не закончится до PostgreSQL init process complete; ready for start up.
- запускаем контейнер creatio, ждем и заходим по URL
- чтобы запустить создание базы заново, просто удалить папку \db
Папки
- \postgres — для pgadmin папка через которую можно залить бэкап SQL
- \Creatio — исходники файлов Creatio взяты тут http://ftp.creatio.com/support/downloads/!Release/installation_files/7.18.0/ для Docker нужно брать с …NetCore.zip в имени файла
- \logs — папка логов Creatio
- \db — папка для сохранения баз PG
Файлы для правки
- \Creatio\ConnectionStrings.config — для работы нужно прописать, заменить две строки
1 2 |
<span id="LC1" class="line" lang="plaintext"> <add name="db" connectionString="Pooling=true; Database=Creatio; Host=postgres; Port=5432; Username=Creatio; Password=password; Timeout=5; CommandTimeout=400" /></span> <span id="LC2" class="line" lang="plaintext"> <add name="redis" connectionString="host=redis;db=0;port=6379" /></span> |
Опционально. чтобы развернуть базу SQL вручную
заходим http://localhost:5050 pgadmin админка SQL (password = admin) создаем базу c именем Creatio и ресторим из папки /home/backup дамп BPMonline7180SalesEnterprise_Marketing_ServiceEnterprise_Linux.backup (будет папка с ПК ./postgres) потом еще можно прогнать скрипт CreateTypeCastsPostgreSql.sql как бы правит имена
Error
При первом запуске он может долго ресторить базу, смотрим логи и потом запускаем контейнер с креатио
FATAL Microsoft.AspNetCore.Hosting.Diagnostics ApplicationError — Application startup exception Npgsql.PostgresException (0x80004005): 42P01: relation «public.SysSettings» does not exist Как раз такая ошибка когда база не ресторина, тогда разворачиваем базу вручную
PostgreSQL Database directory appears to contain a database; Skipping initialization решение удалить локальный vol чтобы база был чистая https://stackoverflow.com/questions/59715622/docker-compose-and-create-db-in-postgres-on-init так и не получилось реторить из дампа через sh pg_restore нашел решение просто из full.sql
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
version: "3.7" services: Creatio: container_name: Creatio_container_7_18 build: context: ./Creatio dockerfile: Dockerfile image: creatio:7.18.0.1350 ports: - 5000:5000 - 5002:5002 volumes: - ./logs:/app/Logs depends_on: - postgres - redis redis: # container_name: redis_container restart: always image: redis ports: - 6379:6379 postgres: # container_name: postgres_container_7180 image: postgres:13 environment: POSTGRES_USER: Creatio POSTGRES_PASSWORD: password POSTGRES_DB: Creatio PGDATA: /data/postgres volumes: - ./postgres/full.sql:/docker-entrypoint-initdb.d/full.sql - ./db:/data/postgres ports: - "5432:5432" restart: unless-stopped pgadmin: # container_name: pgadmin_container image: dpage/pgadmin4 environment: PGADMIN_DEFAULT_EMAIL: alexander.kepman@softline.com PGADMIN_DEFAULT_PASSWORD: admin PGADMIN_CONFIG_SERVER_MODE: 'False' volumes: - creatio_pgadmin_7180:/root/.pgadmin - ./postgres:/home/backup ports: - 5050:80 restart: unless-stopped depends_on: - postgres volumes: creatio_pgadmin_7180: |