3 KiB
Setup
I. Dependencies
Before the actual setup, you have to satisfy the following dependencies:
System
pg_config
- Fedora/RHEL:
libpq-dev
- Fedora/RHEL:
Caddy
2.4.3+ (HTTP Reverse Proxy & Static File Server)gcc
,gettext
Python
3.9 with pipPython
header files- Fedora/RHEL:
python3-devel
- Fedora/RHEL:
Python Packages (pip)
All required python packages are listed in pip-dependencies.txt
You can install the required python packages with
./install-pip-dependencies.sh
II.A Installation
You can get the latest version with git:
git clone --branch release-x.x https://gitlab.com/W13R/drinks-manager.git
(replace x.x with the latest version)
Alternatively, you can download the latest release and extract the files to your prefered destination.
Warning:
Make shure that you set the correct file permissions, especially for the config files !!
The following should be sufficient:
chmod -R u+rw,g+r,g-w,o-rwx <drinks_manager_directory>
II.B Update
If you installed the application with git, you can run the following in the drinks-manager directory to update to the new version:
git fetch
git checkout release-x.x
(replace x.x with the new version)
If you downloaded the application from the releases page, you can download the new release in the same manner, and overwrite the old files with the new ones.
You have to restart the application server to apply the changes.
WARNING: The auto-upgrade mechanism may expect you to input information. Therefore, you should start the application from the command-line the first time after an update.
Further upgrading-instructions may be provided in the Release Notes on the Releases Page of this Project (Deployments -> Releases).
III. Database
This project is using PostgreSQL. You have to set up a database by yourself.
The database must have the schema public
(exists on a new database). Make shure that you create a database user with the necessary privileges to write to and read from the database (SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, CREATE, CONNECT):
-- connected to target database
grant SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES on all tables in schema public to <dbuser>;
grant CREATE, CONNECT on database <dbname> to <dbuser>;
You can configure your database connection in config/config.sh
.
IV. HTTPS & TLS Certificates
A TLS/SSL certificate and key is required. Filepaths:
config/tls/server.pem
for the certificateconfig/tls/server-key.pem
for the key
You can set another filepath for those files in your caddy configuration at config/Caddyfile
.
V. Configuration
see Configuration
VI. Run Setup Command
run ./run.sh setup
This will automatically set up database tables, views and entries, set up Django and let you create a admin user.
After this, start the server with ./run.sh server
and navigate to https://your.ip.add.ress:port/admin/
.