Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
066b430
LIVE MINTING:
marctheshark3 Oct 8, 2024
208ee99
update
marctheshark3 Oct 9, 2024
db20f9c
MD update to dash
marctheshark3 Oct 9, 2024
85c2af9
participation and pendingshares update
marctheshark3 Oct 9, 2024
3c342bc
participation and pendingshares update
marctheshark3 Oct 10, 2024
34be16e
ready freddy
marctheshark3 Nov 10, 2024
58d4e45
mint dash
marctheshark3 Nov 10, 2024
68e8cc0
update script
marctheshark3 Nov 10, 2024
b66d6bb
ssl
marctheshark3 Nov 10, 2024
8450859
ssl
marctheshark3 Nov 11, 2024
38780ea
SEASON 1
marctheshark3 Nov 11, 2024
ab88490
FAQS
marctheshark3 Nov 11, 2024
e299d21
updateZ
marctheshark3 Dec 6, 2024
677b825
finalized DASH
marctheshark3 Dec 7, 2024
e75810e
ready to test deployments
marctheshark3 Dec 10, 2024
4d00f94
prod ready conf
marctheshark3 Dec 10, 2024
f22febb
prod ready conf
marctheshark3 Dec 10, 2024
20b5eac
go
marctheshark3 Dec 10, 2024
0cd94fc
go
marctheshark3 Dec 10, 2024
66f3f97
Enhance application security, performance, and deployment configuration
marctheshark3 Feb 20, 2025
c8b7439
Refactor configuration and path handling for improved compatibility
marctheshark3 Feb 20, 2025
f9b1678
Streamline Docker and application configuration for production deploy…
marctheshark3 Feb 20, 2025
a717dd8
Update Redis port configuration in docker-compose
marctheshark3 Feb 20, 2025
4878c2f
Refactor application initialization and Redis integration
marctheshark3 Feb 24, 2025
31b8ea5
Enhance application security, rate limiting, and frontend configuration
marctheshark3 Feb 24, 2025
9d0d262
Add npm build step to Dockerfile
marctheshark3 Feb 24, 2025
0f0df78
Add domain and SSL configuration support for production deployment
marctheshark3 Feb 24, 2025
83e2240
Minor Dockerfile whitespace adjustment
marctheshark3 Feb 24, 2025
93e871c
ready to test on server
marctheshark3 Feb 24, 2025
ac794d3
ready to test on server
marctheshark3 Feb 24, 2025
c128978
testing on server with nginx
marctheshark3 Feb 24, 2025
60012cd
testing on server with nginx
marctheshark3 Feb 24, 2025
998a7e9
testing on server with nginx
marctheshark3 Feb 24, 2025
98a269c
testing on server with nginx
marctheshark3 Feb 24, 2025
9941151
Update BASE_URL configuration for local and server environments
marctheshark3 Feb 24, 2025
5984d98
Enhance Miner ID Minter URL Generation and Routing
marctheshark3 Feb 24, 2025
18906aa
Refactor Miner ID Minter UI and Routing
marctheshark3 Feb 24, 2025
d38963e
Implement Dynamic Miner ID Minter URL Generation
marctheshark3 Feb 24, 2025
c464a2d
Update Miner ID Minter URL Configuration with Explicit Port
marctheshark3 Feb 24, 2025
b0c8cb3
Add Minting Service URL Configuration to Environment Variables
marctheshark3 Feb 24, 2025
12f5d4d
Migrate from Dash to Flask for Frontend Serving
marctheshark3 Feb 24, 2025
02a8787
Refactor Dockerfile for React Frontend Deployment
marctheshark3 Feb 24, 2025
f8f0e77
testing on server with nginx
marctheshark3 Feb 24, 2025
326ae8a
Update Configuration and Deployment for Minting Service
marctheshark3 Feb 24, 2025
e1ddfe9
Add .env to .gitignore for secure environment variable management
marctheshark3 Feb 24, 2025
5d211d3
Add .env to .gitignore for secure environment variable management
marctheshark3 Feb 24, 2025
1d38a4c
Enhance Minting Service Configuration and Cross-Origin Support
marctheshark3 Feb 24, 2025
ace43e5
Configure Miner ID Minter for Subpath Deployment
marctheshark3 Feb 24, 2025
59ba1d5
Remove Payout Encryption Logic from Create Component
marctheshark3 Feb 24, 2025
7a0126d
Implement Dark Mode and Responsive Design for Miner ID Minter
marctheshark3 Feb 25, 2025
f1723a2
Enhance Sigma Bytes NFT and Voucher Token Minting Logic
marctheshark3 Feb 25, 2025
d7860d3
Improve Wallet Connection and Token Verification in Create Component
marctheshark3 Feb 25, 2025
7d21f2e
Remove Burn Tokens Tab and Component from App
marctheshark3 Feb 25, 2025
b723f14
[200~Improve Minimum Payout Input Handling in Create Component
marctheshark3 Feb 25, 2025
e19aad7
Configure HTTPS and SSL for Nginx with Let's Encrypt
marctheshark3 Feb 25, 2025
c1fce4d
Simplify SSL and Nginx Configuration
marctheshark3 Feb 25, 2025
9d1670e
Improve Wallet Balance and Token Retrieval Utilities
marctheshark3 Feb 26, 2025
1c6dee8
Update .env.example and docker-compose with database and payment upda…
marctheshark3 Feb 26, 2025
2805106
Remove deprecated shark_api_old.py utility module
marctheshark3 Feb 26, 2025
79833d0
git push
marctheshark3 Feb 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
.git
.gitignore
.env
__pycache__
*.pyc
*.pyo
*.pyd
.Python
env/
venv/
.venv/
pip-log.txt
pip-delete-this-directory.txt
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.log
.pytest_cache/
.ipynb_checkpoints
.DS_Store
node_modules/
off-chain/node_modules/
off-chain/node_modules/**/*
off-chain/.cache/
off-chain/build/
.virtual_documents/
flask_session/
*.egg-info/
dist/
build/
**/.cache/
**/node_modules/
22 changes: 22 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Flask Configuration
FLASK_APP=app.py
FLASK_ENV=production
SECRET_KEY=your_secure_secret_key_here

# Redis Configuration
REDIS_URL=redis://redis:6379

# Security Configuration
ALLOWED_ORIGINS=http://localhost:8050,https://yourdomain.com

# Optional: Sentry Configuration (if using)
# SENTRY_DSN=your_sentry_dsn_here

# Docker Settings
TAG=latest

# Monitoring
SENTRY_DSN=your_sentry_dsn_here

# Add your sensitive configuration here and copy this file to .env
# DO NOT commit the actual .env file to version control
35 changes: 35 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Application Settings
SECRET_KEY=your_secret_key_here
FLASK_ENV=production
ALLOWED_ORIGINS=*

# Docker Settings
TAG=latest

# Monitoring
SENTRY_DSN=your_sentry_dsn_here

# Domain Configuration
DOMAIN_NAME=localhost
ENABLE_HTTPS=false
# Base URL for the application (used for generating links)
BASE_URL=http://localhost

# SSL Configuration (for production)
EMAIL_FOR_SSL=your_email@example.com # Required for Let's Encrypt notifications

# Minting Service Configuration
# For local development: http://localhost:3000
# For production with your own domain: https://yourdomain.com/miner-id-minter
# For production with ergominers.com: http://ergominers.com/miner-id-minter
MINTING_SERVICE_URL=http://localhost:3000

# Database Configuration
POSTGRES_DB=miningcore
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your_secure_password_here
POSTGRES_HOST=your_db_host
POSTGRES_PORT=5432

# Add your sensitive configuration here and copy this file to .env
# DO NOT commit the actual .env file to version control
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@
*_files/
*venv
**__pycache__/
# Environment variables
.env
39 changes: 25 additions & 14 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,38 @@ FROM python:3.9
# Set the working directory in the container
WORKDIR /app

# Copy the current directory contents into the container
COPY . /app
# Install system dependencies
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*

# Install cron and Python dependencies
RUN pip3 install -r /app/requirements.txt
# Create necessary directories with proper permissions
RUN mkdir -p /app/flask_session && \
chmod 777 /app/flask_session

# Setup cron jobs
# COPY utils/crontab_updates /etc/cron.d/crontab_updates
# RUN chmod 0644 /etc/cron.d/crontab_updates && \
# crontab /etc/cron.d/crontab_updates && \
# touch /var/log/cron.log
# Copy requirements first to leverage Docker cache
COPY requirements.txt /app/
RUN pip3 install -r requirements.txt

# Make the entrypoint script executable and set it as the entrypoint
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
# Copy the application code
COPY . /app/

# Create symbolic link for conf directory
RUN mkdir -p /app/utils && ln -s /app/conf /app/utils/conf

# Make the entrypoint script executable
COPY entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/entrypoint.sh

# Make port 8050 available to the world outside this container
# Create a non-root user and switch to it
RUN useradd -m appuser && \
chown -R appuser:appuser /app
USER appuser

# Make port 8050 available
EXPOSE 8050

# Define environment variable
ENV FLASK_APP app.py
ENV FLASK_APP=app.py
ENV PYTHONPATH=/app

# Command to run the application and cron jobs
# Command to run the application
CMD ["entrypoint.sh"]
21 changes: 21 additions & 0 deletions Dockerfile.payment-updater
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
FROM python:3.9-slim

WORKDIR /app

# Install system dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
gcc \
python3-dev \
libpq-dev \
&& rm -rf /var/lib/apt/lists/*

# Copy only the requirements first to leverage Docker cache
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# Copy the rest of the application
COPY . .

# Run the payment threshold updater
CMD ["python", "-m", "utils.update_payment_thresholds"]
169 changes: 127 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,151 @@
# Sigmanauts Mining Pool
# Sigmanauts Mining Pool Dashboard

[![Telegram Group](https://img.shields.io/badge/Telegram-Join%20Chat-blue.svg)](https://t.me/sig_mining)

A comprehensive dashboard for monitoring and managing your Ergo mining operations through the Sigmanauts Mining Pool.

## 📋 Table of Contents
- [Features](#features)
- [Quick Start](#quick-start)
- [Installation](#installation)
- [Pool Connection Guide](#pool-connection-guide)
- [Domain and SSL Configuration](#domain-and-ssl-configuration)
- [Contributing](#contributing)
- [Support](#support)

## ✨ Features
- Real-time mining statistics and monitoring
- User-friendly dashboard interface
- Secure pool connection options
- Support for multiple mining software
- Automatic SSL certificate management
- Docker-based deployment

## 🚀 Quick Start

1. Start the dashboard:
```bash
docker compose up -d
```

## Telegram Group
[Join our Telegram group!](https://t.me/sig_mining)
2. Access the dashboard at: http://localhost:8050/
3. Enter your wallet address in the input tab

## 💻 Installation

## UI Configuration
Enter you Wallet Address in the input tab when you start up the dashboard
### Prerequisites
- Docker and Docker Compose
- Git (for development)

## UI Operation
```
# USING LATEST DOCKER IMAGE FROM GIT
docker compose down # Stops the UI
docker compose pull # pulls the latest docker image
docker compose up -d # Runs the UI
### Using Pre-built Docker Image
```bash
# Stop any running instance
docker compose down

# Pull latest version
docker compose pull

# ALTERNATIVELY YOU CAN BUILD IT YOURSELF
git pull # ensure you have latest files from git
docker compose up --build
# Start the dashboard
docker compose up -d
```

In a web browser you can navigate to: http://localhost:8050/
### Building from Source
```bash
# Clone the repository
git clone [repository-url]

# Navigate to project directory
cd sigma-dashboard

## How to Connect to the Sigmanaut Mining Pool
# Build and start
docker compose up --build -d
```

### Choose a PORT
## 🔗 Pool Connection Guide

Based on your hashrate and TLS specificity choose the port that is right for you.
### Available Ports

- Port 3052 - Lower than 10GH/s - No TLS
- Port 3053 - Higher than 10GH/s - No TLS
- Port 3054 - Lower than 10GH/s - TLS
- Port 3055 - Higher than 10GH/s - TLS
Choose the appropriate port based on your hashrate and TLS requirements:

POOL URL:
15.204.211.130
| Port | Hashrate | TLS | Description |
|------|----------|-----|-------------|
| 3052 | < 10GH/s | No | Standard connection |
| 3053 | > 10GH/s | No | High-performance connection |
| 3054 | < 10GH/s | Yes | Secure standard connection |
| 3055 | > 10GH/s | Yes | Secure high-performance connection |

### HIVEOS - Assuming Port 3052
1. Create a New Flight Sheet
2. Pool set to configure in miner
3. Set "POOL URL" to 15.204.211.130:3052
**Pool URL:** 65.108.57.232

### Mining Software Configuration

### MMPOS - Assuming Port 3052
1. Create a new pool in Management
2. In Hostname enter the URL: 15.204.211.130
3. Port: 3052
#### HiveOS
1. Create a new Flight Sheet
2. Set Pool to "configure in miner"
3. Set Pool URL: `65.108.57.232:3052` (adjust port as needed)

### Linux OR Windows - Assuming Port 3052
1. edit the .sh file for the specific miner, in this case lolminer
2. in the pool argument enter the full url with port of choice
```
POOL=15.204.211.130:3052
#### MMPOS
1. Navigate to Management and create a new pool
2. Hostname: `65.108.57.232`
3. Port: `3052` (adjust as needed)

#### Linux/Windows (lolMiner Example)
```bash
POOL=65.108.57.232:3052
WALLET=your_wallet_address

./lolMiner --algo AUTOLYKOS2 --pool $POOL --user $WALLET $@
while [ $? -eq 42 ]; do
sleep 10s
./lolMiner --algo AUTOLYKOS2 --pool $POOL --user $WALLET $@
sleep 10s
./lolMiner --algo AUTOLYKOS2 --pool $POOL --user $WALLET $@
done
```

### Tip
If you find this tool helpful and wish to support its development, feel free to leave a tip! Your support is greatly appreciated and helps ensure continued improvements and updates. Thank you for considering!
## 🔒 Domain and SSL Configuration

### Environment Setup
Create a `.env` file with:
```env
# Domain Configuration
DOMAIN_NAME=localhost # Or your domain (e.g., ergominers.com)
ENABLE_HTTPS=false # Set true for production
EMAIL_FOR_SSL=your-email@example.com # For Let's Encrypt
```

### Development Environment
```env
DOMAIN_NAME=localhost
ENABLE_HTTPS=false
```

### Production Environment
1. Update `.env`:
```env
DOMAIN_NAME=your-domain.com
ENABLE_HTTPS=true
EMAIL_FOR_SSL=your-email@example.com
```

2. Configure DNS for your domain
3. Initialize SSL:
```bash
docker-compose exec nginx /scripts/init-ssl.sh
```

### SSL Certificate Management
- Automatic certificate management via Certbot
- 90-day certificates with automatic renewal
- Renewal checks every 12 hours
- Certificates stored in `certbot_conf` Docker volume

## 👥 Contributing
We welcome contributions! Please feel free to submit pull requests.

## 💝 Support

If you find this tool helpful, consider supporting its development:

ERGO ADDRESS: `9f2nrcC2NHsx96RmN52g3GVV3kXkZQPkNG8M6SVpSRqdmaxVtGv`

## 📞 Contact

ERGO ADDRESS: 9f2nrcC2NHsx96RmN52g3GVV3kXkZQPkNG8M6SVpSRqdmaxVtGv
Join our [Telegram group](https://t.me/sig_mining) for support and updates!
Loading
Loading