Skip to content

Commit a148c23

Browse files
committed
initial commit
0 parents  commit a148c23

File tree

18 files changed

+3004
-0
lines changed

18 files changed

+3004
-0
lines changed

.dockerignore

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Git
2+
.git
3+
.gitignore
4+
5+
# Python
6+
__pycache__/
7+
*.py[cod]
8+
*$py.class
9+
*.so
10+
.Python
11+
build/
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
.eggs/
17+
lib/
18+
lib64/
19+
parts/
20+
sdist/
21+
var/
22+
wheels/
23+
*.egg-info/
24+
.installed.cfg
25+
*.egg
26+
27+
# Virtual environments (don't need these in container)
28+
venv/
29+
env/
30+
ENV/
31+
.venv/
32+
.env/
33+
.env
34+
35+
# IDE files (don't need in container)
36+
.vscode/
37+
.idea/
38+
*.swp
39+
*.swo
40+
*~
41+
42+
# RAG-specific generated files (will be created inside container)
43+
faiss_index.bin
44+
doc_store.json
45+
46+
# OS files
47+
.DS_Store
48+
.DS_Store?
49+
._*
50+
.Spotlight-V100
51+
.Trashes
52+
ehthumbs.db
53+
Thumbs.db
54+
55+
# Documentation and README (not needed in runtime)
56+
README.md
57+
*.md
58+
docs/
59+
60+
# Test files and sample data
61+
test/
62+
test_docs/
63+
sample_docs/
64+
tests/
65+
66+
# Logs
67+
*.log
68+
logs/
69+
70+
# Temporary files
71+
tmp/
72+
temp/
73+
*.tmp
74+
*.temp
75+
76+
# Docker
77+
Dockerfile
78+
.dockerignore
79+
docker-compose.yml

.env.example

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Copy this file to .env and set your desired values
2+
3+
# Web UI Password Protection
4+
# Uncomment and set a password to enable authentication for the web interface
5+
# OLLAMA_CHAT_PARTY_WEB_UI_PASSWORD=your_secure_password_here
6+
7+
# Note: Other configuration options (Ollama URL, models, context size, etc.) are
8+
# available as command-line arguments or runtime environment variables.

.github/workflows/pipeline.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: pipeline
2+
3+
on: [push]
4+
5+
jobs:
6+
call-docker-image-workflow:
7+
uses: psyb0t/reusable-github-workflows/.github/workflows/docker-image-workflow.yml@master
8+
9+
with:
10+
repository_name: psyb0t/ollama-chat-party
11+
target_platforms: "linux/amd64"
12+
13+
secrets:
14+
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
15+
dockerhub_token: ${{ secrets.DOCKERHUB_TOKEN }}

.gitignore

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Python
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
*.so
6+
.Python
7+
build/
8+
develop-eggs/
9+
dist/
10+
downloads/
11+
eggs/
12+
.eggs/
13+
lib/
14+
lib64/
15+
parts/
16+
sdist/
17+
var/
18+
wheels/
19+
pip-wheel-metadata/
20+
share/python-wheels/
21+
*.egg-info/
22+
.installed.cfg
23+
*.egg
24+
MANIFEST
25+
26+
# Virtual environments
27+
venv/
28+
env/
29+
ENV/
30+
.venv/
31+
.env/
32+
.env
33+
34+
# IDE
35+
.vscode/
36+
.idea/
37+
*.swp
38+
*.swo
39+
*~
40+
41+
# RAG-specific files
42+
faiss_index.bin
43+
doc_store.json
44+
45+
# OS
46+
.DS_Store
47+
.DS_Store?
48+
._*
49+
.Spotlight-V100
50+
.Trashes
51+
ehthumbs.db
52+
Thumbs.db
53+
54+
# Logs
55+
*.log
56+
logs/
57+
58+
# Temporary files
59+
tmp/
60+
temp/
61+
*.tmp
62+
*.temp
63+
64+
# Test documents (add your test folders here)
65+
test_docs/
66+
sample_docs/

Dockerfile

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# 🐳 Dockerfile for Ollama Chat Party
2+
FROM python:3.12-slim
3+
4+
# Set working directory
5+
WORKDIR /app
6+
7+
# Install system dependencies
8+
RUN apt-get update && apt-get install -y \
9+
curl \
10+
&& rm -rf /var/lib/apt/lists/*
11+
12+
# Copy requirements and install Python dependencies
13+
COPY requirements.txt .
14+
RUN pip install --no-cache-dir -r requirements.txt
15+
16+
# Copy the main application and supporting modules
17+
COPY main.py .
18+
COPY cli_handler_simple.py .
19+
COPY shared_state.py .
20+
COPY web_server.py .
21+
COPY templates/ ./templates/
22+
COPY static/ ./static/
23+
24+
# Create a directory for documents (can be mounted)
25+
RUN mkdir -p /app/documents
26+
27+
# Set environment variables
28+
ENV PYTHONUNBUFFERED=1
29+
30+
# Expose port for web interface
31+
EXPOSE 8000
32+
33+
# Health check to ensure the app can start
34+
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
35+
CMD python -c "import main; print('App loads successfully')" || exit 1
36+
37+
# Use python main.py as entrypoint
38+
ENTRYPOINT ["python", "main.py"]

LICENSE

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
2+
Version 2, December 2004
3+
4+
Copyright (C) 2025 Ciprian Mandache <ciprian.51k.eu - psyb0t@51k.eu>
5+
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
6+
7+
Everyone is permitted to copy and distribute verbatim or modified
8+
copies of this license document, and changing it is allowed as long
9+
as the name is changed.
10+
11+
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
12+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
13+
14+
0. You just DO WHAT THE FUCK YOU WANT TO.

0 commit comments

Comments
 (0)