deSEAsion documentation
Getting started
Installation
This web application is packaged using docker compose. All the following instruction consider you have a working docker/docker compose installation on your system. If you need any help setting up docker, please visit the docker doc.
That’s it! This repository contains an example docker-compose.yml file which you can modify according to your need:
services:
web:
image: registry.gitlab.com/decide.imt-atlantique/deseasion/frontend:latest
restart: always
ports:
- 80:80
depends_on:
- backend
backend:
image: registry.gitlab.com/decide.imt-atlantique/deseasion/backend:latest
restart: always
environment:
- DB_URI=postgresql://aileron:pass@database/aileron
- CELERY_BROKER_URL=redis://redis:6379/0
volumes:
- backend-instance:/app/instance
depends_on:
- database
- worker
database:
image: registry.gitlab.com/decide.imt-atlantique/deseasion/database:latest
restart: always
volumes:
- postgres_data_prod:/var/lib/postgresql/data/
environment:
- POSTGRES_USER=aileron
- POSTGRES_PASSWORD=pass
- POSTGRES_DB=aileron
redis:
image: redis:7.4.2
restart: always
worker:
image: registry.gitlab.com/decide.imt-atlantique/deseasion/worker:latest
restart: always
environment:
- DOCKER_HOST=tcp://docker:2376
- DOCKER_CERT_PATH=/certs/client
- DOCKER_TLS_VERIFY=1
volumes:
- backend-instance:/app/instance
- docker-certs:/certs/client:ro
depends_on:
- redis
- docker
change-vol-ownership:
# We can use any image we want as long as we can chown
image: ubuntu:24.04
# Need a user priviliged enough to chown
user: "root"
volumes:
# The volume to chown
- docker-certs:/tmp/change-ownership
command: chown -R 1000:1000 /tmp/change-ownership
docker:
image: docker:28.0.4-dind-rootless
restart: always
privileged: true
environment:
- DOCKER_TLS_CERTDIR=/certs
volumes:
- docker-certs:/certs/client
depends_on:
change-vol-ownership:
# Wait for the ownership to change
condition: service_completed_successfully
volumes:
postgres_data_prod:
backend-instance:
docker-certs:
This file needs environment variables, they can be supplied by a .env file present in the same directory. Here is a working example:
# PostgreSQL aileron DB settings
POSTGRES_USER="aileron"
POSTGRES_PASSWORD="pass"
POSTGRES_DB="aileron"
Alternatively, you can build the required docker images to run deSEAsion:
git clone https://gitlab.com/decide.imt-atlantique/deseasion.git
cd deseasion
make docker
You can also replace the git clone command by downloading the source code archive from one of our release: Deseasion Releases
Any information regarding the application configuration can be found in installation section.
Starting the application
To start in daemon mode (better for production):
docker compose up -d
To start in the terminal (will be shut down once the terminal is stopped):
docker compose up
That’s it! You only need to wait around a minute for the whole application to start.
Using the application
Add users
docker compose exec -it backend flask user create
Using the application
Go to your browser and get the application page.
Check the backend API
Go to your browser and get the Swagger-UI.
Copyright and licence
deSEAsion is copyrighted (C) 2016-2025 by IMT Atlantique Bretagne Pays de la Loire and Service hydrographique et océanographique de la marine (Shom). Licensed under the European Union Public Licence (EUPL) v1.2.
Please refer to the file LICENCE containing the text of the EUPL v1.2.
You may also obtain a copy of the license at: https://joinup.ec.europa.eu/software/page/eupl
For more information on this license, please refer to:
European Union Public Licence: https://joinup.ec.europa.eu/collection/eupl/eupl-guidelines-faq-infographics
Distribution
This project is distributed in multiple ways:
as source code: in which case the above copyright notice is applied
as a python package deseasion-backend: in which case the above copyright notice is applied
as docker images (see container registry): in each published docker images, licenses (including third-party) and copyright notices are gathered inside the container in the /licenses folder