Tibula is a powerful and flexible web-based Relational Database Management System (RDBMS) that allows for dynamic table and field customization. With an intuitive web interface for data interaction and the ability to easily organize and customize your database structure.
- User-friendly web interface: Tibula provides a user-friendly web interface for easy data interaction.
- Dynamic table and field customization: Tibula allows for the flexible addition of tables and fields, giving you the ability to adapt and evolve your database structure as needed.
- Hierarchical access: Tibula allows for hierarchical access, giving you fine-grained control over who can access your data.
- Group management: Tibula includes group management features, making it easy to organize and manage access to your data.
- Extensible: Tibula efficiently manages database tables and their data, incorporating a practical Import/Export feature for smooth interchange in JSON format.
- Support for multiple databases: Tibula supports both SQLite3 and MySQL, giving you the flexibility to choose the database that best meets your needs.
To get started with Tibula, simply clone the repository and build the project using the following commands:
git clone https://github.com/eja/tibula
cd tibula
go build
./tibula --wizard
./tibula --start
Tibula will be accessible at http://localhost:35248
by default.
Tibula provides extensive command-line options to configure various aspects of its functionality. Key options include:
-
Database Configuration
- Users can specify database connection details such as hostname, port, type, name, username, and password.
Note: By default, the database type is set to
--db-host # Database hostname --db-port # Database port --db-type # Database type (sqlite/mysql) --db-name # Database name or filename --db-user # Database username --db-pass # Database password
sqlite
and the default database name istibula.db
in the current directory.
- Users can specify database connection details such as hostname, port, type, name, username, and password.
-
Language and Logging:
- Default language code and log level can be configured.
Note: The default language is set to "en" for English. The log level is set to 3 (Info) by default, providing information, errors and warnings.
--language # Default language code --log-level # Log level (1-5): Error, Warn, Info, Debug, Trace
- Default language code and log level can be configured.
-
Setup and Initialization:
- Options for initializing the database, setting up the admin user, and defining the importing path.
Note: If
--setup # Initialize the database --setup-user # Admin username --setup-pass # Admin password --setup-path # Setup files path
--setup-path
is not provided, the embedded assets will be used to import the default modules. The admin user is set toadmin
by default, you can customize it using--setup-user
.
- Options for initializing the database, setting up the admin user, and defining the importing path.
-
Web Service Configuration:
- Configuration options for starting the web service, specifying the host, port, path, and SSL/TLS certificates.
Note: By default, the host is set to
--start # Start the web service --web-host # Web listen address --web-port # Web listen port --web-path # Web path --web-tls-private # SSL/TLS private certificate --web-tls-public # SSL/TLS public certificate
localhost
and the port is set to35248
. If both TLS options are provided, the web service will default tohttps
. If--web-path
is not provided, the embedded assets will be used instead.
- Configuration options for starting the web service, specifying the host, port, path, and SSL/TLS certificates.
-
Wizard Option:
- The
--wizard
option guides you through a step-by-step setup configuration.--wizard # Use the wizard for step-by-step setup configuration
- The
-
General Options:
- The
-help
option provides a summary of available command-line options.--help # Show this message
- The
-
Users can also pass command-line options using a JSON file.
- Create a JSON file with parameters and use
--config
to specify it.--config # Specify a JSON config file
- Create a JSON file with parameters and use
-
Note: Replace '-' with '_' and remove '--' for each command option when using JSON configuration.
Tibula is released under the GPL-3.0.