Skip to content

Commit

Permalink
docker instructions cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
kirill-markin committed Dec 30, 2024
1 parent 7c32b7a commit cde732c
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 33 deletions.
27 changes: 0 additions & 27 deletions DOCKER.md

This file was deleted.

30 changes: 25 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,33 @@
FROM python:3.11-slim
FROM python:3.12-slim

RUN apt-get update && apt-get install -y \
tree \
&& rm -rf /var/lib/apt/lists/*
# Set environment variables
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
PIP_NO_CACHE_DIR=1

# Create non-root user
RUN useradd -m -s /bin/bash user

# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
tree \
&& rm -rf /var/lib/apt/lists/*

WORKDIR /app

# Copy all necessary files for package installation
COPY pyproject.toml README.md ./

# Copy the package source
COPY repo_to_text ./repo_to_text

# Install the package
RUN pip install --no-cache-dir -e .

# Copy remaining files
COPY . .
RUN pip install -e . && pip install pyperclip

# Set default user
USER user

ENTRYPOINT ["repo-to-text"]
38 changes: 38 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,44 @@ You can customize the behavior of `repo-to-text` with the following options:

This will write the output directly to `myfile.txt` instead of creating a timestamped file.

## Docker Usage

### Building and Running

1. Build the container:

```bash
docker compose build
```

2. Start a shell session:

```bash
docker compose run --rm repo-to-text
```

Once in the shell, you can run `repo-to-text`:

- Process current directory:

```bash
repo-to-text
```

- Process specific directory:

```bash
repo-to-text /home/user/myproject
```

- Use with options:

```bash
repo-to-text --output-dir /home/user/output
```

The container mounts your home directory at `/home/user`, allowing access to all your projects.

## Settings

`repo-to-text` also supports configuration via a `.repo-to-text-settings.yaml` file. By default, the tool works without this file, but you can use it to customize what gets included in the final text file.
Expand Down
5 changes: 4 additions & 1 deletion docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
services:
repo-to-text:
build: .
build:
context: .
dockerfile: Dockerfile
volumes:
- ${HOME:-/home/user}:/home/user
working_dir: /home/user
environment:
- HOME=/home/user
user: "${UID:-1000}:${GID:-1000}"
init: true
entrypoint: ["/bin/bash"]

0 comments on commit cde732c

Please sign in to comment.