diff --git a/.gitignore b/.gitignore index 9275223..3e92f4a 100644 --- a/.gitignore +++ b/.gitignore @@ -7,12 +7,26 @@ loolwsd.xml # Service folders **/bundesdata_web_app/ **/data/ +**/data*/ **/db/ **/mariadb/ **/redis/ **/html/ **/volumes/ **/config/ +**/config*/ +**/ollama/ + +# Game Servers +## Sons Of The Forest +**/game/ + +## V Rising +**/persistent-data/ +**/server-data/ # tar files *.tar + +# SFTP for moving mod files +**/sftp/ diff --git a/nextcloud/cron-jobs b/nextcloud/cron-jobs new file mode 100644 index 0000000..b4ccef1 --- /dev/null +++ b/nextcloud/cron-jobs @@ -0,0 +1,3 @@ +# must be ended with a new line "LF" (Unix) and not "CRLF" (Windows) +@hourly occ preview:pre-generate +# An empty line is required at the end of this file for a valid cron file. diff --git a/ollama/docker-compose.yml b/ollama/docker-compose.yml new file mode 100644 index 0000000..a5c4cb5 --- /dev/null +++ b/ollama/docker-compose.yml @@ -0,0 +1,54 @@ +networks: + default: + name: traefik_default + external: true + +services: + ollama: + container_name: ollama + restart: unless-stopped + image: ollama/ollama:latest + labels: + # Watchtower + - "com.centurylinklabs.watchtower.enable=true" + # Traefik + # - "traefik.enable=true" + # - "traefik.http.routers.ollama.rule=Host(`ollama.${DOMAIN}`)" + # - "traefik.http.routers.ollama.entrypoints=websecure" + # - "traefik.http.routers.ollama.tls.certresolver=myresolver" + # - "traefik.http.routers.ollama.tls=true" + # - "traefik.http.services.ollama.loadbalancer.server.port=11434" + # Basic auth + # - "traefik.http.middlewares.test-auth.basicauth.users=${OLLAMA_USER}:${OLLAMA_PASSWORD_HASH}" + + networks: + - default + volumes: + - "./ollama/ollama:/root/.ollama" + + ollama-webui: + image: ghcr.io/open-webui/open-webui:main + container_name: ollama-webui + volumes: + - ./ollama/ollama-webui:/app/backend/data + depends_on: + - ollama + environment: + - OLLAMA_BASE_URLS=http://ollama:11434 + - ENV=prod + - WEBUI_AUTH=True + - ENABLE_LOGIN_FORM=True + - WEBUI_NAME=${WEBUI_NAME} + - WEBUI_URL=https://chat.${DOMAIN} + - WEBUI_SECRET_KEY=${SECRET} + extra_hosts: + - host.docker.internal:host-gateway + restart: unless-stopped + networks: + - default + labels: + - "traefik.enable=true" + - "traefik.http.routers.chat.rule=Host(`chat.${DOMAIN}`)" + - "traefik.http.routers.chat.entrypoints=websecure" + - "traefik.http.routers.chat.tls.certresolver=myresolver" + - "traefik.http.services.chat.loadbalancer.server.port=8080" diff --git a/ollama/live.env.tpl b/ollama/live.env.tpl new file mode 100644 index 0000000..4ec481a --- /dev/null +++ b/ollama/live.env.tpl @@ -0,0 +1,2 @@ +# Traefik +DOMAIN=domain.com diff --git a/sons-of-the-forest/docker-compose.yml b/sons-of-the-forest/docker-compose.yml new file mode 100644 index 0000000..d8869a6 --- /dev/null +++ b/sons-of-the-forest/docker-compose.yml @@ -0,0 +1,16 @@ +services: + sons-of-the-forest-dedicated-server: + container_name: sons-of-the-forest-dedicated-server + image: jammsen/sons-of-the-forest-dedicated-server:latest + restart: always + environment: + PUID: 1000 + PGID: 1000 + ALWAYS_UPDATE_ON_START: true + SKIP_NETWORK_ACCESSIBILITY_TEST: true + ports: + - 8766:8766/udp + - 27016:27016/udp + - 9700:9700/udp + volumes: + - ./game:/sonsoftheforest diff --git a/vrising-server/docker-compose.yml b/vrising-server/docker-compose.yml new file mode 100644 index 0000000..3d79f94 --- /dev/null +++ b/vrising-server/docker-compose.yml @@ -0,0 +1,22 @@ +services: + vrising: + image: trueosiris/vrising + environment: + - TZ=Europe/Paris + - SERVERNAME=vrising-TrueOsiris + volumes: + - type: bind + source: ./server-data + target: /mnt/vrising/server + bind: + create_host_path: true + - type: bind + source: ./persistent-data + target: /mnt/vrising/persistentdata + bind: + create_host_path: true + ports: + - '9876:9876/udp' + - '9877:9877/udp' + restart: unless-stopped + network_mode: bridge