feat: add blinko stack, remove joplin

This commit is contained in:
2026-03-02 10:10:26 +01:00
parent d0c38c1f46
commit f427f408e0
4 changed files with 56 additions and 61 deletions

View File

@@ -13,7 +13,7 @@ Each stack is independently deployable with its own `compose.yml` and `.env`. Al
| `watchtower` | Automatic container updates | watchtower | | `watchtower` | Automatic container updates | watchtower |
| `umami` | Web analytics | umami, db | | `umami` | Web analytics | umami, db |
| `immich` | Photo & video management | immich, ml, redis, db | | `immich` | Photo & video management | immich, ml, redis, db |
| `joplin` | Note sync server | joplin, db | | `blinko` | AI-powered personal notes | blinko, db |
| `mattermost` | Team chat | mattermost, db | | `mattermost` | Team chat | mattermost, db |
| `gitea` | Git hosting + CI runner | gitea, runner, db | | `gitea` | Git hosting + CI runner | gitea, runner, db |
| `coolify` | Deployment platform | coolify, realtime, redis, db | | `coolify` | Deployment platform | coolify, realtime, redis, db |

View File

@@ -33,7 +33,7 @@ mkdir -p "$DUMP_DIR"
declare -A DATABASES=( declare -A DATABASES=(
[umami_db]="umami:umami" [umami_db]="umami:umami"
[joplin_db]="joplin:joplin" [blinko_db]="blinko:blinko"
[gitea_db]="gitea:gitea" [gitea_db]="gitea:gitea"
[mattermost_db]="mattermost:mattermost" [mattermost_db]="mattermost:mattermost"
[sexy_db]="directus:directus" [sexy_db]="directus:directus"

54
blinko/compose.yml Normal file
View File

@@ -0,0 +1,54 @@
---
services:
blinko:
image: blinkospace/blinko:latest
container_name: blinko
environment:
TZ: ${TIMEZONE:-Europe/Amsterdam}
NODE_ENV: production
NEXTAUTH_URL: https://${TRAEFIK_HOST}
NEXT_PUBLIC_BASE_URL: https://${TRAEFIK_HOST}
NEXTAUTH_SECRET: ${BLINKO_NEXTAUTH_SECRET}
DATABASE_URL: postgresql://blinko:blinko@blinko_db:5432/blinko
volumes:
- ../.data/blinko/app:/app/.blinko
depends_on:
db:
condition: service_healthy
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.blinko-redirect-web-secure.redirectscheme.scheme=https"
- "traefik.http.routers.blinko-web.middlewares=blinko-redirect-web-secure"
- "traefik.http.routers.blinko-web.rule=Host(`${TRAEFIK_HOST}`)"
- "traefik.http.routers.blinko-web.entrypoints=web"
- "traefik.http.routers.blinko-web-secure.rule=Host(`${TRAEFIK_HOST}`)"
- "traefik.http.routers.blinko-web-secure.tls.certresolver=resolver"
- "traefik.http.routers.blinko-web-secure.entrypoints=web-secure"
- "traefik.http.routers.blinko-web-secure.middlewares=security-headers@file"
- "traefik.http.services.blinko-web-secure.loadbalancer.server.port=1111"
- "traefik.docker.network=${NETWORK_NAME}"
- "com.centurylinklabs.watchtower.enable=true"
networks:
- compose_network
db:
image: postgres:14-alpine
container_name: blinko_db
environment:
POSTGRES_DB: blinko
POSTGRES_USER: blinko
POSTGRES_PASSWORD: blinko
volumes:
- ../.data/blinko/db:/var/lib/postgresql/data
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 5
networks:
- compose_network
networks:
compose_network:
name: ${NETWORK_NAME}
external: true

View File

@@ -1,59 +0,0 @@
---
services:
joplin:
image: joplin/server:latest
container_name: joplin
environment:
TZ: ${TIMEZONE:-Europe/Amsterdam}
APP_PORT: 22300
APP_BASE_URL: https://${TRAEFIK_HOST}
DB_CLIENT: pg
POSTGRES_HOST: joplin_db
POSTGRES_PORT: 5432
POSTGRES_DATABASE: joplin
POSTGRES_USER: joplin
POSTGRES_PASSWORD: joplin
MAILER_ENABLED: 1
MAILER_HOST: mailpit
MAILER_PORT: 1025
MAILER_SECURE: 0
depends_on:
db:
condition: service_healthy
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.joplin-redirect-web-secure.redirectscheme.scheme=https"
- "traefik.http.routers.joplin-web.middlewares=joplin-redirect-web-secure"
- "traefik.http.routers.joplin-web.rule=Host(`${TRAEFIK_HOST}`)"
- "traefik.http.routers.joplin-web.entrypoints=web"
- "traefik.http.routers.joplin-web-secure.rule=Host(`${TRAEFIK_HOST}`)"
- "traefik.http.routers.joplin-web-secure.tls.certresolver=resolver"
- "traefik.http.routers.joplin-web-secure.entrypoints=web-secure"
- "traefik.http.routers.joplin-web-secure.middlewares=security-headers@file"
- "traefik.http.services.joplin-web-secure.loadbalancer.server.port=22300"
- "traefik.docker.network=${NETWORK_NAME}"
- "com.centurylinklabs.watchtower.enable=true"
networks:
- compose_network
db:
image: postgres:16-alpine
container_name: joplin_db
environment:
POSTGRES_DB: joplin
POSTGRES_USER: joplin
POSTGRES_PASSWORD: joplin
volumes:
- ../.data/joplin/db:/var/lib/postgresql/data
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 5
networks:
- compose_network
networks:
compose_network:
name: ${NETWORK_NAME}
external: true