Compare commits

..
3 Commits
Author SHA1 Message Date
valknar 1c8835bcf3 chore: cleanup 2026-03-30 17:47:34 +02:00
valknar 2750602fa5 chore: cleanup 2026-03-30 17:11:55 +02:00
valknar 3de764a055 chore: cleanup 2026-03-30 17:10:45 +02:00
5 changed files with 0 additions and 240 deletions
-1
View File
@@ -36,7 +36,6 @@ declare -A DATABASES=(
[blinko_db]="blinko:blinko" [blinko_db]="blinko:blinko"
[gitea_db]="gitea:gitea" [gitea_db]="gitea:gitea"
[mattermost_db]="mattermost:mattermost" [mattermost_db]="mattermost:mattermost"
[sexy_db]="sexy:sexy"
[immich_db]="immich:immich" [immich_db]="immich:immich"
[coolify_db]="coolify:coolify" [coolify_db]="coolify:coolify"
) )
-62
View File
@@ -1,62 +0,0 @@
services:
litellm:
image: docker.litellm.ai/berriai/litellm:main-stable
container_name: litellm
volumes:
- ./config.yaml:/app/config.yaml
command:
- "--config=/app/config.yaml"
environment:
DATABASE_URL: "postgresql://litellm:litellm@litellm_db:5432/litellm"
LITELLM_MASTER_KEY: ${LITELLM_MASTER_KEY}
LITELLM_SALT_KEY: ${LITELLM_SALT_KEY}
NVIDIA_NIM_API_KEY: ${NVIDIA_NIM_API_KEY}
NO_DOCS: "True"
NO_REDOC: "True"
depends_on:
- db
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.litellm-redirect-web-secure.redirectscheme.scheme=https"
- "traefik.http.routers.litellm-web.middlewares=litellm-redirect-web-secure"
- "traefik.http.routers.litellm-web.rule=Host(`${TRAEFIK_HOST}`)"
- "traefik.http.routers.litellm-web.entrypoints=web"
- "traefik.http.routers.litellm-web-secure.rule=Host(`${TRAEFIK_HOST}`)"
- "traefik.http.routers.litellm-web-secure.tls.certresolver=resolver"
- "traefik.http.routers.litellm-web-secure.entrypoints=web-secure"
- "traefik.http.routers.litellm-web-secure.middlewares=security-headers@file"
- "traefik.http.services.litellm-web-secure.loadbalancer.server.port=4000"
- "traefik.docker.network=${NETWORK_NAME}"
- "com.centurylinklabs.watchtower.enable=true"
networks:
- compose_network
healthcheck:
test:
- CMD-SHELL
- python3 -c "import urllib.request; urllib.request.urlopen('http://localhost:4000/health/liveliness')"
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
db:
image: postgres:16
container_name: litellm_db
environment:
POSTGRES_DB: litellm
POSTGRES_USER: litellm
POSTGRES_PASSWORD: litellm
volumes:
- ../.data/litellm/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
-9
View File
@@ -1,9 +0,0 @@
model_list:
- model_name: qwen3.5
litellm_params:
model: nvidia_nim/qwen/qwen3.5-397b-a17b
drop_params: true
- model_name: qwen3-coder
litellm_params:
model: nvidia_nim/qwen/qwen3-coder-480b-a35b-instruct
drop_params: true
-58
View File
@@ -1,58 +0,0 @@
services:
ghost:
image: ghost:latest
container_name: palina_ghost
restart: always
environment:
database__client: mysql
database__connection__host: palina_db
database__connection__user: root
database__connection__password: palina
database__connection__database: palina
mail__transport: SMTP
mail__options__service: Mailpit
mail__options__host: mailpit
mail__options__port: 1025
mail__options__secure: false
mail__options__auth__user: ""
mail__options__auth__pass: ""
url: https://${TRAEFIK_HOST}
depends_on:
db:
condition: service_healthy
volumes:
- ../.data/ghost/content:/var/lib/ghost/content
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.palina-redirect-web-secure.redirectscheme.scheme=https"
- "traefik.http.routers.palina-web.middlewares=palina-redirect-web-secure"
- "traefik.http.routers.palina-web.rule=Host(`${TRAEFIK_HOST}`)"
- "traefik.http.routers.palina-web.entrypoints=web"
- "traefik.http.routers.palina-web-secure.rule=Host(`${TRAEFIK_HOST}`)"
- "traefik.http.routers.palina-web-secure.tls.certresolver=resolver"
- "traefik.http.routers.palina-web-secure.entrypoints=web-secure"
- "traefik.http.routers.palina-web-secure.middlewares=security-headers@file"
- "traefik.http.services.palina-web-secure.loadbalancer.server.port=2368"
- "traefik.docker.network=${NETWORK_NAME}"
- "com.centurylinklabs.watchtower.enable=true"
networks:
- compose_network
db:
image: mysql:8.0
container_name: palina_db
restart: always
environment:
MYSQL_ROOT_PASSWORD: palina
volumes:
- ../.data/ghost/db:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 5s
timeout: 5s
retries: 5
networks:
- compose_network
networks:
compose_network:
name: ${NETWORK_NAME}
external: true
-110
View File
@@ -1,110 +0,0 @@
services:
sexy:
image: dev.pivoine.art/valknar/sexy:latest
container_name: sexy
user: node
working_dir: /home/node/app/packages/frontend
command: ["node", "build/index.js"]
environment:
TZ: ${TIMEZONE:-Europe/Amsterdam}
NODE_ENV: production
PUBLIC_API_URL: https://${TRAEFIK_HOST}/api
PUBLIC_URL: https://${TRAEFIK_HOST}
PUBLIC_UMAMI_ID: ${UMAMI_ID}
PUBLIC_UMAMI_SCRIPT: ${UMAMI_SCRIPT}
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.sexy-redirect-web-secure.redirectscheme.scheme=https"
- "traefik.http.routers.sexy-web.middlewares=sexy-redirect-web-secure"
- "traefik.http.routers.sexy-web.rule=Host(`${TRAEFIK_HOST}`)"
- "traefik.http.routers.sexy-web.entrypoints=web"
- "traefik.http.routers.sexy-web-secure.rule=Host(`${TRAEFIK_HOST}`)"
- "traefik.http.routers.sexy-web-secure.tls.certresolver=resolver"
- "traefik.http.routers.sexy-web-secure.entrypoints=web-secure"
- "traefik.http.middlewares.sexy-compress.compress=true"
- "traefik.http.routers.sexy-web-secure.middlewares=sexy-compress"
- "traefik.http.services.sexy-web-secure.loadbalancer.server.port=3000"
- "traefik.docker.network=${NETWORK_NAME}"
- "com.centurylinklabs.watchtower.enable=true"
networks:
- compose_network
backend:
image: dev.pivoine.art/valknar/sexy-backend:latest
container_name: sexy_backend
environment:
TZ: ${TIMEZONE:-Europe/Amsterdam}
NODE_ENV: production
PORT: 4000
DATABASE_URL: postgresql://${DB_USER:-sexy}:${DB_PASSWORD:-sexy}@sexy_db:5432/${DB_NAME:-sexy}
REDIS_URL: redis://sexy_redis:6379
UPLOAD_DIR: /data/uploads
CORS_ORIGIN: https://${TRAEFIK_HOST}
COOKIE_SECRET: ${COOKIE_SECRET}
SESSION_COOKIE_SECURE: "true"
SESSION_COOKIE_SAME_SITE: strict
SESSION_COOKIE_DOMAIN: ${TRAEFIK_HOST}
PUBLIC_URL: https://${TRAEFIK_HOST}
SMTP_HOST: ${SMTP_HOST:-mailpit}
SMTP_PORT: ${SMTP_PORT:-1025}
SMTP_SECURE: ${SMTP_SECURE:-false}
SMTP_USER: ${SMTP_USER:-}
SMTP_PASS: ${SMTP_PASS:-}
EMAIL_FROM: ${EMAIL_FROM:-noreply@sexy.pivoine.art}
volumes:
- ../.data/sexy/uploads:/data/uploads
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.sexy-backend-redirect-web-secure.redirectscheme.scheme=https"
- "traefik.http.routers.sexy-backend-web.middlewares=sexy-backend-redirect-web-secure"
- "traefik.http.routers.sexy-backend-web.rule=Host(`${TRAEFIK_HOST}`) && PathPrefix(`/api`)"
- "traefik.http.routers.sexy-backend-web.entrypoints=web"
- "traefik.http.routers.sexy-backend-web-secure.rule=Host(`${TRAEFIK_HOST}`) && PathPrefix(`/api`)"
- "traefik.http.routers.sexy-backend-web-secure.tls.certresolver=resolver"
- "traefik.http.routers.sexy-backend-web-secure.entrypoints=web-secure"
- "traefik.http.middlewares.sexy-backend-strip.stripprefix.prefixes=/api"
- "traefik.http.middlewares.sexy-backend-compress.compress=true"
- "traefik.http.routers.sexy-backend-web-secure.middlewares=sexy-backend-strip,sexy-backend-compress"
- "traefik.http.services.sexy-backend-web-secure.loadbalancer.server.port=4000"
- "traefik.docker.network=${NETWORK_NAME}"
- "com.centurylinklabs.watchtower.enable=true"
networks:
- compose_network
redis:
image: redis:7-alpine
container_name: sexy_redis
restart: always
healthcheck:
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
interval: 5s
timeout: 5s
retries: 5
networks:
- compose_network
db:
image: postgres:16-alpine
container_name: sexy_db
environment:
POSTGRES_DB: ${DB_NAME:-sexy}
POSTGRES_USER: ${DB_USER:-sexy}
POSTGRES_PASSWORD: ${DB_PASSWORD:-sexy}
volumes:
- ../.data/sexy/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