# OpenGist with MariaDB Configuration services: # MariaDB Database Service opengist_db: # Basic container configuration container_name: opengist_db image: docker.io/library/mariadb:11.8.2 restart: unless-stopped # Database performance tuning command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed # Database credentials environment: - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} # Root password - MYSQL_USER=${MYSQL_USER} # Application username - MYSQL_PASSWORD=${MYSQL_PASSWORD} # Application password - MYSQL_DATABASE=${MYSQL_DATABASE} # Database name # Persistent storage configuration volumes: - ${APPDATA_PATH}/opengist/db:/var/lib/mysql # Database files # Network configuration ports: - ${DB_PORT}:3306 # MariaDB port # Health monitoring healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 10s # Check frequency timeout: 5s # Timeout duration retries: 3 # Retry attempts start_period: 10s # Initial delay # OpenGist Application Service opengist_server: # Basic container configuration container_name: opengist_server image: ghcr.io/thomiceli/opengist:1.10.0 restart: unless-stopped # Service dependencies depends_on: opengist_db: condition: service_healthy # Wait for healthy database # Runtime configuration environment: # User and group IDs for file permissions - UID=${UID} # User ID for file permissions - GID=${GID} # Group ID for file permissions # Database connection - OG_DB_URI=mysql://${MYSQL_USER}:${MYSQL_PASSWORD}@opengist_db:3306/${MYSQL_DATABASE} # MariaDB connection string # Application settings - OG_EXTERNAL_URL=${OG_EXTERNAL_URL} # Public URL for OpenGist - OG_SECRET_KEY=${OG_SECRET_KEY} # Encryption key for sessions # Git protocol configuration - OG_HTTP_GIT_ENABLED=${OG_HTTP_GIT_ENABLED} # Enable HTTP Git access - OG_SSH_GIT_ENABLED=${OG_SSH_GIT_ENABLED} # Enable SSH Git access # Gitea integration - OG_GITEA_CLIENT_KEY=${OG_GITEA_CLIENT_KEY} # OAuth client key - OG_GITEA_SECRET=${OG_GITEA_SECRET} # OAuth secret - OG_GITEA_URL=${OG_GITEA_URL} # Gitea instance URL - OG_GITEA_NAME=${OG_GITEA_NAME} # Gitea application name # Customization - OG_CUSTOM_STATIC_LINK_0_NAME=${OG_CUSTOM_STATIC_LINK_0_NAME} # Custom link name - OG_CUSTOM_STATIC_LINK_0_PATH=${OG_CUSTOM_STATIC_LINK_0_PATH} # Custom link path # Persistent storage configuration volumes: - ${APPDATA_PATH}/opengist/data:/opengist # Network configuration ports: - ${SERVER_PORT}:6157 # Web interface port - 2222:2222 # SSH port for Git operations