Skip to content

Docker Self-hosted installation #292

@mmojadad

Description

@mmojadad

Hello
Since MySQL was already installed on my machine for another purpose, and port 3000 was also occupied,
I tried to run a containerized version of MySQL and also run SMS Gateway for Android on port 3001. Additionally, I'm using Nginx as a reverse proxy for my desired domain.
The result I got is that the project successfully runs on my domain without any errors, but all I see is a black page that says "Not Found".
I would be really grateful if you could help me solve this issue.
I'm using exactly the following two files: config.yml and docker-compose.yml [as shown below].

-----------config.yml ---------

gateway:
  mode: private
  private_token: 431539910

http:
  listen: 0.0.0.0:3001
  proxies:
    - "127.0.0.1"
  api:
    host:
    path: /api
  openapi:
    enabled: false

fcm:
  credentials_json: "{}"
  timeout_seconds: 1
  debounce_seconds: 5

sse:
  keep_alive_period_seconds: 15

messages:
  cache_ttl_seconds: 300
  hashing_interval_seconds: 60

cache:
  url: memory://

pubsub:
  url: memory://

## Worker Config ##
tasks:
  messages_hashing:
    interval: 168h
  messages_cleanup:
    interval: 24h
    max_age: 720h
  devices_cleanup:
    interval: 24h
    max_age: 8760h

database:
  host: mysql
  port: 3306
  user: smsgateway
  password: he8rlcobltro
  database: sms
  timezone: Asia/Tehran
  debug: false
  max_open_conns: 10
  max_idle_conns: 5

logging:
  level: info

------------- docker-compose.yml ----------

version: '3.9'

services:
  mysql:
    image: mysql:8.0
    container_name: sms-gateway-mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: fuyltratith3
      MYSQL_DATABASE: sms
      MYSQL_USER: smsgateway
      MYSQL_PASSWORD: he8rlcobltro
    ports:
      - "3307:3306"
    volumes:
      - mysql-data:/var/lib/mysql
    command: --default-authentication-plugin=mysql_native_password
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p$$MYSQL_ROOT_PASSWORD"]
      interval: 5s
      timeout: 5s
      retries: 20
      start_period: 10s

  app:
    image: ghcr.io/android-sms-gateway/server:latest
    container_name: sms-gateway-app
    restart: unless-stopped
    depends_on:
      mysql:
        condition: service_healthy
    ports:
      - "3001:3001"
    volumes:
      - ./config.yml:/app/config.yml:ro
    environment:
      - CONFIG_PATH=/app/config.yml
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3001/health"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 15s

volumes:
  mysql-data:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions