Files
Joshua Kirkcaldy e7b0cbdbf6
Some checks failed
Deploy Hugo site to Pages / build (push) Failing after 39s
Deploy Hugo site to Pages / deploy (push) Has been skipped
new pages
2024-11-26 17:28:08 +00:00

3.9 KiB

title, type, prev, next
title type prev next
Database Installation docs /_index docs/install

To install you will first need the database and queue manager running. Every instance of Glympse you run will need to connect to these containers.

First create your docker network. docker network create glympse_net

Then create a a directory and compose file:

mkdir /opt/glympse_database

cd /opt/glympse_database

nano /opt/glympse_database/compose.yml

Paste the following, be sure to change the passwords and any other personal details before saving.

services:
  redis:
    image: redis:alpine
    container_name: redis
    restart: always
    ports:
      - 6379:6379
    volumes:
      - /opt/glympse_database/redis_data:/data
    healthcheck:
      test:
        - CMD
        - redis-cli
        - ping
      interval: 30s
      timeout: 10s
      retries: 3
    networks:
      glympse_net: null      
  rabbitmq:
    image: rabbitmq:3.13.4-management
    container_name: rabbitmq
    volumes:
      - type: bind
        source: /opt/glympse_database/rabbitmq.conf
        target: /etc/rabbitmq/conf.d/10-defaults.conf
    ports:
      - 15672:15672
      - 5672:5672
    networks:
      glympse_net: null      
  mysql:
    image: mysql:8.0
    container_name: mysql
    environment:
      MYSQL_ROOT_PASSWORD: <root password>
      MYSQL_DATABASE: glympse
      MYSQL_USER: glympse
      MYSQL_PASSWORD: <glympse password>
    volumes:
      - /opt/glympse/mysql:/var/lib/mysql
      - type: bind
        source: /opt/glympse_database/my.cnf
        target: /etc/my.cnf
    ports:
      - 6033:6033
      - 3306:3306
    networks:
      glympse_net: null
networks:
  glympse_net:
    external: true

There are two more files that you need to create and save before running the compose file.

First is the mysql config file.

Create a file called my.cnf in the glympse_database directory: nano my.cnf and paste the following:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
connect_timeout = 600
net_read_timeout = 30
wait_timeout = 28800
interactive_timeout = 28800

pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock

!includedir /etc/mysql/conf.d/

Finally create a config file for rabbitmq: nano rabbitmq.conf and paste the following:

be sure to change the password for something secure and keep note of it as you will need it for your compose env files.

default_vhost = glympse
default_user = glympse
default_pass = <enter password>
default_permissions.configure = .*
default_permissions.read = .*
default_permissions.write = .*
default_user_tags.administrator = true
default_user_tags.management = true
default_user_tags.glympse = true
consumer_timeout = 31622400000