FileShelter is an open-source self-hosted file upload service that allows you to share large files with ease. In this tutorial, we will guide you through the steps to install FileShelter on Arch Linux.
Before installing FileShelter, make sure you have the following prerequisites installed on your Arch Linux system:
You can install Git, Docker, and Docker Compose by running the following command:
sudo pacman -S git docker docker-compose sqlite sqlitebrowser
The first step to installing FileShelter is to clone the repository from GitHub. Open a terminal and enter the following command:
git clone https://github.com/epoupon/fileshelter.git
This will create a new directory named fileshelter
in your current working directory.
Navigate to the newly created directory:
cd fileshelter
FileShelter uses environment variables to configure its settings. You will need to create an environment file to set these variables. Copy the sample environment file:
cp env.sample .env
Edit the .env
file in your preferred text editor to provide your own values for the following variables:
FILESHELTER_SECRET_KEY
- A secret key used to sign and verify cookies. You can generate a new secret key by running the following command:openssl rand -hex 32
FILESHELTER_ALLOWED_HOSTS
- A comma-separated list of hostnames that the server can serve. Set it to "*"
for public access.
FILESHELTER_DB_URI
- The URI for the SQLite database. You can set it to the default sqlite:///fileshelter.sqlite
.
Once you've set up the environment variables, use Docker Compose to build and run the container:
docker-compose up -d --build
This will pull the necessary images and build the FileShelter container. The -d
flag runs the container in detached mode, which means it will continue to run even after you close the terminal.
By default, FileShelter listens on port 8080 inside the container. If you want to access FileShelter using a domain name or reverse proxy, you need to set up an NGINX reverse proxy.
Create a new NGINX server block configuration:
sudo nano /etc/nginx/conf.d/fileshelter.conf
Add the following configuration:
server {
listen 80;
server_name fileshelter.example.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Replace fileshelter.example.com
with your own domain name or IP address. Save and close the file.
Test the NGINX configuration:
sudo nginx -t
If there are no errors, reload NGINX:
sudo systemctl reload nginx
You should now be able to access FileShelter by visiting the domain name or IP address you've set up.
By default, FileShelter doesn't have any user accounts. To create an admin user, run the following command:
docker-compose exec web python manage.py createsuperuser
Enter a username, email address, and password for the admin account.
You can now log in to FileShelter with the admin account by visiting the /admin
URL.
Congratulations! You have now installed FileShelter on Arch Linux. You can start uploading and sharing large files with ease. If you encounter any issues or errors during the installation process, consult the official documentation for troubleshooting tips.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!