Skip to content

Fileship is an open-source and self-hosted image uploading service with cool features.

License

Notifications You must be signed in to change notification settings

hanzydev/Fileship

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fileship

Fileship is an open-source and self-hosted image uploading service with cool features.

Report Bug · Request Feature

📸 Screenshot

Screenshot

🧰 Built With

Nuxt.js Vue.js UnoCSS Prisma TypeScript Socket.io ESLint Prettier Vite

📦 Features

  • 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

🚀 Getting Started

To get started with Fileship, follow these steps:

Install & run using Docker

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

Building & running from source

This section requires Node.js 20.x or higher to be installed on your machine.

  1. Clone the repo

    git clone https://github.com/hanzydev/Fileship.git
  2. Go into the repo directory

    cd Fileship
  3. Enable Corepack

    corepack enable
  4. Install NPM packages

    pnpm i
  5. 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
  6. Build the project

    pnpm build
  7. Start the server

    pnpm preview
  8. Open your browser and go to http://localhost:3000

Default credentials

  • Username: admin
  • Password: password

Web server configuration (optional)

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";
    }
}

🔄 Updating

To update Fileship, follow these steps:

Using Docker

cd Fileship
git pull
docker compose up --build -d

From source

cd Fileship
git pull
pnpm i
pnpm build
pnpm preview

❤️ Contribute

Contributions are always welcome! Please read the contribution guidelines first.

⚖️ License

MIT

About

Fileship is an open-source and self-hosted image uploading service with cool features.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages