Fileship is an open-source and self-hosted image uploading service with cool features.
Report Bug
Β·
Request Feature
- Fast & Secure
- Self-hosted
- Easy to use
- Vibrant themes
- Auto-generated statistics
- OpenGraph embeds
- Folder support
- Note taking
- Code sharing
- URL shortening
- Image compression
- Custom domains
- Multi-factor authentication
- Multi-user support with roles
- Real-time updates with Socket.IO
- Backup creation and restoration
- Password protected files, urls and codes
- Delete files, urls and codes after a certain number of views
To get started with Fileship, follow these steps:
This section requires Docker and Docker Compose to be installed on your machine.
git clone https://github.com/hanzydev/Fileship.git
cd Fileship
docker compose up -dOpen your browser and go to http://localhost:3000
This section requires Node.js 20.x or higher to be installed on your machine.
-
Clone the repo
git clone https://github.com/hanzydev/Fileship.git
-
Go into the repo directory
cd Fileship -
Enable Corepack
corepack enable -
Install NPM packages
pnpm i
-
Create an .env file using .env.example. The only one required is the
DATABASE_URLwhich is the connection string to your database.cp .env.example .env
-
Build the project
pnpm build
-
Start the server
pnpm preview
-
Open your browser and go to
http://localhost:3000
- Username:
admin - Password:
password
This section requires Nginx to be installed on your machine.
server {
listen 80;
server_name <domain>;
client_max_body_size 100M;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:3000;
}
location /socket.io/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}To update Fileship, follow these steps:
cd Fileship
git pull
docker compose up --build -dcd Fileship
git pull
pnpm i
pnpm build
pnpm previewContributions are always welcome! Please read the contribution guidelines first.