Skip to content

Latest commit

 

History

History
166 lines (130 loc) · 4.47 KB

README.md

File metadata and controls

166 lines (130 loc) · 4.47 KB
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