fix(service): use postgresql in the bugsink template

The template used mysql:latest with binary logging on and no limit,
so the binary logs filled the disk and Bugsink stopped. Use
postgres:17-alpine and bugsink/bugsink:2, as the Bugsink Docker
Compose sample does. Existing services keep MySQL; the changelog
tells how to purge the logs and turn binary logging off.

Closes #10626

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Andras Bacsai
2026-11-03 18:28:46 +01:00
co-authored by Claude Opus 5.5
parent 83a5667387
commit ccaa04ce33
4 changed files with 17 additions and 22 deletions
+1
View File
@@ -19,6 +19,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
### Fixed
- Use PostgreSQL 17 instead of MySQL in the Bugsink service template, as the Bugsink Docker Compose sample does, and pin Bugsink to version 2. Before, the template used `mysql:latest` with binary logging on, so the binary logs filled the disk after some weeks and Bugsink stopped. Only new Bugsink services get PostgreSQL. To stop the growth in an existing service, run `PURGE BINARY LOGS BEFORE NOW();` in MySQL, then add `command: ['--disable-log-bin']` to the `mysql` service and restart it ([#10626](https://github.com/coollabsio/coolify/issues/10626))
- List the commit images of Docker Compose applications on the **Rollback** page and in `GET /api/v1/applications/{uuid}/rollback-images`. Since v4.5.0 the list was always empty, because a Compose build names each service image `<uuid>_<service>`. The page also shows the running commit when the Compose file has services from other images, for example a database ([#12446](https://github.com/coollabsio/coolify/issues/12446))
- Finish the startup and the nightly cleanup of stuck resources on instances with many large deployment logs. Before, the cleanup loaded the logs of all deployments and stopped with "Allowed memory size exhausted", so stuck deployments, tasks, and backups were not marked as failed and the proxy configuration was not set up ([#12435](https://github.com/coollabsio/coolify/issues/12435))
- Open the database backup pages and **Settings > Backup** faster when a backup has many executions. Before, these pages loaded all executions of the backup on each request, but they did not show them
+12 -18
View File
@@ -1,41 +1,35 @@
# documentation: https://www.bugsink.com/docs/
# slogan: Self-hosted Error Tracking.
# category: monitoring
# tags: python, error-tracking, django, mysql
# tags: python, error-tracking, django, postgresql
# logo: svgs/bugsink.svg
# port: 8000
services:
mysql:
image: 'mysql:latest'
postgres:
image: 'postgres:17-alpine'
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MYSQLROOT}
- MYSQL_DATABASE=${MYSQL_DATABASE:-bugsink}
- MYSQL_USER=${SERVICE_USER_MYSQL}
- MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL}
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- POSTGRES_DB=${POSTGRES_DB:-bugsink}
volumes:
- my-datavolume:/var/lib/mysql
- bugsink-postgres-data:/var/lib/postgresql/data
healthcheck:
test:
- CMD
- mysqladmin
- ping
- '-h'
- 127.0.0.1
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 20s
retries: 10
web:
image: bugsink/bugsink
image: 'bugsink/bugsink:2'
restart: unless-stopped
environment:
- SECRET_KEY=$SERVICE_PASSWORD_64_BUGSINK
- CREATE_SUPERUSER=${BUGSINK_ADMIN_EMAIL:?}:$SERVICE_PASSWORD_BUGSINK
- SERVICE_URL_BUGSINK_8000
- BASE_URL=$SERVICE_URL_BUGSINK
- DATABASE_URL=mysql://${SERVICE_USER_MYSQL}:$SERVICE_PASSWORD_MYSQL@mysql:3306/${MYSQL_DATABASE:-bugsink}
- DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-bugsink}
- BEHIND_HTTPS_PROXY=True
- SITE_TITLE=${SITE_TITLE:-Bugsink}
- TIME_ZONE=${TIME_ZONE:-UTC}
@@ -48,10 +42,10 @@ services:
- EMAIL_USE_SSL=${EMAIL_USE_SSL:-False}
- DEFAULT_FROM_EMAIL=${DEFAULT_FROM_EMAIL}
healthcheck:
test: ["CMD-SHELL", "python -c 'import requests; requests.get(\"http://localhost:8000/\").raise_for_status()'"]
test: ["CMD-SHELL", "python -c 'import requests; requests.get(\"http://localhost:8000/health/ready\").raise_for_status()'"]
interval: 5s
timeout: 20s
retries: 10
depends_on:
mysql:
postgres:
condition: service_healthy
+2 -2
View File
@@ -412,12 +412,12 @@
"bugsink": {
"documentation": "https://www.bugsink.com/docs/?utm_source=coolify.io",
"slogan": "Self-hosted Error Tracking.",
"compose": "c2VydmljZXM6CiAgbXlzcWw6CiAgICBpbWFnZTogJ215c3FsOmxhdGVzdCcKICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnTVlTUUxfUk9PVF9QQVNTV09SRD0ke1NFUlZJQ0VfUEFTU1dPUkRfTVlTUUxST09UfScKICAgICAgLSAnTVlTUUxfREFUQUJBU0U9JHtNWVNRTF9EQVRBQkFTRTotYnVnc2lua30nCiAgICAgIC0gJ01ZU1FMX1VTRVI9JHtTRVJWSUNFX1VTRVJfTVlTUUx9JwogICAgICAtICdNWVNRTF9QQVNTV09SRD0ke1NFUlZJQ0VfUEFTU1dPUkRfTVlTUUx9JwogICAgdm9sdW1lczoKICAgICAgLSAnbXktZGF0YXZvbHVtZTovdmFyL2xpYi9teXNxbCcKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ECiAgICAgICAgLSBteXNxbGFkbWluCiAgICAgICAgLSBwaW5nCiAgICAgICAgLSAnLWgnCiAgICAgICAgLSAxMjcuMC4wLjEKICAgICAgaW50ZXJ2YWw6IDVzCiAgICAgIHRpbWVvdXQ6IDIwcwogICAgICByZXRyaWVzOiAxMAogIHdlYjoKICAgIGltYWdlOiBidWdzaW5rL2J1Z3NpbmsKICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRUNSRVRfS0VZPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0JVR1NJTksKICAgICAgLSAnQ1JFQVRFX1NVUEVSVVNFUj0ke0JVR1NJTktfQURNSU5fRU1BSUw6P306JFNFUlZJQ0VfUEFTU1dPUkRfQlVHU0lOSycKICAgICAgLSBTRVJWSUNFX1VSTF9CVUdTSU5LXzgwMDAKICAgICAgLSBCQVNFX1VSTD0kU0VSVklDRV9VUkxfQlVHU0lOSwogICAgICAtICdEQVRBQkFTRV9VUkw9bXlzcWw6Ly8ke1NFUlZJQ0VfVVNFUl9NWVNRTH06JFNFUlZJQ0VfUEFTU1dPUkRfTVlTUUxAbXlzcWw6MzMwNi8ke01ZU1FMX0RBVEFCQVNFOi1idWdzaW5rfScKICAgICAgLSBCRUhJTkRfSFRUUFNfUFJPWFk9VHJ1ZQogICAgICAtICdTSVRFX1RJVExFPSR7U0lURV9USVRMRTotQnVnc2lua30nCiAgICAgIC0gJ1RJTUVfWk9ORT0ke1RJTUVfWk9ORTotVVRDfScKICAgICAgLSAnUEhPTkVIT01FPSR7UEhPTkVIT01FOi1GYWxzZX0nCiAgICAgIC0gJ0VNQUlMX0hPU1Q9JHtFTUFJTF9IT1NUfScKICAgICAgLSAnRU1BSUxfUE9SVD0ke0VNQUlMX1BPUlQ6LTU4N30nCiAgICAgIC0gJ0VNQUlMX0hPU1RfVVNFUj0ke0VNQUlMX0hPU1RfVVNFUn0nCiAgICAgIC0gJ0VNQUlMX0hPU1RfUEFTU1dPUkQ9JHtFTUFJTF9IT1NUX1BBU1NXT1JEfScKICAgICAgLSAnRU1BSUxfVVNFX1RMUz0ke0VNQUlMX1VTRV9UTFM6LVRydWV9JwogICAgICAtICdFTUFJTF9VU0VfU1NMPSR7RU1BSUxfVVNFX1NTTDotRmFsc2V9JwogICAgICAtICdERUZBVUxUX0ZST01fRU1BSUw9JHtERUZBVUxUX0ZST01fRU1BSUx9JwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdweXRob24gLWMgJydpbXBvcnQgcmVxdWVzdHM7IHJlcXVlc3RzLmdldCgiaHR0cDovL2xvY2FsaG9zdDo4MDAwLyIpLnJhaXNlX2Zvcl9zdGF0dXMoKScnJwogICAgICBpbnRlcnZhbDogNXMKICAgICAgdGltZW91dDogMjBzCiAgICAgIHJldHJpZXM6IDEwCiAgICBkZXBlbmRzX29uOgogICAgICBteXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQo=",
"compose": "c2VydmljZXM6CiAgcG9zdGdyZXM6CiAgICBpbWFnZTogJ3Bvc3RncmVzOjE3LWFscGluZScKICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnUE9TVEdSRVNfVVNFUj0ke1NFUlZJQ0VfVVNFUl9QT1NUR1JFU30nCiAgICAgIC0gJ1BPU1RHUkVTX1BBU1NXT1JEPSR7U0VSVklDRV9QQVNTV09SRF9QT1NUR1JFU30nCiAgICAgIC0gJ1BPU1RHUkVTX0RCPSR7UE9TVEdSRVNfREI6LWJ1Z3Npbmt9JwogICAgdm9sdW1lczoKICAgICAgLSAnYnVnc2luay1wb3N0Z3Jlcy1kYXRhOi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YScKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAncGdfaXNyZWFkeSAtVSAkJHtQT1NUR1JFU19VU0VSfSAtZCAkJHtQT1NUR1JFU19EQn0nCiAgICAgIGludGVydmFsOiA1cwogICAgICB0aW1lb3V0OiAyMHMKICAgICAgcmV0cmllczogMTAKICB3ZWI6CiAgICBpbWFnZTogJ2J1Z3NpbmsvYnVnc2luazoyJwogICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWQKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFQ1JFVF9LRVk9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfQlVHU0lOSwogICAgICAtICdDUkVBVEVfU1VQRVJVU0VSPSR7QlVHU0lOS19BRE1JTl9FTUFJTDo/fTokU0VSVklDRV9QQVNTV09SRF9CVUdTSU5LJwogICAgICAtIFNFUlZJQ0VfVVJMX0JVR1NJTktfODAwMAogICAgICAtIEJBU0VfVVJMPSRTRVJWSUNFX1VSTF9CVUdTSU5LCiAgICAgIC0gJ0RBVEFCQVNFX1VSTD1wb3N0Z3Jlc3FsOi8vJHtTRVJWSUNFX1VTRVJfUE9TVEdSRVN9OiR7U0VSVklDRV9QQVNTV09SRF9QT1NUR1JFU31AcG9zdGdyZXM6NTQzMi8ke1BPU1RHUkVTX0RCOi1idWdzaW5rfScKICAgICAgLSBCRUhJTkRfSFRUUFNfUFJPWFk9VHJ1ZQogICAgICAtICdTSVRFX1RJVExFPSR7U0lURV9USVRMRTotQnVnc2lua30nCiAgICAgIC0gJ1RJTUVfWk9ORT0ke1RJTUVfWk9ORTotVVRDfScKICAgICAgLSAnUEhPTkVIT01FPSR7UEhPTkVIT01FOi1GYWxzZX0nCiAgICAgIC0gJ0VNQUlMX0hPU1Q9JHtFTUFJTF9IT1NUfScKICAgICAgLSAnRU1BSUxfUE9SVD0ke0VNQUlMX1BPUlQ6LTU4N30nCiAgICAgIC0gJ0VNQUlMX0hPU1RfVVNFUj0ke0VNQUlMX0hPU1RfVVNFUn0nCiAgICAgIC0gJ0VNQUlMX0hPU1RfUEFTU1dPUkQ9JHtFTUFJTF9IT1NUX1BBU1NXT1JEfScKICAgICAgLSAnRU1BSUxfVVNFX1RMUz0ke0VNQUlMX1VTRV9UTFM6LVRydWV9JwogICAgICAtICdFTUFJTF9VU0VfU1NMPSR7RU1BSUxfVVNFX1NTTDotRmFsc2V9JwogICAgICAtICdERUZBVUxUX0ZST01fRU1BSUw9JHtERUZBVUxUX0ZST01fRU1BSUx9JwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdweXRob24gLWMgJydpbXBvcnQgcmVxdWVzdHM7IHJlcXVlc3RzLmdldCgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2hlYWx0aC9yZWFkeSIpLnJhaXNlX2Zvcl9zdGF0dXMoKScnJwogICAgICBpbnRlcnZhbDogNXMKICAgICAgdGltZW91dDogMjBzCiAgICAgIHJldHJpZXM6IDEwCiAgICBkZXBlbmRzX29uOgogICAgICBwb3N0Z3JlczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQo=",
"tags": [
"python",
"error-tracking",
"django",
"mysql"
"postgresql"
],
"category": "monitoring",
"logo": "svgs/bugsink.svg",
+2 -2
View File
@@ -412,12 +412,12 @@
"bugsink": {
"documentation": "https://www.bugsink.com/docs/?utm_source=coolify.io",
"slogan": "Self-hosted Error Tracking.",
"compose": "c2VydmljZXM6CiAgbXlzcWw6CiAgICBpbWFnZTogJ215c3FsOmxhdGVzdCcKICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnTVlTUUxfUk9PVF9QQVNTV09SRD0ke1NFUlZJQ0VfUEFTU1dPUkRfTVlTUUxST09UfScKICAgICAgLSAnTVlTUUxfREFUQUJBU0U9JHtNWVNRTF9EQVRBQkFTRTotYnVnc2lua30nCiAgICAgIC0gJ01ZU1FMX1VTRVI9JHtTRVJWSUNFX1VTRVJfTVlTUUx9JwogICAgICAtICdNWVNRTF9QQVNTV09SRD0ke1NFUlZJQ0VfUEFTU1dPUkRfTVlTUUx9JwogICAgdm9sdW1lczoKICAgICAgLSAnbXktZGF0YXZvbHVtZTovdmFyL2xpYi9teXNxbCcKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ECiAgICAgICAgLSBteXNxbGFkbWluCiAgICAgICAgLSBwaW5nCiAgICAgICAgLSAnLWgnCiAgICAgICAgLSAxMjcuMC4wLjEKICAgICAgaW50ZXJ2YWw6IDVzCiAgICAgIHRpbWVvdXQ6IDIwcwogICAgICByZXRyaWVzOiAxMAogIHdlYjoKICAgIGltYWdlOiBidWdzaW5rL2J1Z3NpbmsKICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRUNSRVRfS0VZPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0JVR1NJTksKICAgICAgLSAnQ1JFQVRFX1NVUEVSVVNFUj0ke0JVR1NJTktfQURNSU5fRU1BSUw6P306JFNFUlZJQ0VfUEFTU1dPUkRfQlVHU0lOSycKICAgICAgLSBTRVJWSUNFX0ZRRE5fQlVHU0lOS184MDAwCiAgICAgIC0gQkFTRV9VUkw9JFNFUlZJQ0VfRlFETl9CVUdTSU5LCiAgICAgIC0gJ0RBVEFCQVNFX1VSTD1teXNxbDovLyR7U0VSVklDRV9VU0VSX01ZU1FMfTokU0VSVklDRV9QQVNTV09SRF9NWVNRTEBteXNxbDozMzA2LyR7TVlTUUxfREFUQUJBU0U6LWJ1Z3Npbmt9JwogICAgICAtIEJFSElORF9IVFRQU19QUk9YWT1UcnVlCiAgICAgIC0gJ1NJVEVfVElUTEU9JHtTSVRFX1RJVExFOi1CdWdzaW5rfScKICAgICAgLSAnVElNRV9aT05FPSR7VElNRV9aT05FOi1VVEN9JwogICAgICAtICdQSE9ORUhPTUU9JHtQSE9ORUhPTUU6LUZhbHNlfScKICAgICAgLSAnRU1BSUxfSE9TVD0ke0VNQUlMX0hPU1R9JwogICAgICAtICdFTUFJTF9QT1JUPSR7RU1BSUxfUE9SVDotNTg3fScKICAgICAgLSAnRU1BSUxfSE9TVF9VU0VSPSR7RU1BSUxfSE9TVF9VU0VSfScKICAgICAgLSAnRU1BSUxfSE9TVF9QQVNTV09SRD0ke0VNQUlMX0hPU1RfUEFTU1dPUkR9JwogICAgICAtICdFTUFJTF9VU0VfVExTPSR7RU1BSUxfVVNFX1RMUzotVHJ1ZX0nCiAgICAgIC0gJ0VNQUlMX1VTRV9TU0w9JHtFTUFJTF9VU0VfU1NMOi1GYWxzZX0nCiAgICAgIC0gJ0RFRkFVTFRfRlJPTV9FTUFJTD0ke0RFRkFVTFRfRlJPTV9FTUFJTH0nCiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRC1TSEVMTAogICAgICAgIC0gJ3B5dGhvbiAtYyAnJ2ltcG9ydCByZXF1ZXN0czsgcmVxdWVzdHMuZ2V0KCJodHRwOi8vbG9jYWxob3N0OjgwMDAvIikucmFpc2VfZm9yX3N0YXR1cygpJycnCiAgICAgIGludGVydmFsOiA1cwogICAgICB0aW1lb3V0OiAyMHMKICAgICAgcmV0cmllczogMTAKICAgIGRlcGVuZHNfb246CiAgICAgIG15c3FsOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5Cg==",
"compose": "c2VydmljZXM6CiAgcG9zdGdyZXM6CiAgICBpbWFnZTogJ3Bvc3RncmVzOjE3LWFscGluZScKICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnUE9TVEdSRVNfVVNFUj0ke1NFUlZJQ0VfVVNFUl9QT1NUR1JFU30nCiAgICAgIC0gJ1BPU1RHUkVTX1BBU1NXT1JEPSR7U0VSVklDRV9QQVNTV09SRF9QT1NUR1JFU30nCiAgICAgIC0gJ1BPU1RHUkVTX0RCPSR7UE9TVEdSRVNfREI6LWJ1Z3Npbmt9JwogICAgdm9sdW1lczoKICAgICAgLSAnYnVnc2luay1wb3N0Z3Jlcy1kYXRhOi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YScKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAncGdfaXNyZWFkeSAtVSAkJHtQT1NUR1JFU19VU0VSfSAtZCAkJHtQT1NUR1JFU19EQn0nCiAgICAgIGludGVydmFsOiA1cwogICAgICB0aW1lb3V0OiAyMHMKICAgICAgcmV0cmllczogMTAKICB3ZWI6CiAgICBpbWFnZTogJ2J1Z3NpbmsvYnVnc2luazoyJwogICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWQKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFQ1JFVF9LRVk9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfQlVHU0lOSwogICAgICAtICdDUkVBVEVfU1VQRVJVU0VSPSR7QlVHU0lOS19BRE1JTl9FTUFJTDo/fTokU0VSVklDRV9QQVNTV09SRF9CVUdTSU5LJwogICAgICAtIFNFUlZJQ0VfRlFETl9CVUdTSU5LXzgwMDAKICAgICAgLSBCQVNFX1VSTD0kU0VSVklDRV9GUUROX0JVR1NJTksKICAgICAgLSAnREFUQUJBU0VfVVJMPXBvc3RncmVzcWw6Ly8ke1NFUlZJQ0VfVVNFUl9QT1NUR1JFU306JHtTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTfUBwb3N0Z3Jlczo1NDMyLyR7UE9TVEdSRVNfREI6LWJ1Z3Npbmt9JwogICAgICAtIEJFSElORF9IVFRQU19QUk9YWT1UcnVlCiAgICAgIC0gJ1NJVEVfVElUTEU9JHtTSVRFX1RJVExFOi1CdWdzaW5rfScKICAgICAgLSAnVElNRV9aT05FPSR7VElNRV9aT05FOi1VVEN9JwogICAgICAtICdQSE9ORUhPTUU9JHtQSE9ORUhPTUU6LUZhbHNlfScKICAgICAgLSAnRU1BSUxfSE9TVD0ke0VNQUlMX0hPU1R9JwogICAgICAtICdFTUFJTF9QT1JUPSR7RU1BSUxfUE9SVDotNTg3fScKICAgICAgLSAnRU1BSUxfSE9TVF9VU0VSPSR7RU1BSUxfSE9TVF9VU0VSfScKICAgICAgLSAnRU1BSUxfSE9TVF9QQVNTV09SRD0ke0VNQUlMX0hPU1RfUEFTU1dPUkR9JwogICAgICAtICdFTUFJTF9VU0VfVExTPSR7RU1BSUxfVVNFX1RMUzotVHJ1ZX0nCiAgICAgIC0gJ0VNQUlMX1VTRV9TU0w9JHtFTUFJTF9VU0VfU1NMOi1GYWxzZX0nCiAgICAgIC0gJ0RFRkFVTFRfRlJPTV9FTUFJTD0ke0RFRkFVTFRfRlJPTV9FTUFJTH0nCiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRC1TSEVMTAogICAgICAgIC0gJ3B5dGhvbiAtYyAnJ2ltcG9ydCByZXF1ZXN0czsgcmVxdWVzdHMuZ2V0KCJodHRwOi8vbG9jYWxob3N0OjgwMDAvaGVhbHRoL3JlYWR5IikucmFpc2VfZm9yX3N0YXR1cygpJycnCiAgICAgIGludGVydmFsOiA1cwogICAgICB0aW1lb3V0OiAyMHMKICAgICAgcmV0cmllczogMTAKICAgIGRlcGVuZHNfb246CiAgICAgIHBvc3RncmVzOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5Cg==",
"tags": [
"python",
"error-tracking",
"django",
"mysql"
"postgresql"
],
"category": "monitoring",
"logo": "svgs/bugsink.svg",