Skip to main content

Installation

Docker-Compose

Glitchtip has docker images already prepared so we only have to make a few small configurations. The first thing we are going to do is to create a .env file with the database configuration data.

.env
POSTGRES_DB=glitchtip
POSTGRES_USER=glitchtipOSDO
POSTGRES_PASS=glitchtipPASS

We create the network to connect the defectdojo to the traefik

docker network create glitchtip

We create the SECRET_KEY that the application needs to work and we substitute them in the environment variables of the docker-compose.yml

openssl rand -hex 32

We have to change the GLITCHTIP_DOMAIN variable of example.com in the traefik label of the Host and the GLITCHTIP_DOMAIN variable of example.com for the domain we want.

warning

En la configuración actual el sistena no envia emails.

To send emails you have to configure our smtp server, Mailgun or SendGrid

docker-compose.yml
version: "3.8"
x-environment:
&default-environment
DATABASE_URL: postgres://postgres:postgres@postgres:5432/postgres
SECRET_KEY: CREATE_NET_SECRET_KEY
PORT: 8000
EMAIL_URL: consolemail://
GLITCHTIP_DOMAIN: https://glitchtip.example.com # Change this to your domain
DEFAULT_FROM_EMAIL: info@example.com # Change this to your email
CELERY_WORKER_MAX_TASKS_PER_CHILD: "10000"
ENABLE_USER_REGISTRATION: "false"

x-depends_on:
&default-depends_on
- postgres
- redis

services:
postgres:
image: postgres:15
container_name: postgres-glitchtip
environment:
POSTGRES_HOST_AUTH_METHOD: "trust" # Consider removing this and setting a password
restart: unless-stopped
volumes:
- pg-data:/var/lib/postgresql/data
networks:
- glitchtip
redis:
image: redis
container_name: redis-glitchtip
restart: unless-stopped
networks:
- glitchtip
web:
image: glitchtip/glitchtip@sha256:4b67df9b1ee43f02ab7167caf84f9df24377e4de1cffc748c37932e757ca1049
container_name: web-glitchtip
depends_on: *default-depends_on
labels:
- "traefik.enable=true"
- "traefik.http.routers.glitchtip.rule=Host(`glitchtip.example.com`)"
- "traefik.http.routers.glitchtip.entrypoints=websecure"
- "traefik.http.routers.glitchtip.tls=true"
- "traefik.http.routers.glitchtip.tls.certresolver=le"
- "traefik.http.services.glitchtip-service.loadbalancer.server.port=8000"
environment: *default-environment
restart: unless-stopped
volumes:
- uploads:/code/uploads
networks:
- glitchtip
worker:
image: glitchtip/glitchtip@sha256:4b67df9b1ee43f02ab7167caf84f9df24377e4de1cffc748c37932e757ca1049
command: ./bin/run-celery-with-beat.sh
container_name: worker-glitchtip
depends_on: *default-depends_on
environment: *default-environment
restart: unless-stopped
volumes:
- uploads:/code/uploads
networks:
- glitchtip
migrate:
container_name: migrate-glitchtip
image: glitchtip/glitchtip@sha256:4b67df9b1ee43f02ab7167caf84f9df24377e4de1cffc748c37932e757ca1049
depends_on: *default-depends_on
command: "./manage.py migrate"
environment: *default-environment
networks:
- glitchtip

volumes:
pg-data:
uploads:

networks:
glitchtip:
external: true
tip

Before you start it, remember to add the network in traefik

We started up the containers.

docker-compose up -d