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 -d
Open 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_URL
which 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 -d
cd Fileship
git pull
pnpm i
pnpm build
pnpm preview
Contributions are always welcome! Please read the contribution guidelines first.