This is a deployment tool designed for hosting the OS2display v2 application using Docker. It provides a Docker-based setup, pre-configured files, and task automation to simplify the deployment and management of the application.
Before you begin, ensure you have the following installed on your system:
- Docker: Install Docker Engine (version 20.10 or later).
- Docker Compose: Use Docker Compose v2 (integrated with the
docker compose
command). - Task: Install the Taskfile CLI tool. You can find installation instructions here.
Make sure your user has the necessary permissions to run Docker commands (e.g., being part of the docker
group).
Run the following commands to verify that the prerequisites are installed:
# Check Docker installation
docker --version
# Check Docker Compose installation
docker compose version
# Check Taskfile CLI installation
task --version
This project can only run in secure mode using HTTPS (port 443). To ensure proper functionality, you must provide a valid domain name and an SSL certificate.
- Domain Name: Use a fully qualified domain name (FQDN) that resolves to your server's IP address.
- SSL Certificate: Provide a valid SSL certificate and private key for the domain.
- Place the certificate file (
docker.crt
) and the private key file (docker.key
) in thetraefik/ssl
directory.
- Place the certificate file (
- Update Configuration: Ensure the domain name is correctly configured in the
.env.docker.local
file.
Without a valid domain name and SSL certificate, the project will not function as expected.
The project uses a Taskfile.yml
to simplify common operations. Below is a list of the most important tasks you can run:
task install
: Installs the project, pulls Docker images, sets up the database, and initializes the environment.task reinstall
: Reinstalls the project from scratch, removing all containers, volumes, and the database.task up
: Starts the environment without altering the existing state of the containers.task down
: Stops and removes all containers and volumes.
task tenant_add
: Adds a new tenant group. A tenant is a group of users that share the same configuration.task user_add
: Adds a new user (editor or admin) to a tenant.
task load_templates
: Loads templates and screen layouts based on the configuration in.env.docker.local
.
task logs
: Follows the logs from the Docker containers.task cc
: Clears the cache in the application.
Before running task install
, ensure the following:
- Update
.env.docker.local
with your domain name (replace all 5 instances) and set secure passwords. - Place your SSL certificate files (
docker.crt
anddocker.key
) in thetraefik/ssl
directory.
For a full list of tasks, run:
task --list