A simple Streamlit application to manage projects. This application allows you to:
- View existing projects and their directory structure
- Create new projects (creates a directory and initializes a git repository)
- Delete existing projects (removes the directory and all its contents)
- Docker and Docker Compose installed on your system
The simplest way to run this application is using our pre-built Docker image from GitHub Container Registry:
- Create a docker-compose.yml file:
services:
streamlit-app:
image: ghcr.io/bmj2728/pyprojman:latest
container_name: project-manager
restart: unless-stopped
ports:
# Map container port 8501 to host port 8501 (can be changed)
- "8501:8501"
volumes:
# Map local projects directory to container projects directory
- "./projects:/app/projects"-
Update the volume path in the docker-compose.yml:
- Replace
"./projects"with the actual path on your system where you want to store projects - For example:
"/home/username/projects"
- Replace
-
Start the container:
docker-compose up -d
- Access the application at http://localhost:8501
- Clone this repository:
git clone https://github.com/bmj2728/project-manager-streamlit.git
cd project-manager-streamlit
- Install the required dependencies:
pip install -r requirements.txt
- Make sure git is installed on your system (required by GitPython):
# Ubuntu/Debian
sudo apt-get install git
# CentOS/RHEL
sudo yum install git
# macOS (using Homebrew)
brew install git
# Windows
# Download from https://git-scm.com/download/win
- Run the Streamlit application:
streamlit run app.py
If you prefer to build the image yourself:
# Clone the repository
git clone https://github.com/bmj2728/project-manager-streamlit.git
cd project-manager-streamlit
# Build the image
docker build -t project-manager:latest .
# Update your docker-compose.yml to use your local image
# image: project-manager:latest
-
Open your web browser and navigate to http://localhost:8501 (or the port you configured).
-
Use the sidebar to create or delete projects.
- The main area displays all existing projects in a grid layout
- For each project, you can see its directories and files
- The
.gitdirectory is hidden from view
- Enter a project name in the sidebar
- Click "Create Project" to create a new project directory and initialize a git repository
- Select a project from the dropdown in the sidebar
- Confirm deletion by checking the confirmation box
- Click "Delete Project" to remove the selected project
app.py: Main Streamlit applicationrequirements.txt: List of required Python packagesDockerfile: Instructions for building the Docker imagedocker-compose.yml: Configuration for Docker deploymentprojects/: Directory containing all projects (created on first run)
- Python 3.7+
- Streamlit
- GitPython
- Git (system dependency)
The Docker image is available at ghcr.io/bmj2728/pyprojman:latest and includes:
- Python 3.9
- Git (required by GitPython)
- All Python dependencies specified in requirements.txt
The image uses a multi-stage build approach for smaller, more efficient containers.
This project is licensed under the MIT License - see the LICENSE file for details.