Last edited one week ago
by Robert Vogel

Development: Difference between revisions

No edit summary
No edit summary
Tag: 2017 source edit
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This page contains information about how to set up a local development environment for BlueSpice.
{{Textbox|boxtype=warning|header=Do not apply to production environments!|text=This page contains information about how to set up a '''local development environment''' for BlueSpice. None of this is supposed to be used on an production system!|icon=yes}}


== Local development environment based on <code>bluespice-deploy</code> ==
== Local development environment based on <code>bluespice-deploy</code> ==
Line 16: Line 16:
</syntaxhighlight>
</syntaxhighlight>


Create a <code>docker-compose.overrides.yml</code> file with the following content:
Create a <code>docker-compose.override.yml</code> file with the following content:
<syntaxhighlight lang="yaml">
<syntaxhighlight lang="yaml">
x-common-dev: &x-common
  image: docker.bluespice.com/bluespice-qa/wiki:latest
  volumes:
    - ${CODEDIR}:/app/bluespice/w/
services:
services:


   wiki-installer:
   wiki-installer:
     image: docker.bluespice.com/bluespice-qa/wiki:latest
     <<: *x-common
    volumes:
      - ${CODEDIR}:/app/bluespice/w/


   wiki-web:
   wiki-web:
     image: docker.bluespice.com/bluespice-qa/wiki:latest
     <<: *x-common
     volumes:
     restart: no
      - ${CODEDIR}:/app/bluespice/w/


   wiki-task:
   wiki-task:
     image: docker.bluespice.com/bluespice-qa/wiki:latest
     <<: *x-common
     volumes:
     restart: no
      - ${CODEDIR}:/app/bluespice/w/


   mailhog:
   mailhog:
     image: mailhog/mailhog
     image: mailhog/mailhog
     container_name: mailhog
     container_name: ${COMPOSE_PROJECT_NAME:-bluespice}-mailhog
     environment:
     environment:
       VIRTUAL_HOST: ${WIKI_HOST}
       VIRTUAL_HOST: ${WIKI_HOST}
       VIRTUAL_PATH: /_mailhog
       VIRTUAL_PATH: /_mailhog/
       VIRTUAL_PORT: 8025
       VIRTUAL_PORT: 8025
       VIRTUAL_DEST: /
       VIRTUAL_DEST: /
    restart: no
  cache:
    restart: no
  collabpads:
    restart: no
  collabpads-database:
    restart: no
  database:
    restart: no
  diagram:
    restart: no
  formula:
    restart: no
  pdf:
    restart: no
  proxy:
    restart: no
 
  search:
    restart: no
  wire:
    restart: no
</syntaxhighlight>
</syntaxhighlight>


Line 59: Line 91:
     image: bluespice/wiki:dev
     image: bluespice/wiki:dev
...
...
</syntaxhighlight>or you set<blockquote>BLUESPICE_WIKI_IMAGE=bluespice/wiki:dev</blockquote>in your .env
</syntaxhighlight>or you set<blockquote>BLUESPICE_WIKI_IMAGE=bluespice/wiki:dev</blockquote>in your <code>.env</code>-File
 
=== Add S3 <code>filestore</code> service ===
 
See [[Development/S3 filestore service|S3 filestore service]]
 
=== Add SAML 2.0 IdP ===
 
See [[Development/SAML 2.0 IdP|SAML 2.0 IdP]]
 
== Local development environment based on <code>bluespice-containers</code> ==
As an alternative, one can use https://github.com/BlueSpice-Wiki/bluespice-containers . This is especially useful when working on the various individual services.

Latest revision as of 11:09, 14 July 2026

Do not apply to production environments! This page contains information about how to set up a local development environment for BlueSpice. None of this is supposed to be used on an production system!


Local development environment based on bluespice-deploy

A developer can use the default deployment stack and alter is to quickly set up a development environment. To do so, first clone the stack to your local machine and navigate into it:

git clone -b 5.2.x git@github.com:hallowelt/bluespice-deploy.git
cd bluespice-deploy/compose

Create a proper .env file from the .env.sample and alter/add the following lines:

DATADIR=~/workspace/REL1_43-5.2.x/data
CODEDIR=~/workspace/REL1_43-5.2.x/code
SMTP_HOST=mailhog
SMTP_PORT=1025

Create a docker-compose.override.yml file with the following content:

x-common-dev: &x-common
  image: docker.bluespice.com/bluespice-qa/wiki:latest
  volumes:
    - ${CODEDIR}:/app/bluespice/w/

services:

  wiki-installer:
    <<: *x-common

  wiki-web:
    <<: *x-common
    restart: no

  wiki-task:
    <<: *x-common
    restart: no

  mailhog:
    image: mailhog/mailhog
    container_name: ${COMPOSE_PROJECT_NAME:-bluespice}-mailhog
    environment:
      VIRTUAL_HOST: ${WIKI_HOST}
      VIRTUAL_PATH: /_mailhog/
      VIRTUAL_PORT: 8025
      VIRTUAL_DEST: /
    restart: no

  cache:
    restart: no

  collabpads:
    restart: no

  collabpads-database:
    restart: no

  database:
    restart: no

  diagram:
    restart: no

  formula:
    restart: no

  pdf:
    restart: no

  proxy:
    restart: no
  
  search:
    restart: no

  wire:
    restart: no

This will make the stack use your local codebase from $CODEDIR and also expose a Mailhog web interface on $Wiki_HOST/_mailhog.

​In addition, if you want to work with a custom build of the bluespice/wiki container, you can add an image: entry to the respective services. Example

  wiki-installer:
    image: bluespice/wiki:dev
...
  wiki-web:
    image: bluespice/wiki:dev
...

  wiki-task:
    image: bluespice/wiki:dev
...

or you set

BLUESPICE_WIKI_IMAGE=bluespice/wiki:dev

in your .env-File

Add S3 filestore service

See S3 filestore service

Add SAML 2.0 IdP

See SAML 2.0 IdP

Local development environment based on bluespice-containers

As an alternative, one can use https://github.com/BlueSpice-Wiki/bluespice-containers . This is especially useful when working on the various individual services.


PDF exclude - start

To submit feedback about this documentation, visit our community forum.

PDF exclude - end