Updated .gitignore and made a removed networks from paperless docker-compose.env
This commit is contained in:
0
.env.template
Executable file → Normal file
0
.env.template
Executable file → Normal file
5
.gitignore
vendored
Executable file → Normal file
5
.gitignore
vendored
Executable file → Normal file
@@ -18,6 +18,9 @@
|
||||
*/media/
|
||||
|
||||
# Specific service data patterns
|
||||
adventurelog/
|
||||
open-webui/
|
||||
Arrs/
|
||||
qBittorrent/config/
|
||||
Homepage/config/
|
||||
Homepage/data/
|
||||
@@ -100,4 +103,4 @@ known_hosts
|
||||
|
||||
# Runtime files
|
||||
*.pid
|
||||
*.sock
|
||||
*.sock
|
||||
|
@@ -1 +0,0 @@
|
||||
4964985276.1738142532
|
@@ -1,28 +0,0 @@
|
||||
{
|
||||
"data": [
|
||||
{
|
||||
"text": "Welcome to the new announcement section. It will keep you up-to-date with important news. You can dismiss this announcement by clicking on the button at the end of this line.",
|
||||
"link": "",
|
||||
"hash": "",
|
||||
"dismissible": true,
|
||||
"timestamp": 1676235999,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"text": "Opensubtitles.org is now only accessible to VIP users. If you're still using it and do not plan to get a VIP subscription, you should consider disabling it and move to opensubtitles.com.",
|
||||
"link": "",
|
||||
"hash": "",
|
||||
"dismissible": true,
|
||||
"timestamp": 1700791126,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"text": "We're about to drop support for legacy Sonarr and Radarr versions (prior to v3). If you're still using those legacy versions, please consider upgrading ASAP.",
|
||||
"link": "",
|
||||
"hash": "",
|
||||
"dismissible": true,
|
||||
"timestamp": 1731247748,
|
||||
"enabled": true
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,274 +0,0 @@
|
||||
---
|
||||
addic7ed:
|
||||
cookies: ''
|
||||
password: ''
|
||||
user_agent: ''
|
||||
username: ''
|
||||
vip: false
|
||||
analytics:
|
||||
enabled: true
|
||||
anidb:
|
||||
api_client: ''
|
||||
api_client_ver: 1
|
||||
animetosho:
|
||||
anidb_api_client: ''
|
||||
anidb_api_client_ver: 1
|
||||
search_threshold: 6
|
||||
anticaptcha:
|
||||
anti_captcha_key: ''
|
||||
assrt:
|
||||
token: ''
|
||||
auth:
|
||||
apikey: f4e633d900a236934a951cede0e9176a
|
||||
password: ''
|
||||
type: null
|
||||
username: ''
|
||||
avistaz:
|
||||
cookies: ''
|
||||
user_agent: ''
|
||||
backup:
|
||||
day: 6
|
||||
folder: /config/backup
|
||||
frequency: Weekly
|
||||
hour: 3
|
||||
retention: 31
|
||||
betaseries:
|
||||
token: ''
|
||||
cinemaz:
|
||||
cookies: ''
|
||||
user_agent: ''
|
||||
cors:
|
||||
enabled: false
|
||||
deathbycaptcha:
|
||||
password: ''
|
||||
username: ''
|
||||
embeddedsubtitles:
|
||||
fallback_lang: en
|
||||
hi_fallback: false
|
||||
included_codecs: []
|
||||
timeout: 600
|
||||
unknown_as_fallback: false
|
||||
general:
|
||||
adaptive_searching: true
|
||||
adaptive_searching_delay: 3w
|
||||
adaptive_searching_delta: 1w
|
||||
anti_captcha_provider: null
|
||||
auto_update: true
|
||||
base_url: ''
|
||||
branch: master
|
||||
chmod: '0640'
|
||||
chmod_enabled: false
|
||||
days_to_upgrade_subs: 7
|
||||
debug: false
|
||||
default_und_audio_lang: ''
|
||||
default_und_embedded_subtitles_lang: ''
|
||||
dont_notify_manual_actions: false
|
||||
embedded_subs_show_desired: true
|
||||
embedded_subtitles_parser: ffprobe
|
||||
enabled_integrations: []
|
||||
enabled_providers: []
|
||||
flask_secret_key: 2cea2a0dfa96a753c70ac9b5c6160ccb
|
||||
hi_extension: hi
|
||||
ignore_ass_subs: false
|
||||
ignore_pgs_subs: false
|
||||
ignore_vobsub_subs: false
|
||||
ip: '*'
|
||||
language_equals: []
|
||||
minimum_score: 90
|
||||
minimum_score_movie: 70
|
||||
movie_default_enabled: false
|
||||
movie_default_profile: ''
|
||||
movie_tag_enabled: false
|
||||
multithreading: true
|
||||
page_size: 25
|
||||
parse_embedded_audio_track: false
|
||||
path_mappings: []
|
||||
path_mappings_movie: []
|
||||
port: 6767
|
||||
postprocessing_cmd: ''
|
||||
postprocessing_threshold: 90
|
||||
postprocessing_threshold_movie: 70
|
||||
remove_profile_tags: []
|
||||
serie_default_enabled: false
|
||||
serie_default_profile: ''
|
||||
serie_tag_enabled: false
|
||||
single_language: false
|
||||
skip_hashing: false
|
||||
subfolder: current
|
||||
subfolder_custom: ''
|
||||
subzero_mods: ''
|
||||
theme: auto
|
||||
upgrade_frequency: 12
|
||||
upgrade_manual: true
|
||||
upgrade_subs: true
|
||||
use_embedded_subs: true
|
||||
use_postprocessing: false
|
||||
use_postprocessing_threshold: false
|
||||
use_postprocessing_threshold_movie: false
|
||||
use_radarr: false
|
||||
use_scenename: true
|
||||
use_sonarr: false
|
||||
utf8_encode: true
|
||||
wanted_search_frequency: 6
|
||||
wanted_search_frequency_movie: 6
|
||||
hdbits:
|
||||
passkey: ''
|
||||
username: ''
|
||||
jimaku:
|
||||
api_key: ''
|
||||
enable_ai_subs: false
|
||||
enable_archives_download: false
|
||||
enable_name_search_fallback: true
|
||||
karagarga:
|
||||
f_password: ''
|
||||
f_username: ''
|
||||
password: ''
|
||||
username: ''
|
||||
ktuvit:
|
||||
email: ''
|
||||
hashed_password: ''
|
||||
legendasdivx:
|
||||
password: ''
|
||||
skip_wrong_fps: false
|
||||
username: ''
|
||||
legendasnet:
|
||||
password: ''
|
||||
username: ''
|
||||
log:
|
||||
exclude_filter: ''
|
||||
ignore_case: false
|
||||
include_filter: ''
|
||||
use_regex: false
|
||||
movie_scores:
|
||||
audio_codec: 3
|
||||
edition: 1
|
||||
hash: 119
|
||||
hearing_impaired: 1
|
||||
release_group: 13
|
||||
resolution: 2
|
||||
source: 7
|
||||
streaming_service: 1
|
||||
title: 60
|
||||
video_codec: 2
|
||||
year: 30
|
||||
napiprojekt:
|
||||
only_authors: false
|
||||
only_real_names: false
|
||||
napisy24:
|
||||
password: ''
|
||||
username: ''
|
||||
opensubtitles:
|
||||
password: ''
|
||||
skip_wrong_fps: false
|
||||
ssl: false
|
||||
timeout: 15
|
||||
use_tag_search: false
|
||||
username: ''
|
||||
vip: false
|
||||
opensubtitlescom:
|
||||
include_ai_translated: false
|
||||
password: ''
|
||||
use_hash: true
|
||||
username: ''
|
||||
podnapisi:
|
||||
verify_ssl: true
|
||||
postgresql:
|
||||
database: ''
|
||||
enabled: false
|
||||
host: localhost
|
||||
password: ''
|
||||
port: 5432
|
||||
username: ''
|
||||
proxy:
|
||||
exclude:
|
||||
- localhost
|
||||
- 127.0.0.1
|
||||
password: ''
|
||||
port: ''
|
||||
type: null
|
||||
url: ''
|
||||
username: ''
|
||||
radarr:
|
||||
apikey: ''
|
||||
base_url: /
|
||||
defer_search_signalr: false
|
||||
excluded_tags: []
|
||||
full_update: Daily
|
||||
full_update_day: 6
|
||||
full_update_hour: 4
|
||||
http_timeout: 60
|
||||
ip: 127.0.0.1
|
||||
movies_sync: 60
|
||||
only_monitored: false
|
||||
port: 7878
|
||||
ssl: false
|
||||
sync_only_monitored_movies: false
|
||||
use_ffprobe_cache: true
|
||||
series_scores:
|
||||
audio_codec: 3
|
||||
episode: 30
|
||||
hash: 359
|
||||
hearing_impaired: 1
|
||||
release_group: 14
|
||||
resolution: 2
|
||||
season: 30
|
||||
series: 180
|
||||
source: 7
|
||||
streaming_service: 1
|
||||
video_codec: 2
|
||||
year: 90
|
||||
sonarr:
|
||||
apikey: ''
|
||||
base_url: /
|
||||
defer_search_signalr: false
|
||||
exclude_season_zero: false
|
||||
excluded_series_types: []
|
||||
excluded_tags: []
|
||||
full_update: Daily
|
||||
full_update_day: 6
|
||||
full_update_hour: 4
|
||||
http_timeout: 60
|
||||
ip: 127.0.0.1
|
||||
only_monitored: false
|
||||
port: 8989
|
||||
series_sync: 60
|
||||
ssl: false
|
||||
sync_only_monitored_episodes: false
|
||||
sync_only_monitored_series: false
|
||||
use_ffprobe_cache: true
|
||||
subdl:
|
||||
api_key: ''
|
||||
subf2m:
|
||||
user_agent: ''
|
||||
verify_ssl: true
|
||||
subsync:
|
||||
checker:
|
||||
blacklisted_languages: []
|
||||
blacklisted_providers: []
|
||||
debug: false
|
||||
force_audio: false
|
||||
gss: true
|
||||
max_offset_seconds: 60
|
||||
no_fix_framerate: true
|
||||
subsync_movie_threshold: 70
|
||||
subsync_threshold: 90
|
||||
use_subsync: false
|
||||
use_subsync_movie_threshold: false
|
||||
use_subsync_threshold: false
|
||||
titlovi:
|
||||
password: ''
|
||||
username: ''
|
||||
titulky:
|
||||
approved_only: false
|
||||
password: ''
|
||||
skip_wrong_fps: false
|
||||
username: ''
|
||||
whisperai:
|
||||
endpoint: http://127.0.0.1:9000
|
||||
loglevel: INFO
|
||||
pass_video_name: false
|
||||
response: 5
|
||||
timeout: 3600
|
||||
xsubs:
|
||||
password: ''
|
||||
username: ''
|
File diff suppressed because one or more lines are too long
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<key id="076c8fc0-d072-456f-a8c8-b5d4722d497d" version="1">
|
||||
<creationDate>2025-01-29T09:22:08.4496837Z</creationDate>
|
||||
<activationDate>2025-01-29T09:22:08.4381256Z</activationDate>
|
||||
<expirationDate>2025-04-29T09:22:08.4381256Z</expirationDate>
|
||||
<descriptor deserializerType="Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">
|
||||
<descriptor>
|
||||
<encryption algorithm="AES_256_CBC" />
|
||||
<validation algorithm="HMACSHA256" />
|
||||
<masterKey p4:requiresEncryption="true" xmlns:p4="http://schemas.asp.net/2015/03/dataProtection">
|
||||
<!-- Warning: the key below is in an unencrypted form. -->
|
||||
<value>0i5M9BhZYxyRZUnt26LMNZ4ukvPyWz1P2CVr4iqIfZFTBANQrCeRHQL9RXc0dbhU7Gi2ECvniDLHgNUfcvZfaA==</value>
|
||||
</masterKey>
|
||||
</descriptor>
|
||||
</descriptor>
|
||||
</key>
|
@@ -1,16 +0,0 @@
|
||||
<Config>
|
||||
<BindAddress>*</BindAddress>
|
||||
<Port>9696</Port>
|
||||
<SslPort>6969</SslPort>
|
||||
<EnableSsl>False</EnableSsl>
|
||||
<LaunchBrowser>True</LaunchBrowser>
|
||||
<ApiKey>2e061a290fb24d8792ebb2d70b15bf67</ApiKey>
|
||||
<AuthenticationMethod>None</AuthenticationMethod>
|
||||
<AuthenticationRequired>Enabled</AuthenticationRequired>
|
||||
<Branch>master</Branch>
|
||||
<LogLevel>debug</LogLevel>
|
||||
<SslCertPath></SslCertPath>
|
||||
<SslCertPassword></SslCertPassword>
|
||||
<UrlBase></UrlBase>
|
||||
<InstanceName>Prowlarr</InstanceName>
|
||||
</Config>
|
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<key id="4bdf6bfd-92c6-4723-8e40-a1abcb19db17" version="1">
|
||||
<creationDate>2025-01-29T09:22:08.5915717Z</creationDate>
|
||||
<activationDate>2025-01-29T09:22:08.5787744Z</activationDate>
|
||||
<expirationDate>2025-04-29T09:22:08.5787744Z</expirationDate>
|
||||
<descriptor deserializerType="Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">
|
||||
<descriptor>
|
||||
<encryption algorithm="AES_256_CBC" />
|
||||
<validation algorithm="HMACSHA256" />
|
||||
<masterKey p4:requiresEncryption="true" xmlns:p4="http://schemas.asp.net/2015/03/dataProtection">
|
||||
<!-- Warning: the key below is in an unencrypted form. -->
|
||||
<value>u+w7PRy5v7u9F6/9RnBwbm0FeKyLyyR9/PPgCKe9Hvgapo2NBpjXgQOUO+mXRsYeTM8aL9sAMd80BJPAeQWZPA==</value>
|
||||
</masterKey>
|
||||
</descriptor>
|
||||
</descriptor>
|
||||
</key>
|
@@ -1,16 +0,0 @@
|
||||
<Config>
|
||||
<BindAddress>*</BindAddress>
|
||||
<Port>7878</Port>
|
||||
<SslPort>9898</SslPort>
|
||||
<EnableSsl>False</EnableSsl>
|
||||
<LaunchBrowser>True</LaunchBrowser>
|
||||
<ApiKey>6c4a2d0e6cd547ad9681d428786d45f7</ApiKey>
|
||||
<AuthenticationMethod>None</AuthenticationMethod>
|
||||
<AuthenticationRequired>Enabled</AuthenticationRequired>
|
||||
<Branch>master</Branch>
|
||||
<LogLevel>debug</LogLevel>
|
||||
<SslCertPath></SslCertPath>
|
||||
<SslCertPassword></SslCertPassword>
|
||||
<UrlBase></UrlBase>
|
||||
<InstanceName>Radarr</InstanceName>
|
||||
</Config>
|
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<key id="7fe5740c-65be-4e37-9015-402fa9a48df0" version="1">
|
||||
<creationDate>2025-01-29T09:22:08.4520862Z</creationDate>
|
||||
<activationDate>2025-01-29T09:22:08.440317Z</activationDate>
|
||||
<expirationDate>2025-04-29T09:22:08.440317Z</expirationDate>
|
||||
<descriptor deserializerType="Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">
|
||||
<descriptor>
|
||||
<encryption algorithm="AES_256_CBC" />
|
||||
<validation algorithm="HMACSHA256" />
|
||||
<masterKey p4:requiresEncryption="true" xmlns:p4="http://schemas.asp.net/2015/03/dataProtection">
|
||||
<!-- Warning: the key below is in an unencrypted form. -->
|
||||
<value>C1ExEujkCoR0uN5myc8nRpZboUVQDdEeu2EkGqISG1/m8hC/LiDeQj7GMEIZFTjxRUSB4JSfU2CvjsvYGGEt4A==</value>
|
||||
</masterKey>
|
||||
</descriptor>
|
||||
</descriptor>
|
||||
</key>
|
@@ -1,16 +0,0 @@
|
||||
<Config>
|
||||
<BindAddress>*</BindAddress>
|
||||
<Port>8989</Port>
|
||||
<SslPort>9898</SslPort>
|
||||
<EnableSsl>False</EnableSsl>
|
||||
<LaunchBrowser>True</LaunchBrowser>
|
||||
<ApiKey>c9dba8cdc00741f299e96c518372118f</ApiKey>
|
||||
<AuthenticationMethod>None</AuthenticationMethod>
|
||||
<AuthenticationRequired>Enabled</AuthenticationRequired>
|
||||
<Branch>main</Branch>
|
||||
<LogLevel>trace</LogLevel>
|
||||
<SslCertPath></SslCertPath>
|
||||
<SslCertPassword></SslCertPassword>
|
||||
<UrlBase></UrlBase>
|
||||
<InstanceName>Sonarr</InstanceName>
|
||||
</Config>
|
@@ -1,54 +0,0 @@
|
||||
services:
|
||||
web:
|
||||
#build: ./frontend/
|
||||
image: ghcr.io/seanmorley15/adventurelog-frontend:latest
|
||||
container_name: adventurelog-frontend
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUBLIC_SERVER_URL=http://server:8000 # Should be the service name of the backend with port 8000, even if you change the port in the backend service
|
||||
- ORIGIN=https://adventure.kansaigaijin.com
|
||||
- BODY_SIZE_LIMIT=Infinity
|
||||
ports:
|
||||
- "8015:3000"
|
||||
depends_on:
|
||||
- server
|
||||
|
||||
db:
|
||||
image: postgis/postgis:15-3.3
|
||||
container_name: adventurelog-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: database
|
||||
POSTGRES_USER: adventure
|
||||
POSTGRES_PASSWORD: Figureitout0313
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data/
|
||||
|
||||
server:
|
||||
#build: ./backend/
|
||||
image: ghcr.io/seanmorley15/adventurelog-backend:latest
|
||||
container_name: adventurelog-backend
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PGHOST=db
|
||||
- PGDATABASE=database
|
||||
- PGUSER=adventure
|
||||
- PGPASSWORD=Figureitout0313
|
||||
- SECRET_KEY=Figureitout0313
|
||||
- DJANGO_ADMIN_USERNAME=admin
|
||||
- DJANGO_ADMIN_PASSWORD=admin
|
||||
- DJANGO_ADMIN_EMAIL=jamie@kansaigaijin.com
|
||||
- PUBLIC_URL=https://adventureadmin.kansaigaijin.com # Match the outward port, used for the creation of image urls
|
||||
- CSRF_TRUSTED_ORIGINS=http://localhost:8016,http://localhost:8015,https://adventure.kansaigaijin.com,https://adventureadmin.kansaigaijin.com # Comma separated list of trusted origins for CSRF
|
||||
- DEBUG=False
|
||||
- FRONTEND_URL=https://adventure.kansaigaijin.com # Used for email generation. This should be the url of the frontend
|
||||
ports:
|
||||
- "8016:80"
|
||||
depends_on:
|
||||
- db
|
||||
volumes:
|
||||
- adventurelog_media:/code/media/
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
adventurelog_media:
|
18
compose/document-management.yml
Executable file → Normal file
18
compose/document-management.yml
Executable file → Normal file
@@ -113,18 +113,6 @@ services:
|
||||
volumes:
|
||||
- aidata:/app/data
|
||||
|
||||
networks:
|
||||
database_network:
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
redisdata:
|
||||
external: true
|
||||
dbdata:
|
||||
external: true
|
||||
aidata:
|
||||
external: true
|
||||
|
||||
paperless-db:
|
||||
container_name: paperless-db
|
||||
image: mariadb:11
|
||||
@@ -147,4 +135,8 @@ volumes:
|
||||
retries: 10
|
||||
start_period: 30s
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
- no-new-privileges:true
|
||||
|
||||
networks:
|
||||
database_network:
|
||||
external: true
|
0
compose/media-stack.yml
Executable file → Normal file
0
compose/media-stack.yml
Executable file → Normal file
0
compose/monitoring.yml
Executable file → Normal file
0
compose/monitoring.yml
Executable file → Normal file
0
compose/utility-stack.yml → compose/utilities.yml
Executable file → Normal file
0
compose/utility-stack.yml → compose/utilities.yml
Executable file → Normal file
10
docker-compose.yml
Executable file → Normal file
10
docker-compose.yml
Executable file → Normal file
@@ -10,16 +10,10 @@ include:
|
||||
# Global networks
|
||||
networks:
|
||||
arr_network:
|
||||
driver: bridge
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 172.20.0.0/16
|
||||
external: true
|
||||
|
||||
database_network:
|
||||
driver: bridge
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 172.21.0.0/16
|
||||
external: true
|
||||
|
||||
# Global volumes
|
||||
volumes:
|
||||
|
70
git-commands.txt
Normal file
70
git-commands.txt
Normal file
@@ -0,0 +1,70 @@
|
||||
Git Command-Line Reference Guide
|
||||
This guide covers essential Git commands for managing your projects.
|
||||
|
||||
Setting Up and Initializing
|
||||
git init
|
||||
|
||||
What it does: Initializes a new local Git repository in the current directory. This creates the hidden .git folder.
|
||||
|
||||
git clone [url]
|
||||
|
||||
What it does: Creates a local copy of a remote repository. This is what you'll use to get a fresh copy of your Gitea repository.
|
||||
|
||||
Making and Saving Changes
|
||||
git status
|
||||
|
||||
What it does: Shows the status of your working directory. It tells you which files are staged, unstaged, or untracked.
|
||||
|
||||
git add [file]
|
||||
|
||||
What it does: Stages a file, preparing it to be committed. Use git add . to stage all modified files in the current directory.
|
||||
|
||||
git commit -m "[message]"
|
||||
|
||||
What it does: Saves the staged changes to your local repository history. The -m flag allows you to write a brief, descriptive message for your commit.
|
||||
|
||||
git commit --amend
|
||||
|
||||
What it does: Amends the most recent commit. This is useful for fixing a typo in your commit message or adding a file you forgot to stage.
|
||||
|
||||
Working with the Remote Repository
|
||||
git remote -v
|
||||
|
||||
What it does: Lists the remote repositories you've configured. This is useful for confirming that your local repository is connected to the correct Gitea URL.
|
||||
|
||||
git remote set-url origin [new-url]
|
||||
|
||||
What it does: Changes the URL for a remote repository. You would use this command to change the remote from GitHub to your Gitea instance.
|
||||
|
||||
git push
|
||||
|
||||
What it does: Pushes your committed local changes to the remote repository. Use git push -u origin main the first time you push to a new remote to set the upstream branch.
|
||||
|
||||
git pull
|
||||
|
||||
What it does: Fetches and downloads content from the remote repository and immediately integrates (merges) it into your local branch.
|
||||
|
||||
git fetch
|
||||
|
||||
What it does: Downloads new data from a remote repository but doesn't integrate it into your working files. This lets you review changes before merging.
|
||||
|
||||
Managing Branches
|
||||
git branch
|
||||
|
||||
What it does: Lists all local branches in your repository.
|
||||
|
||||
git branch [branch-name]
|
||||
|
||||
What it does: Creates a new local branch.
|
||||
|
||||
git checkout [branch-name]
|
||||
|
||||
What it does: Switches to an existing branch. Use git checkout -b [new-branch] to create and switch to a new branch in one command.
|
||||
|
||||
git merge [branch-name]
|
||||
|
||||
What it does: Merges the specified branch's history into your current branch.
|
||||
|
||||
git branch -d [branch-name]
|
||||
|
||||
What it does: Deletes the local branch.
|
Binary file not shown.
@@ -1,179 +0,0 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
# Initialize device type args
|
||||
# use build args in the docker build command with --build-arg="BUILDARG=true"
|
||||
ARG USE_CUDA=false
|
||||
ARG USE_OLLAMA=false
|
||||
# Tested with cu117 for CUDA 11 and cu121 for CUDA 12 (default)
|
||||
ARG USE_CUDA_VER=cu128
|
||||
# any sentence transformer model; models to use can be found at https://huggingface.co/models?library=sentence-transformers
|
||||
# Leaderboard: https://huggingface.co/spaces/mteb/leaderboard
|
||||
# for better performance and multilangauge support use "intfloat/multilingual-e5-large" (~2.5GB) or "intfloat/multilingual-e5-base" (~1.5GB)
|
||||
# IMPORTANT: If you change the embedding model (sentence-transformers/all-MiniLM-L6-v2) and vice versa, you aren't able to use RAG Chat with your previous documents loaded in the WebUI! You need to re-embed them.
|
||||
ARG USE_EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2
|
||||
ARG USE_RERANKING_MODEL=""
|
||||
|
||||
# Tiktoken encoding name; models to use can be found at https://huggingface.co/models?library=tiktoken
|
||||
ARG USE_TIKTOKEN_ENCODING_NAME="cl100k_base"
|
||||
|
||||
ARG BUILD_HASH=dev-build
|
||||
# Override at your own risk - non-root configurations are untested
|
||||
ARG UID=0
|
||||
ARG GID=0
|
||||
|
||||
######## WebUI frontend ########
|
||||
FROM --platform=$BUILDPLATFORM node:22-alpine3.20 AS build
|
||||
ARG BUILD_HASH
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# to store git revision in build
|
||||
RUN apk add --no-cache git
|
||||
|
||||
COPY package.json package-lock.json ./
|
||||
RUN npm ci
|
||||
|
||||
COPY . .
|
||||
ENV APP_BUILD_HASH=${BUILD_HASH}
|
||||
RUN npm run build
|
||||
|
||||
######## WebUI backend ########
|
||||
FROM python:3.11-slim-bookworm AS base
|
||||
|
||||
# Use args
|
||||
ARG USE_CUDA
|
||||
ARG USE_OLLAMA
|
||||
ARG USE_CUDA_VER
|
||||
ARG USE_EMBEDDING_MODEL
|
||||
ARG USE_RERANKING_MODEL
|
||||
ARG UID
|
||||
ARG GID
|
||||
|
||||
## Basis ##
|
||||
ENV ENV=prod \
|
||||
PORT=8080 \
|
||||
# pass build args to the build
|
||||
USE_OLLAMA_DOCKER=${USE_OLLAMA} \
|
||||
USE_CUDA_DOCKER=${USE_CUDA} \
|
||||
USE_CUDA_DOCKER_VER=${USE_CUDA_VER} \
|
||||
USE_EMBEDDING_MODEL_DOCKER=${USE_EMBEDDING_MODEL} \
|
||||
USE_RERANKING_MODEL_DOCKER=${USE_RERANKING_MODEL}
|
||||
|
||||
## Basis URL Config ##
|
||||
ENV OLLAMA_BASE_URL="/ollama" \
|
||||
OPENAI_API_BASE_URL=""
|
||||
|
||||
## API Key and Security Config ##
|
||||
ENV OPENAI_API_KEY="" \
|
||||
WEBUI_SECRET_KEY="" \
|
||||
SCARF_NO_ANALYTICS=true \
|
||||
DO_NOT_TRACK=true \
|
||||
ANONYMIZED_TELEMETRY=false
|
||||
|
||||
#### Other models #########################################################
|
||||
## whisper TTS model settings ##
|
||||
ENV WHISPER_MODEL="base" \
|
||||
WHISPER_MODEL_DIR="/app/backend/data/cache/whisper/models"
|
||||
|
||||
## RAG Embedding model settings ##
|
||||
ENV RAG_EMBEDDING_MODEL="$USE_EMBEDDING_MODEL_DOCKER" \
|
||||
RAG_RERANKING_MODEL="$USE_RERANKING_MODEL_DOCKER" \
|
||||
SENTENCE_TRANSFORMERS_HOME="/app/backend/data/cache/embedding/models"
|
||||
|
||||
## Tiktoken model settings ##
|
||||
ENV TIKTOKEN_ENCODING_NAME="cl100k_base" \
|
||||
TIKTOKEN_CACHE_DIR="/app/backend/data/cache/tiktoken"
|
||||
|
||||
## Hugging Face download cache ##
|
||||
ENV HF_HOME="/app/backend/data/cache/embedding/models"
|
||||
|
||||
## Torch Extensions ##
|
||||
# ENV TORCH_EXTENSIONS_DIR="/.cache/torch_extensions"
|
||||
|
||||
#### Other models ##########################################################
|
||||
|
||||
WORKDIR /app/backend
|
||||
|
||||
ENV HOME=/root
|
||||
# Create user and group if not root
|
||||
RUN if [ $UID -ne 0 ]; then \
|
||||
if [ $GID -ne 0 ]; then \
|
||||
addgroup --gid $GID app; \
|
||||
fi; \
|
||||
adduser --uid $UID --gid $GID --home $HOME --disabled-password --no-create-home app; \
|
||||
fi
|
||||
|
||||
RUN mkdir -p $HOME/.cache/chroma
|
||||
RUN echo -n 00000000-0000-0000-0000-000000000000 > $HOME/.cache/chroma/telemetry_user_id
|
||||
|
||||
# Make sure the user has access to the app and root directory
|
||||
RUN chown -R $UID:$GID /app $HOME
|
||||
|
||||
RUN if [ "$USE_OLLAMA" = "true" ]; then \
|
||||
apt-get update && \
|
||||
# Install pandoc and netcat
|
||||
apt-get install -y --no-install-recommends git build-essential pandoc netcat-openbsd curl && \
|
||||
apt-get install -y --no-install-recommends gcc python3-dev && \
|
||||
# for RAG OCR
|
||||
apt-get install -y --no-install-recommends ffmpeg libsm6 libxext6 && \
|
||||
# install helper tools
|
||||
apt-get install -y --no-install-recommends curl jq && \
|
||||
# install ollama
|
||||
curl -fsSL https://ollama.com/install.sh | sh && \
|
||||
# cleanup
|
||||
rm -rf /var/lib/apt/lists/*; \
|
||||
else \
|
||||
apt-get update && \
|
||||
# Install pandoc, netcat and gcc
|
||||
apt-get install -y --no-install-recommends git build-essential pandoc gcc netcat-openbsd curl jq && \
|
||||
apt-get install -y --no-install-recommends gcc python3-dev && \
|
||||
# for RAG OCR
|
||||
apt-get install -y --no-install-recommends ffmpeg libsm6 libxext6 && \
|
||||
# cleanup
|
||||
rm -rf /var/lib/apt/lists/*; \
|
||||
fi
|
||||
|
||||
# install python dependencies
|
||||
COPY --chown=$UID:$GID ./backend/requirements.txt ./requirements.txt
|
||||
|
||||
RUN pip3 install --no-cache-dir uv && \
|
||||
if [ "$USE_CUDA" = "true" ]; then \
|
||||
# If you use CUDA the whisper and embedding model will be downloaded on first use
|
||||
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/$USE_CUDA_DOCKER_VER --no-cache-dir && \
|
||||
uv pip install --system -r requirements.txt --no-cache-dir && \
|
||||
python -c "import os; from sentence_transformers import SentenceTransformer; SentenceTransformer(os.environ['RAG_EMBEDDING_MODEL'], device='cpu')" && \
|
||||
python -c "import os; from faster_whisper import WhisperModel; WhisperModel(os.environ['WHISPER_MODEL'], device='cpu', compute_type='int8', download_root=os.environ['WHISPER_MODEL_DIR'])"; \
|
||||
python -c "import os; import tiktoken; tiktoken.get_encoding(os.environ['TIKTOKEN_ENCODING_NAME'])"; \
|
||||
else \
|
||||
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu --no-cache-dir && \
|
||||
uv pip install --system -r requirements.txt --no-cache-dir && \
|
||||
python -c "import os; from sentence_transformers import SentenceTransformer; SentenceTransformer(os.environ['RAG_EMBEDDING_MODEL'], device='cpu')" && \
|
||||
python -c "import os; from faster_whisper import WhisperModel; WhisperModel(os.environ['WHISPER_MODEL'], device='cpu', compute_type='int8', download_root=os.environ['WHISPER_MODEL_DIR'])"; \
|
||||
python -c "import os; import tiktoken; tiktoken.get_encoding(os.environ['TIKTOKEN_ENCODING_NAME'])"; \
|
||||
fi; \
|
||||
chown -R $UID:$GID /app/backend/data/
|
||||
|
||||
|
||||
|
||||
# copy embedding weight from build
|
||||
# RUN mkdir -p /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2
|
||||
# COPY --from=build /app/onnx /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2/onnx
|
||||
|
||||
# copy built frontend files
|
||||
COPY --chown=$UID:$GID --from=build /app/build /app/build
|
||||
COPY --chown=$UID:$GID --from=build /app/CHANGELOG.md /app/CHANGELOG.md
|
||||
COPY --chown=$UID:$GID --from=build /app/package.json /app/package.json
|
||||
|
||||
# copy backend files
|
||||
COPY --chown=$UID:$GID ./backend .
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
HEALTHCHECK CMD curl --silent --fail http://localhost:${PORT:-8080}/health | jq -ne 'input.status == true' || exit 1
|
||||
|
||||
USER $UID:$GID
|
||||
|
||||
ARG BUILD_HASH
|
||||
ENV WEBUI_BUILD_VERSION=${BUILD_HASH}
|
||||
ENV DOCKER=true
|
||||
|
||||
CMD [ "bash", "start.sh"]
|
0
racknerd-converter/Dockerfile
Executable file → Normal file
0
racknerd-converter/Dockerfile
Executable file → Normal file
0
racknerd-converter/README.md
Executable file → Normal file
0
racknerd-converter/README.md
Executable file → Normal file
0
racknerd-converter/kvmapiconv.py
Executable file → Normal file
0
racknerd-converter/kvmapiconv.py
Executable file → Normal file
0
racknerd-converter/requirements.txt
Executable file → Normal file
0
racknerd-converter/requirements.txt
Executable file → Normal file
@@ -1 +0,0 @@
|
||||
i5Dssz20RgmarmAl9Mo1ugp6HxxStmcJtWWkrbuS06ap2pOlmROCfScIEsHuyBXA
|
@@ -1 +0,0 @@
|
||||
B6vqqwdsRmdYOhUzo5RUgioAYaKdwZpVSmi5PCFKxYIko1LtazXjaERnKCzG3zl8
|
@@ -1 +0,0 @@
|
||||
nMtLQfZ4v8SH63aL54mM8EOtg2eLrobnElYtjsyKjBRzBa8CyDc4EwYfJZpgUmal
|
Reference in New Issue
Block a user