mirror of
https://github.com/bensuperpc/infrastructure.git
synced 2026-07-26 21:08:10 +02:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6f725608ca | |||
| 6c21e5fd5e |
@@ -22,7 +22,7 @@ jobs:
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- name: "Checkout Code"
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
submodules: "recursive"
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -11,7 +11,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: "Checkout Code"
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
token: ${{ secrets.CI_TOKEN }}
|
||||
repository: ${{ github.repository }}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
PROJECT_DIRECTORY := infrastructure
|
||||
CONFIG_DIRECTORY := presets
|
||||
# 7dtd minecraft satisfactory torrent
|
||||
CONFIGS := ia torrent tools
|
||||
CONFIGS := torrent
|
||||
#DOCKER_PROFILES :=
|
||||
|
||||
include DockerCompose.mk
|
||||
|
||||
@@ -143,11 +143,7 @@ And then, caddy will generate the certificate for you and renew it automatically
|
||||
| [argus.bensuperpc.org](https://argus.bensuperpc.org) | Sub | Argus for monitoring application updates |
|
||||
| [searxng.bensuperpc.org](https://searxng.bensuperpc.org) | Sub | SearXNG self-hosted search engine |
|
||||
| [dependency-track.bensuperpc.org](https://dependency-track.bensuperpc.org) | Sub | SBOM / vulnerability analysis |
|
||||
| [litellm.bensuperpc.org](https://litellm.bensuperpc.org) | Sub | LiteLLM llm proxy for open-webui |
|
||||
| [localai.bensuperpc.org](https://localai.bensuperpc.org) | Sub | For local chatGPT with multi-backend |
|
||||
[wordpress.bensuperpc.org](https://wordpress.bensuperpc.org) | Sub | Wordpress website |
|
||||
[bentopdf.bensuperpc.org](https://bentopdf.bensuperpc.org) | Sub | BentoPDF |
|
||||
|
||||
| [wordpress.bensuperpc.org](https://wordpress.bensuperpc.org) | Sub | Wordpress website |
|
||||
|
||||
### Configure the infrastructure
|
||||
|
||||
@@ -281,15 +277,13 @@ USER_PASSWORD=rdUwf36C11PLmpU9Lvq7tP5pfFBKAuCh
|
||||
|
||||
#### Open-WebUI
|
||||
|
||||
For [open-webui.env](infrastructure/services/open-webui/env/openwebui.env) file, you must change the secret key for the webui and configure its PostgreSQL backend.
|
||||
For [open-webui.env](infrastructure/services/open-webui/env/open-webui.env) file, you must change the secret key for the webui and configure its PostgreSQL backend.
|
||||
|
||||
```sh
|
||||
WEBUI_SECRET_KEY=7d83b15a417d090ba5c6b899270a05dd215c60848354c0c7574226d6ff02f39e
|
||||
DATABASE_URL=postgresql://postgres:securepassword123@openwebui-postgres:5432/openwebui
|
||||
REDIS_URL=redis://:valkey_password@valkey:6379/0
|
||||
```
|
||||
|
||||
Also update [openwebui-postgres.env](infrastructure/services/open-webui/env/openwebui-postgres.env) and [openwebui-valkey.env](infrastructure/services/open-webui/env/openwebui-valkey.env) with your own credentials.
|
||||
Also update [openwebui-postgres.env](infrastructure/services/open-webui/env/openwebui-postgres.env) with your own credentials.
|
||||
|
||||
To download the model, through open-webui GUI or you can use the following command:
|
||||
|
||||
@@ -392,8 +386,7 @@ ssh -p 2222 admin@bensuperpc.org
|
||||
|
||||
To activate the alternative webui theme (VueTorrent), you need to go in the qbittorrent settings, then in the `webui` section, check the `Use alternative webui` and add `/vuetorrent` to text field.
|
||||
|
||||
|
||||
### Local testing
|
||||
#### Local testing
|
||||
|
||||
If you want to test the infrastructure locally, you can add these lines in your `/etc/hosts` file:
|
||||
|
||||
@@ -501,7 +494,6 @@ RESTIC_PASSWORD=7L1Ncbquax0B2TCOmrjaQl9n5mnY88bQ
|
||||
- [SearXNG](https://github.com/searxng/searxng)
|
||||
- [Dependency-Track](https://dependencytrack.org/)
|
||||
- [Authelia](https://www.authelia.com/)
|
||||
- [BentoPDF](https://github.com/alam00000/bentopdf)
|
||||
|
||||
## License
|
||||
|
||||
|
||||
@@ -61,7 +61,3 @@ include:
|
||||
- services/satisfactory-server/docker-compose.yml
|
||||
# Team Fortress 2
|
||||
- services/teamfortress2-server/docker-compose.yml
|
||||
# LocalAI
|
||||
- services/localai/docker-compose.localai.yml
|
||||
# Bentopdf
|
||||
- services/bentopdf/docker-compose.bentopdf.yml
|
||||
|
||||
@@ -30,6 +30,12 @@ services:
|
||||
# - no-new-privileges:true
|
||||
# cap_drop:
|
||||
# - SYS_ADMIN
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 16G
|
||||
reservations:
|
||||
memory: 4G
|
||||
|
||||
volumes:
|
||||
7daystodie_backup:
|
||||
|
||||
@@ -20,20 +20,13 @@ access_control:
|
||||
- "it-tools.bensuperpc.org"
|
||||
- "omni-tools.bensuperpc.org"
|
||||
- "cyberchef.bensuperpc.org"
|
||||
- "bentopdf.bensuperpc.org"
|
||||
- "wordpress.bensuperpc.org"
|
||||
- "homepage.bensuperpc.org"
|
||||
- "forgejo.bensuperpc.org"
|
||||
policy: bypass
|
||||
- domain:
|
||||
- "jellyfin.bensuperpc.org"
|
||||
- "openwebui.bensuperpc.org"
|
||||
- "qbittorrent.bensuperpc.org"
|
||||
- "syncthing.bensuperpc.org"
|
||||
- "torrent.bensuperpc.org"
|
||||
- "litellm.bensuperpc.org"
|
||||
- "searxng.bensuperpc.org"
|
||||
- "localai.bensuperpc.org"
|
||||
subject:
|
||||
- 'group:admins'
|
||||
- 'group:users'
|
||||
@@ -61,7 +54,7 @@ session:
|
||||
regulation:
|
||||
max_retries: 5
|
||||
find_time: 3m
|
||||
ban_time: 30m
|
||||
ban_time: 15m
|
||||
|
||||
storage:
|
||||
postgres: {}
|
||||
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
AUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_SECRET=ht87MVnXkXhBpDkMUHqKDqdg8UGBJt+Fx5jNIqXnN2k=
|
||||
AUTHELIA_SESSION_SECRET=nsvbXKGRXVZUCUkOapntlq/Zh+d75WacTK5Jgyh8zYk=
|
||||
AUTHELIA_STORAGE_ENCRYPTION_KEY=aWeIT74xIhGVd9nUOr4YTToTl5rpBEbzc/fv4jemuos=
|
||||
AUTHELIA_STORAGE_POSTGRES_ADDRESS=tcp://authelia-postgres:5432
|
||||
AUTHELIA_STORAGE_POSTGRES_HOST=authelia-postgres
|
||||
AUTHELIA_STORAGE_POSTGRES_PORT=5432
|
||||
AUTHELIA_STORAGE_POSTGRES_DATABASE=authelia_db
|
||||
AUTHELIA_STORAGE_POSTGRES_USERNAME=authelia
|
||||
AUTHELIA_STORAGE_POSTGRES_PASSWORD=sAdkxFW6k3GiMOrlBpl6OV76eb9cQz/uk95jmA2UpI8=
|
||||
@@ -1,18 +0,0 @@
|
||||
services:
|
||||
bentopdf:
|
||||
extends:
|
||||
file: ../common.yml
|
||||
service: service-base
|
||||
image: ghcr.io/alam00000/bentopdf-simple:latest
|
||||
container_name: bentopdf
|
||||
profiles:
|
||||
- bentopdf
|
||||
depends_on:
|
||||
- caddy
|
||||
networks:
|
||||
- caddy-tools
|
||||
|
||||
networks:
|
||||
caddy-tools:
|
||||
driver: bridge
|
||||
name: caddy-tools
|
||||
@@ -43,7 +43,4 @@ import website/argus.caddy
|
||||
import website/dependency-track.caddy
|
||||
import website/searxng.caddy
|
||||
import website/authelia.caddy
|
||||
import website/dozzle.caddy
|
||||
import website/litellm.caddy
|
||||
import website/localai.caddy
|
||||
import website/bentopdf.caddy
|
||||
import website/dozzle.caddy
|
||||
@@ -2,7 +2,5 @@
|
||||
forward_auth authelia:9091 {
|
||||
uri /api/authz/forward-auth
|
||||
copy_headers Remote-User Remote-Groups Remote-Name Remote-Email
|
||||
header_up X-Forwarded-Proto {scheme}
|
||||
header_up X-Forwarded-Host {host}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{$SCHEME}://bentopdf.{$MAIN_DOMAIN} {
|
||||
import authelia_middleware
|
||||
reverse_proxy {$BENTOPDF_ADDRESS}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{$SCHEME}://litellm.{$MAIN_DOMAIN} {
|
||||
import authelia_middleware
|
||||
reverse_proxy {$LITELLM_ADDRESS} {
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{$SCHEME}://localai.{$MAIN_DOMAIN} {
|
||||
import authelia_middleware
|
||||
reverse_proxy {$LOCALAI_ADDRESS} {
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
{$SCHEME}://openwebui.{$MAIN_DOMAIN} {
|
||||
import authelia_middleware
|
||||
reverse_proxy {$OPEN_WEBUI_ADDRESS} {
|
||||
}
|
||||
reverse_proxy {$OPEN_WEBUI_ADDRESS}
|
||||
}
|
||||
|
||||
-3
@@ -9,7 +9,6 @@ UPTIMEKUMA_ADDRESS=uptime-kuma:3001
|
||||
MEMOS_ADDRESS=memos:5230
|
||||
HOMEPAGE_ADDRESS=homepage:3000
|
||||
OPEN_WEBUI_ADDRESS=openwebui:8080
|
||||
LITELLM_ADDRESS=litellm:4000
|
||||
PICOSHARE_ADDRESS=picoshare:4001
|
||||
PRIVATEBIN_ADDRESS=privatebin:8080
|
||||
PROJECTSEND_ADDRESS=projectsend:80
|
||||
@@ -23,8 +22,6 @@ DEPENDENCY_TRACK_APISERVER_ADDRESS=dependency-track-apiserver:8080
|
||||
SEARXNG_ADDRESS=searxng:8080
|
||||
AUTHELIA_ADDRESS=authelia:9091
|
||||
DOZZLE_ADDRESS=dozzle:8080
|
||||
LOCALAI_ADDRESS=localai:8080
|
||||
BENTOPDF_ADDRESS=bentopdf:8080
|
||||
# Scheme
|
||||
SCHEME=https
|
||||
# ignore_loaded_certs off
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
services:
|
||||
service-base:
|
||||
restart: on-failure:7
|
||||
environment:
|
||||
- TZ=${TZ:-Europe/Paris}
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop:
|
||||
- SYS_ADMIN
|
||||
@@ -16,6 +16,15 @@ services:
|
||||
cap_drop:
|
||||
- SYS_ADMIN
|
||||
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 512M
|
||||
reservations:
|
||||
cpus: '0.001'
|
||||
memory: 20M
|
||||
|
||||
cyberchef1:
|
||||
image: mpepping/cyberchef:latest
|
||||
container_name: cyberchef1
|
||||
@@ -32,6 +41,15 @@ services:
|
||||
cap_drop:
|
||||
- SYS_ADMIN
|
||||
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 512M
|
||||
reservations:
|
||||
cpus: '0.001'
|
||||
memory: 20M
|
||||
|
||||
networks:
|
||||
caddy-tools:
|
||||
driver: bridge
|
||||
|
||||
@@ -13,6 +13,12 @@ services:
|
||||
networks:
|
||||
- caddy-web
|
||||
- dependency-track-internal
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 4g
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
volumes:
|
||||
- 'dtrack-data:/data'
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ services:
|
||||
# - ./config/forgejo_runner/config.yaml:/config.yaml:ro
|
||||
- forgejo_runner:/data
|
||||
- forgejo_certs:/certs
|
||||
restart: on-failure:7
|
||||
restart: 'unless-stopped'
|
||||
|
||||
# command: '/bin/sh -c "while : ; do sleep 1 ; done ;"'
|
||||
command: '/bin/sh -c "sleep 5; forgejo-runner -c /data/config.yml daemon"'
|
||||
|
||||
@@ -24,13 +24,6 @@
|
||||
# ping: cyberchef.bensuperpc.org
|
||||
container: cyberchef0
|
||||
server: my-docker
|
||||
- bentopdf:
|
||||
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/bentopdf.png
|
||||
href: https://bentopdf.bensuperpc.org/
|
||||
description: BentoPDF
|
||||
# ping: bentopdf.bensuperpc.org
|
||||
container: bentopdf
|
||||
server: my-docker
|
||||
- caddy:
|
||||
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/caddy.png
|
||||
href: https://public.bensuperpc.org/
|
||||
@@ -110,20 +103,6 @@
|
||||
# ping: openwebui.bensuperpc.org
|
||||
container: openwebui
|
||||
server: my-docker
|
||||
- localai:
|
||||
# icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/localai.png
|
||||
href: https://localai.bensuperpc.org/
|
||||
description: ChatGPT local
|
||||
# ping: localai.bensuperpc.org
|
||||
container: localai
|
||||
server: my-docker
|
||||
- litellm:
|
||||
# icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/litellm.png
|
||||
href: https://litellm.bensuperpc.org/
|
||||
description: LiteLLM
|
||||
# ping: litellm.bensuperpc.org
|
||||
container: litellm
|
||||
server: my-docker
|
||||
- picoshare:
|
||||
# icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/picoshare.png
|
||||
href: https://picoshare.bensuperpc.org/
|
||||
|
||||
@@ -1,32 +1,58 @@
|
||||
services:
|
||||
# it-tools
|
||||
it-tools0:
|
||||
extends:
|
||||
file: ../common.yml
|
||||
service: service-base
|
||||
image: ghcr.io/sharevb/it-tools:latest
|
||||
container_name: it-tools0
|
||||
profiles:
|
||||
- it-tools
|
||||
restart: on-failure:7
|
||||
depends_on:
|
||||
- caddy
|
||||
networks:
|
||||
- caddy-tools
|
||||
read_only: false
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop:
|
||||
- SYS_ADMIN
|
||||
environment:
|
||||
- TZ=${TZ:-Europe/Paris}
|
||||
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 512M
|
||||
reservations:
|
||||
cpus: '0.001'
|
||||
memory: 20M
|
||||
|
||||
it-tools1:
|
||||
extends:
|
||||
file: ../common.yml
|
||||
service: service-base
|
||||
image: ghcr.io/sharevb/it-tools:latest
|
||||
container_name: it-tools1
|
||||
profiles:
|
||||
- it-tools
|
||||
restart: on-failure:7
|
||||
depends_on:
|
||||
- caddy
|
||||
networks:
|
||||
- caddy-tools
|
||||
read_only: false
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop:
|
||||
- SYS_ADMIN
|
||||
environment:
|
||||
- TZ=${TZ:-Europe/Paris}
|
||||
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 512M
|
||||
reservations:
|
||||
cpus: '0.001'
|
||||
memory: 20M
|
||||
|
||||
networks:
|
||||
caddy-tools:
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
name: localai
|
||||
|
||||
services:
|
||||
# localai
|
||||
localai:
|
||||
image: localai/localai:${LOCALAI_DOCKER_TAG:-latest}
|
||||
container_name: localai
|
||||
profiles:
|
||||
- localai
|
||||
restart: on-failure:7
|
||||
depends_on:
|
||||
- caddy
|
||||
env_file:
|
||||
- ./env/localai.env
|
||||
environment:
|
||||
- TZ=${TZ:-Europe/Paris}
|
||||
volumes:
|
||||
- localai_data:/data
|
||||
- localai_models:/models
|
||||
- localai_backends:/backends
|
||||
- localai_config:/config
|
||||
networks:
|
||||
- caddy-ai
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
volumes:
|
||||
localai_models:
|
||||
name: localai_models
|
||||
localai_backends:
|
||||
name: localai_backends
|
||||
localai_config:
|
||||
name: localai_config
|
||||
localai_data:
|
||||
name: localai_data
|
||||
|
||||
networks:
|
||||
caddy-ai:
|
||||
driver: bridge
|
||||
name: caddy-ai
|
||||
@@ -1,3 +0,0 @@
|
||||
DISABLE_AUTODETECT=false
|
||||
LOCALAI_BASE_URL=https://localai.bensuperpc.org
|
||||
DEBUG=true
|
||||
@@ -57,6 +57,14 @@ services:
|
||||
# - ./asset_links/plugins.txt:/extras/plugins.txt:ro
|
||||
networks:
|
||||
- minecraft-network
|
||||
deploy:
|
||||
resources:
|
||||
# limits:
|
||||
# cpus: '8.0'
|
||||
# memory: 26G
|
||||
reservations:
|
||||
cpus: '0.01'
|
||||
memory: 20M
|
||||
volumes:
|
||||
minecraft_server_data:
|
||||
name: minecraft_server_data
|
||||
|
||||
@@ -1,24 +1,58 @@
|
||||
x-omni-tools: &omni-tools
|
||||
extends:
|
||||
file: ../common.yml
|
||||
service: service-base
|
||||
image: iib0011/omni-tools:latest
|
||||
profiles:
|
||||
- omni-tools
|
||||
depends_on:
|
||||
- caddy
|
||||
networks:
|
||||
- caddy-tools
|
||||
read_only: false
|
||||
|
||||
services:
|
||||
# omni-tools
|
||||
omni-tools0:
|
||||
<<: *omni-tools
|
||||
image: iib0011/omni-tools:latest
|
||||
container_name: omni-tools0
|
||||
profiles:
|
||||
- omni-tools
|
||||
restart: on-failure:7
|
||||
depends_on:
|
||||
- caddy
|
||||
networks:
|
||||
- caddy-tools
|
||||
read_only: false
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop:
|
||||
- SYS_ADMIN
|
||||
environment:
|
||||
- TZ=${TZ:-Europe/Paris}
|
||||
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 512M
|
||||
reservations:
|
||||
cpus: '0.001'
|
||||
memory: 20M
|
||||
|
||||
omni-tools1:
|
||||
<<: *omni-tools
|
||||
image: iib0011/omni-tools:latest
|
||||
container_name: omni-tools1
|
||||
profiles:
|
||||
- omni-tools
|
||||
restart: on-failure:7
|
||||
depends_on:
|
||||
- caddy
|
||||
networks:
|
||||
- caddy-tools
|
||||
read_only: false
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop:
|
||||
- SYS_ADMIN
|
||||
environment:
|
||||
- TZ=${TZ:-Europe/Paris}
|
||||
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 512M
|
||||
reservations:
|
||||
cpus: '0.001'
|
||||
memory: 20M
|
||||
|
||||
networks:
|
||||
caddy-tools:
|
||||
|
||||
@@ -2,7 +2,7 @@ name: openwebui
|
||||
|
||||
services:
|
||||
ollama:
|
||||
image: ollama/ollama:${OLLAMA_DOCKER_TAG:-0.30.11}
|
||||
image: ollama/ollama:${OLLAMA_DOCKER_TAG-latest}
|
||||
container_name: ollama
|
||||
profiles:
|
||||
- openwebui
|
||||
@@ -12,11 +12,11 @@ services:
|
||||
restart: on-failure:7
|
||||
tty: true
|
||||
volumes:
|
||||
- openwebui-ollama:/root/.ollama
|
||||
- ollama:/root/.ollama
|
||||
# ports:
|
||||
# - ${OLLAMA_PORT:-11434}:11434
|
||||
# - ${OLLAMA_PORT-11434}:11434
|
||||
env_file:
|
||||
- ./env/openwebui-ollama.env
|
||||
- ./env/ollama.env
|
||||
environment:
|
||||
- TZ=${TZ:-Europe/Paris}
|
||||
security_opt:
|
||||
@@ -27,48 +27,8 @@ services:
|
||||
# - /dev/dri
|
||||
# - /dev/kfd
|
||||
|
||||
litellm:
|
||||
image: ghcr.io/berriai/litellm:${LITELLM_DOCKER_TAG:-v1.89.6}
|
||||
container_name: litellm
|
||||
profiles:
|
||||
- openwebui
|
||||
restart: on-failure:7
|
||||
depends_on:
|
||||
litellm-postgres:
|
||||
condition: service_healthy
|
||||
env_file:
|
||||
- ./env/litellm.env
|
||||
environment:
|
||||
- TZ=${TZ:-Europe/Paris}
|
||||
command: ["--port", "4000", "--detailed_debug"]
|
||||
networks:
|
||||
- caddy-ai
|
||||
- openwebui-internal
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
litellm-postgres:
|
||||
image: postgres:${POSTGRES_DOCKER_TAG:-18.4-alpine3.24}
|
||||
container_name: litellm-postgres
|
||||
profiles:
|
||||
- openwebui
|
||||
env_file:
|
||||
- ./env/litellm-postgres.env
|
||||
environment:
|
||||
- TZ=${TZ:-Europe/Paris}
|
||||
volumes:
|
||||
- litellm-postgres:/var/lib/postgresql
|
||||
restart: on-failure:7
|
||||
networks:
|
||||
- openwebui-internal
|
||||
healthcheck:
|
||||
test: [ "CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}" ]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 5
|
||||
|
||||
openwebui-postgres:
|
||||
image: postgres:${POSTGRES_DOCKER_TAG:-18.4-alpine3.24}
|
||||
image: postgres:17-alpine
|
||||
container_name: openwebui-postgres
|
||||
profiles:
|
||||
- openwebui
|
||||
@@ -77,7 +37,7 @@ services:
|
||||
environment:
|
||||
- TZ=${TZ:-Europe/Paris}
|
||||
volumes:
|
||||
- openwebui-postgres:/var/lib/postgresql
|
||||
- openwebui-postgres:/var/lib/postgresql/data
|
||||
restart: on-failure:7
|
||||
networks:
|
||||
- openwebui-internal
|
||||
@@ -87,98 +47,6 @@ services:
|
||||
timeout: 3s
|
||||
retries: 5
|
||||
|
||||
openwebui:
|
||||
image: ghcr.io/open-webui/open-webui:${WEBUI_DOCKER_TAG:-git-ecd48e2}
|
||||
container_name: openwebui
|
||||
profiles:
|
||||
- openwebui
|
||||
volumes:
|
||||
- openwebui:/app/backend/data
|
||||
depends_on:
|
||||
- ollama
|
||||
- caddy
|
||||
- openwebui-postgres
|
||||
- qdrant
|
||||
- valkey
|
||||
env_file:
|
||||
- ./env/openwebui.env
|
||||
environment:
|
||||
- TZ=${TZ:-Europe/Paris}
|
||||
# - UID=${PUID:-1000}
|
||||
# - GID=${PGID:-1000}
|
||||
# ports:
|
||||
# - ${OPEN_WEBUI_PORT:-3000}:8080
|
||||
restart: on-failure:7
|
||||
networks:
|
||||
- caddy-ai
|
||||
- openwebui-internal
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
openwebui-pipelines:
|
||||
image: ghcr.io/open-webui/pipelines:${WEBUI_PIPELINE_DOCKER_TAG:-git-039f9c5}
|
||||
container_name: openwebui-pipelines
|
||||
profiles:
|
||||
- openwebui
|
||||
networks:
|
||||
- openwebui-internal
|
||||
env_file:
|
||||
- ./env/openwebui-pipelines.env
|
||||
restart: on-failure:7
|
||||
volumes:
|
||||
- openwebui-pipelines:/app/pipelines
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
qdrant:
|
||||
image: qdrant/qdrant:${QDRANT_DOCKER_TAG:-v1.18.2}
|
||||
profiles:
|
||||
- openwebui
|
||||
container_name: qdrant
|
||||
restart: on-failure:7
|
||||
# ports:
|
||||
# - "6333:6333"
|
||||
# - "6334:6334"
|
||||
env_file:
|
||||
- ./env/openwebui-qdrant.env
|
||||
volumes:
|
||||
- openwebui-qdrant:/qdrant/storage
|
||||
networks:
|
||||
- openwebui-internal
|
||||
|
||||
valkey:
|
||||
image: valkey/valkey:${VALKEY_DOCKER_TAG:-9.1.0-alpine}
|
||||
container_name: valkey
|
||||
profiles:
|
||||
- openwebui
|
||||
env_file:
|
||||
- ./env/openwebui-valkey.env
|
||||
restart: on-failure:7
|
||||
command: valkey-server --requirepass ${VALKEY_PASSWORD:-valkey_password} --maxclients 10000 --timeout 1800
|
||||
volumes:
|
||||
- openwebui-valkey:/data
|
||||
networks:
|
||||
- openwebui-internal
|
||||
|
||||
volumes:
|
||||
openwebui: {}
|
||||
openwebui-ollama: {}
|
||||
openwebui-postgres: {}
|
||||
openwebui-pgadmin: {}
|
||||
openwebui-valkey: {}
|
||||
openwebui-qdrant: {}
|
||||
litellm-postgres: {}
|
||||
openwebui-pipelines: {}
|
||||
|
||||
networks:
|
||||
caddy-ai:
|
||||
driver: bridge
|
||||
name: caddy-ai
|
||||
openwebui-internal:
|
||||
driver: bridge
|
||||
name: openwebui-internal
|
||||
|
||||
|
||||
# pgadmin:
|
||||
# image: dpage/pgadmin4:latest
|
||||
# container_name: pgadmin
|
||||
@@ -193,4 +61,45 @@ networks:
|
||||
# openwebui-postgres:
|
||||
# condition: service_healthy
|
||||
# networks:
|
||||
# - openwebui-internal
|
||||
# - openwebui-network
|
||||
|
||||
|
||||
openwebui:
|
||||
image: ghcr.io/open-webui/open-webui:${WEBUI_DOCKER_TAG-main}
|
||||
container_name: openwebui
|
||||
profiles:
|
||||
- openwebui
|
||||
volumes:
|
||||
- openwebui:/app/backend/data
|
||||
depends_on:
|
||||
- ollama
|
||||
- caddy
|
||||
- openwebui-postgres
|
||||
env_file:
|
||||
- ./env/openwebui.env
|
||||
environment:
|
||||
- TZ=${TZ:-Europe/Paris}
|
||||
# - UID=${PUID:-1000}
|
||||
# - GID=${PGID:-1000}
|
||||
# ports:
|
||||
# - ${OPEN_WEBUI_PORT-3000}:8080
|
||||
restart: on-failure:7
|
||||
networks:
|
||||
- caddy-ai
|
||||
- openwebui-internal
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
volumes:
|
||||
ollama: {}
|
||||
openwebui: {}
|
||||
openwebui-postgres: {}
|
||||
openwebui-pgadmin: {}
|
||||
|
||||
networks:
|
||||
caddy-ai:
|
||||
driver: bridge
|
||||
name: caddy-ai
|
||||
openwebui-internal:
|
||||
driver: bridge
|
||||
name: openwebui-internal
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
POSTGRES_USER=litellm_user
|
||||
POSTGRES_PASSWORD=fdbdfsgfdghgjhfjtjgdfssdgsfdg
|
||||
POSTGRES_DB=litellm_db
|
||||
@@ -1,11 +0,0 @@
|
||||
DATABASE_URL=postgresql://litellm_user:fdbdfsgfdghgjhfjtjgdfssdgsfdg@litellm-postgres:5432/litellm_db
|
||||
|
||||
LITELLM_MASTER_KEY=a51d5a17f7b8f96128866c6bfc903ec0
|
||||
|
||||
LITELLM_MODE=proxy
|
||||
UI_USERNAME=admin
|
||||
UI_PASSWORD=ffdsfsdsfdggdfsgdfhgfsgfsg
|
||||
PROXY_BASE_URL=https://litellm.bensuperpc.org
|
||||
|
||||
#OPENAI_API_KEY=
|
||||
#ANTHROPIC_API_KEY=
|
||||
+2
-4
@@ -4,7 +4,5 @@
|
||||
# OLLAMA_GPU_LAYERS=
|
||||
# OLLAMA_DEBUG=1
|
||||
# OLLAMA_SCHED_SPREAD=1
|
||||
OLLAMA_CONTEXT_LENGTH=16384
|
||||
OLLAMA_FLASH_ATTENTION=1
|
||||
OLLAMA_ORIGINS="*"
|
||||
OLLAMA_HOST=0.0.0.0
|
||||
# OLLAMA_FLASH_ATTENTION=1
|
||||
# OLLAMA_CONTEXT_LENGTH=2048
|
||||
@@ -1 +0,0 @@
|
||||
PIPELINES_API_KEY=ssdfsfdsfdgfgfg
|
||||
@@ -1,2 +0,0 @@
|
||||
QDRANT__SERVICE__API_KEY=qdrant_api_key
|
||||
QDRANT__SERVICE__ENABLE_API_KEY_AUTHORIZATION=true
|
||||
@@ -1 +0,0 @@
|
||||
VALKEY_PASSWORD=valkey_password
|
||||
@@ -1,11 +1,6 @@
|
||||
OLLAMA_BASE_URL=http://ollama:11434
|
||||
|
||||
OPENAI_API_BASE_URL=http://litellm:4000/v1
|
||||
OPENAI_API_KEY=a51d5a17f7b8f96128866c6bfc903ec0
|
||||
|
||||
# openssl rand -hex 32
|
||||
WEBUI_SECRET_KEY=7d83b15a417d090ba5c6b899270a05dd215c60848354c0c7574226d6ff02f39e
|
||||
|
||||
#HF_HUB_OFFLINE=1
|
||||
# Disable analytics
|
||||
SCARF_NO_ANALYTICS=true
|
||||
@@ -17,21 +12,6 @@ ANONYMIZED_TELEMETRY=false
|
||||
|
||||
# Database configuration
|
||||
DATABASE_URL=postgresql://postgres:securepassword123@openwebui-postgres:5432/openwebui
|
||||
DATABASE_POOL_SIZE=20
|
||||
DATABASE_POOL_MAX_OVERFLOW=10
|
||||
DATABASE_POOL_TIMEOUT=30
|
||||
DATABASE_POOL_RECYCLE=1800
|
||||
|
||||
VECTOR_DB=${VECTOR_DB:-qdrant}
|
||||
QDRANT_URI=http://qdrant:6333
|
||||
QDRANT_API_KEY=qdrant_api_key
|
||||
|
||||
REDIS_URL=redis://:valkey_password@valkey:6379/0
|
||||
ENABLE_WEBSOCKET_SUPPORT=true
|
||||
WEBSOCKET_MANAGER=redis
|
||||
WEBSOCKET_REDIS_URL=redis://:valkey_password@valkey:6379/1?socket_timeout=86400
|
||||
# Fix issues with redis lib 8.0.0 and openwebUI 0.10.1
|
||||
WEBSOCKET_REDIS_OPTIONS={"socket_timeout":null}
|
||||
|
||||
# Only with stable-diffusion-webui
|
||||
#ENABLE_IMAGE_GENERATION=true
|
||||
|
||||
@@ -23,6 +23,14 @@ services:
|
||||
- SYS_ADMIN
|
||||
# tmpfs:
|
||||
# - /tmp
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 512M
|
||||
reservations:
|
||||
cpus: '0.001'
|
||||
memory: 20M
|
||||
|
||||
volumes:
|
||||
picoshare_data:
|
||||
|
||||
@@ -18,6 +18,14 @@ services:
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
read_only: true
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 512M
|
||||
reservations:
|
||||
cpus: '0.001'
|
||||
memory: 20M
|
||||
|
||||
volumes:
|
||||
privatebin_data:
|
||||
|
||||
@@ -20,6 +20,14 @@ services:
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
read_only: true
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 512M
|
||||
reservations:
|
||||
cpus: '0.001'
|
||||
memory: 20M
|
||||
|
||||
volumes:
|
||||
psitransfer_data:
|
||||
|
||||
+6
@@ -30,6 +30,12 @@ services:
|
||||
start_period: 120s
|
||||
cap_drop:
|
||||
- SYS_ADMIN
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 24G
|
||||
reservations:
|
||||
memory: 4G
|
||||
|
||||
volumes:
|
||||
satisfactory_server_config:
|
||||
|
||||
+6
@@ -24,6 +24,12 @@ services:
|
||||
- no-new-privileges:true
|
||||
cap_drop:
|
||||
- SYS_ADMIN
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 16G
|
||||
reservations:
|
||||
memory: 4G
|
||||
|
||||
volumes:
|
||||
teamfortress2_data:
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
DOCKER_PROFILES += main_infrastructure caddy
|
||||
DOCKER_PROFILES += openssh
|
||||
DOCKER_PROFILES += openwebui ollama
|
||||
@@ -1,3 +0,0 @@
|
||||
DOCKER_PROFILES += main_infrastructure caddy homepage
|
||||
DOCKER_PROFILES += openssh
|
||||
DOCKER_PROFILES += openwebui ollama localai
|
||||
@@ -1,3 +1,2 @@
|
||||
DOCKER_PROFILES += teamfortress2_server
|
||||
# teamfortress2_backup
|
||||
DOCKER_PROFILES += openssh
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
DOCKER_PROFILES += main_infrastructure caddy homepage
|
||||
DOCKER_PROFILES += it-tools omni-tools cyberchef bentopdf
|
||||
@@ -0,0 +1,2 @@
|
||||
DOCKER_PROFILES += main_infrastructure caddy homepage
|
||||
DOCKER_PROFILES += it-tools omni-tools cyberchef
|
||||
Reference in New Issue
Block a user