Serfile is a lightweight web server designed for simple file hosting and browsing. It provides a minimalist web-based user interface and API for navigating folders and accessing files.
- 🚀 Easy installation and setup.
- 📁 Web-based UI for browsing and managing files.
- ✏️ Integrated editor for editing code and text files.
- ⚙️ Two deployment options: Python environment or Docker.
- 📜 MIT licensed - use, modify, and distribute with ease.
-
Clone the repository:
git clone https://github.com/Krosseye/Serfile.git cd Serfile
-
Create a Python virtual environment and activate it:
python3 -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Configure the server by editing
config.json
as needed. -
Run the application:
python run.py
-
Access the Serfile UI by opening a web browser and navigating to
http://localhost:8080
or your specified port.
-
Clone the repository:
git clone https://github.com/Krosseye/Serfile.git cd Serfile
-
Configure the server by editing the
docker-compose.yml
file as needed. -
Build and start the Docker containers:
docker-compose up -d
-
Access the Serfile UI by opening a web browser and navigating to
http://localhost:8080
or your specified port.
Modify the config.json
file to customize settings.
{
"port": 8080,
"host": "0.0.0.0",
"title": "Serfile",
"rootName": "home",
"environment": "prod"
}
Environment options are prod
/production
or dev
/develop
Edit the docker-compose.yml
file to adjust settings.
version: "3"
services:
web:
build:
context: .
dockerfile: Dockerfile
container_name: serfile
ports:
- "8080:8080"
volumes:
- /path/to/serve:/app/app/static/home # Make sure to modify `/path/to/serve`
restart: unless-stopped
- Frequent Updates and Changes: The Serfile project is actively under development, there will be frequent updates and changes to its codebase, features, and functionality.
- Incomplete Features: Some features may not work as expected or may be incomplete. We are continuously working to improve and expand the capabilities of Serfile.
- Everything is Subject to Change: Expect that everything, including APIs, configurations, and user interfaces, is subject to change as we refine and enhance the project.
- Not Recommended for Production: At this stage, Serfile is not recommended for production use. It is intended primarily for testing, experimentation, and feedback purposes. Use in a production environment is discouraged.
📃 Serfile is distributed under the MIT License. For more details, see the LICENSE file.
💬 Feel free to contribute, report issues, or suggest improvements by creating a pull request or opening an issue on the GitHub repository. Your feedback is greatly appreciated!