π Overview
FileCloud is a reliable web-based file management solution designed for personal servers. It offers a premium, app-like experience with a focus on aesthetics, speed, and usability. It provides modern features like drag-and-drop upload, code editing, and full internationalization (EN/BG).
β¨ Key Features
- π File Management: Create folders, delete items, and download files with ease.
- βοΈ Rename and Organize: Fix typos or restructure your files with a custom, elegant rename modal.
- π¨ Folder Customization: [NEW] Mark important folders by changing their color directly from the UI. Your choice is saved permanently!
- π Internationalization (i18n): Fully translated interface in English and Bulgarian (Π±ΡΠ»Π³Π°ΡΡΠΊΠΈ). Switch instantly.
- π Drag and Drop: Upload files by simply dragging them into the window.
-
π Built-in Editor: Edit text, code (
.js,.css,.py, etc.) and configuration files directly in the browser. - ποΈ Media Preview: View images instantly without downloading them.
- π Premium UI: Dark mode by default, smooth animations, glassmorphism effects, and rich file icons.
π οΈ Installation and Setup
Prerequisites
- Node.js (version 14 or newer)
- npm
Installation
- Clone the repository:
# Clone the repository
git clone [email protected]:fantomas4o/filecloud.git
# Navigate to the project folder
cd filecloud
- Install dependencies:
npm install
- Start the server:
npm start
- Access the application at
http://localhost:3000orhttp://ip:3000
Server Deployment (Ubuntu/Systemd)
To run FileCloud as a background service:
- Copy the project to
/opt/filecloud. - Create a systemd service file at
/etc/systemd/system/filecloud.service:
[Unit]
Description=FileCloud Service
After=network.target
[Service]
ExecStart=/usr/bin/node /opt/filecloud/server.js
WorkingDirectory=/opt/filecloud
Restart=always
User=root
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
Enable and start the service:
sudo systemctl enable filecloud
sudo systemctl start filecloud
π» Technologies
- Backend: Node.js, Express.js, Multer, FS-Extra
- Frontend: HTML5, CSS3 (Custom Properties, Flexbox/Grid), Vanilla JavaScript (ES6+)
- Icons: Google Material Icons
- Fonts: Google Fonts (One Sans)
π Features in Detail
File Operations
- Upload: Drag files directly into the browser or use the upload button
- Download: Click on any file to download it instantly
- Delete: Remove files and folders with confirmation dialogs
- Rename: Change file and folder names with a sleek modal interface
Code Editor
The built-in editor supports syntax highlighting for:
- JavaScript (
.js) - CSS (
.css) - Python (
.py) - JSON (
.json) - Text files (
.txt) - And many more...
Folder Customization
NEW Feature: You can now customize folder colors to organize your workspace visually. The color selection is persistent and saved in your browser.
Internationalization
FileCloud supports multiple languages out of the box:
- English (EN): Default interface language
- Bulgarian (BG): Fully translated Bulgarian interface
Switch languages instantly from the settings menu.
π¦ Project Structure
filecloud/
βββ public/
β βββ css/ # Stylesheets
β βββ js/ # Client-side JavaScript
β βββ uploads/ # User uploaded files
βββ views/
β βββ index.html # Main application page
βββ server.js # Express server
βββ package.json # Dependencies
βββ README.md # Documentation
π Security Considerations
FileCloud is designed for personal use on private servers. If you plan to expose it to the internet, consider:
- Implementing authentication
- Adding SSL/TLS encryption
- Setting up proper firewall rules
- Restricting file upload types and sizes
π€ Contributing
Contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
GitHub Repository: https://github.com/fantomas4o/filecloud
π License
This project is open source and available for free use.
Original article in Bulgarian: FileCloud: ΠΠΎΠ΄Π΅ΡΠ΅Π½ ΠΈ Π»Π΅ΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ
About the Author
Fedya Serafiev is the creator of ITpraktika.com β a platform dedicated to practical IT solutions and automation. With extensive experience in system optimization and web technologies, he transforms complex technical cases into clear and easy-to-follow steps. His goal is to help users build more efficient and secure digital projects through real experience and proven tools.
π If you found this article useful, consider supporting my work:
π Your support means a lot!

Top comments (0)