Fast, secure web interface for inspecting and editing SQLite databases on remote servers
528
The primary objective of this project is to provide a secure and easy-to-use web-based interface for accessing and managing SQLite databases remotely on servers. It aims to offer a convenient way to view, query, and modify data within SQLite files through a user-friendly interface, adding a layer of security for remote access.
This project was created to simplify the interaction with SQLite databases in remote server environments where traditional database management tools might be inconvenient or unavailable. It provides a quick, secure, and easy way for developers and users to inspect and manipulate SQLite data directly from a web browser, minimizing the need for direct server access or complex setups.
This project is built using the following technologies:
The backend logic for interacting with the SQLite database is handled directly within Astro API routes.
Clone the repository:
git clone <repository_url>
cd sqlite-panel
Install dependencies:
npm install
or
yarn install
Set up environment variables:
Create a .env file in the root of the project. You can copy the example file envs/prod.example.env as a starting point and configure your settings, such as the path to your SQLite database file and any security credentials.
Run the development server:
npm run dev
The application should now be running at http://localhost:4321.
This project is designed to be deployed using Docker and Docker Compose.
You have two options, downloading directly from docker hub or building the image yourself.
Pull the Docker image:
docker pull fernaper/sqlite-panel
Set up production environment variables:
Ensure your envs/prod.env file is correctly configured with production settings.
Run with Docker Compose:
docker-compose up -d
This will start the application container.
Take into account that you will need to change the volume path in the docker-compose.yml file to point to your SQLite database file. The default path is set to ./data, but you should change it to the actual path of your SQLite database file.
If you prefer to build the Docker image yourself, follow these steps:
Build the Docker image:
docker build -t sqlite-panel .
Set up production environment variables:
Ensure your envs/prod.env file is correctly configured with production settings.
Run with Docker Compose:
docker-compose up -d
This will start the application container.
Take into account that you will need to change the volume path in the docker-compose.yml file to point to your SQLite database file. The default path is set to ./data, but you should change it to the actual path of your SQLite database file.
Security Note: For enhanced security, it is recommended not to expose the container's port directly to the host network or public internet. Instead, consider using on-demand port-forwarding to access the web interface securely from your local machine. A convenient tool for Linux-based systems for this purpose is forward, which allows forwarding ports from a remote server or Docker container to your localhost via SSH.
This application includes an optional feature to generate SQL queries from natural language input, powered by Google Gemini. To enable this, you will need to configure the necessary API keys in your environment variables.
Contributions are welcome! If you'd like to contribute, please fork the repository and submit a pull request. We are especially interested in contributions that add support for integrating with other Large Language Models (LLMs) for the natural language query generation feature.
This project is licensed under the SQLite Panel Internal Use License v1.0.
Public forks are allowed but must include a direct link to this official repository
Commercial use requires a separate agreement. See the LICENSE file for more details.
You can use the software for personal or commercial purposes, but you cannot sell it or use it as a service without a separate agreement.
Content type
Image
Digest
sha256:2e047dbe5…
Size
463 MB
Last updated
over 1 year ago
docker pull fernaperg/sqlite-panel