Storgage Svelte Themes

Storgage

Fullstack cloud file sharing application - utilizing Svelte front end framework and a custom Go backend

Storage WebApp

A self-hosted storage web application for securely sharing files between your work and personal machines.

This project is built using:

  • Go for the backend API
  • Svelte for the frontend interface
  • Azure Blob Storage for file storage
  • An invitation-based authentication system

Features

  • Upload and access files through a clean, responsive UI
  • Admin-controlled access via invitation tokens
  • Persistent file storage with Azure Blob Storage
  • Full-stack Dockerized setup

Setup & Installation

Prerequisites


Environment Variables

Create two .env files — one in the backend/ folder and one in the frontend/ folder.

backend/.env

env PORT=8080 JWT_SECRET=your_jwt_secret

Azure Blob Storage

  • AZURE_STORAGE_ACCOUNT=your_azure_account_name
  • AZURE_STORAGE_ACCESS_KEY=your_azure_access_key
  • AZURE_STORAGE_CONTAINER=your_container_name

Admin Login

  • ADMIN_USERNAME=your_admin_username
  • ADMIN_PASSWORD=your_admin_password

PostgreSQL

  • POSTGRES_USER=your_db_username
  • POSTGRES_PASSWORD=your_db_password
  • POSTGRES_DB=cloudstorage
  • DATABASE_URL=postgres://your_db_username:your_db_password@db:5432/cloudstorage?sslmode=disable

frontend/.env

VITE_API_URL=http://localhost:8080/api

Running the app

Once your .env files are configured:

git clone https://github.com/yourusername/storage-webapp.git cd storage-webapp docker compose up --build

The frontend will be available at http://localhost:3000

The backend API will be running at http://localhost:8080/api

The PostgreSQL service will be running internally on port 5432

Top categories

Loading Svelte Themes