galexrt / container-staytus

adamcooke/staytus (https://staytus.co/) as a Container Image without the MySQL server.
https://staytus.co/
MIT License
20 stars 9 forks source link
container-image

container-staytus

adamcooke/staytus as a Container Image without the MySQL server.

Image available from:

Container Image Tags:

Usage

Pulling the image

From Quay.io:

docker pull quay.io/galexrt/staytus:main

Or from GHCR.io:

docker pull ghcr.io/galexrt/staytus:main

Running Staytus

For the Docker Staytus image to work, you'll need to start a MySQL server (or container). The commands below creates a network, start a MariaDB and then starts the Staytus container.

Create the separate network for Staytus and database:

docker network create staytus

Start the MariaDB database container:

docker run \
    -d \
    --name=database \
    --net=staytus \
    -e MYSQL_ROOT_PASSWORD=my-secret-pw \
    -e MYSQL_DATABASE=staytus \
    -e MYSQL_USER=staytus \
    -e MYSQL_PASSWORD=staytus \
    mariadb:10.4.4-bionic

Start the Staytus container with the environment variables pointing to the created database container.

docker run \
    -d \
    --name=staytus \
    --net=staytus \
    -p 8787:8787 \
    -e 'DB_HOST=database' \
    -e 'DB_USER=staytus' \
    -e 'DB_PASSWORD=staytus' \
    quay.io/galexrt/staytus:main

After running the commands, open 127.0.0.1:8787, YOUR_IP:8787 (or the server IP when Docker is running on a server) in your browser to run the setup for your containerized Staytus instance.

Manual configuration

If you want to manually configure Staytus, you can point a volume to /opt/staytus/staytus/config/ and put the database.yaml config in that volume yourself.

docker run \
[...]
    -e 'AUTO_CONF=false' \
    -v /opt/docker/staytus/config:/opt/staytus/staytus/config:ro \
    [...]
    quay.io/galexrt/staytus:lastest

Available Env Vars

Database Configuration

NOTE

TL;DR Create a database with CHARSET utf8mb4 and COLLATE utf8mb4_unicode_ci.

Database setup instructions here https://github.com/adamcooke/staytus#instructions

You can add the following variables as env vars to your Docker run command:

SMTP Configuration (from Staytus)

You can add the following variables as env vars to your Docker run command: