Skip to content

skyface753/SkyManager

Repository files navigation

GitHub - Build Docker Backend Build Status Docker Frontend Build Status

Titelbild

Table of contents

πŸ”§ Setup

Simple Setup

  1. Create docker-compose.yml file from below or Clone the Repo
  2. Change the environment variables in the docker-compose.yml file:
    1. MYSQL_PASSWORD (skymanager-backend and db-service)
    2. MASTERKEY (Don't change after first use)
    3. MYSQL_ROOT_PASSWORD (in db Service and the Healthcheck)
  3. Run docker-compose up -d
version: "3.2"
services:
  skymanager-backend:
    image: skyface753/skymanager
    ports:
      - 8080:80
    volumes:
      - ./uploads:/usr/src/app/uploads # Persistent Storage
    environment:
      DB_HOST: db-service                     
      MYSQL_USER: dbUser
      MYSQL_DATABASE: dbName
      MYSQL_PASSWORD: dbPass # ChangeME
      MASTER_KEY: MasterKey # ChangeME
    restart: always
    depends_on:
      db-service:
        condition: service_healthy

  skymanager-web:
    image: skyface753/skymanager-web
    ports:
      - 80:80
    
  db-service:
    image: mariadb
    restart: always
    volumes:
      - ./DB-Data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: ROOTMYSQL # ChangeME
      MYSQL_DATABASE: dbName
      MYSQL_USER: dbUser
      MYSQL_PASSWORD: dbPass # ChangeME
    healthcheck:
      test: ["CMD", "mysqladmin", "-uroot" , "-pROOTMYSQL" ,"ping", "-h", "localhost"]
      timeout: 5s
      retries: 10

1️⃣ First Login

URL: http://localhost:8080
Username: admin
Password: SkyManager

πŸ”’ SSL Setup

If you want to use SSL, you need to use an official SSL certificate. (Self-Signed Certificates are not allowed by Frontend)

  1. Copy the certificate and key into a folder like /ssl-certs
  2. Add Volume to docker-compose.yml:
    • ./ssl-certs:/usr/src/app/sslcert
  3. Add these environment variables in the docker-compose.yml file:
    1. SSL_CERT -> <Name of the certificate file.cert>
    2. SSL_KEY -> <Name of the key file.key>

πŸ‘‘ Environment Variables

SkyManager-Backend

Required Variable Default Description
Yes DB_HOST Hostname of the Database
Yes DB_USER Username of the Database
Yes DB_PASSWORD Password of the Database
Yes DB_NAME Name of the Database
Yes MASTER_KEY Key to Encyrpt the Customer-Passwords
No SMTP_HOST Hostname of the SMTP Server
No SMTP_PORT Port of the SMTP Server
No SMTP_USER Username of the SMTP Server
No SMTP_PASSWORD Password of the SMTP Server
No SMTP_SECURE false Use SSL for the SMTP Server
No SMTP_SENDER SMTP_USER Email-Address of the Sender
No IMAP_USER Username of the IMAP Server
No IMAP_PASSWORD Password of the IMAP Server
No IMAP_HOST Hostname of the IMAP Server
No IMAP_PORT Port of the IMAP Server
No IMAP_TLS false Use SSL for the IMAP Server
No FRONTEND_URL URL to the Frontend for Send-Mailer
No SSL_KEY Name of the SSL-Key-File
No SSL_CERT Name of the SSL-Cert-File

SkyManager-Frontend

Required Variable Default Description
No BACKEND_URL URL to the Backend for Autofill

Encryption

MASTER_KEY to encrypt the password of the customers. DONT REPLACE THIS KEY WHEN ALREADY SET.

βš’οΈ Development

πŸͺ² Debug

  1. Clone the Repo
  2. Run docker-compose -f docker-compose-debug.yml up -d --build

🏹 Build for Prod MultiArch

Backend

docker buildx build --push --platform linux/arm/v7,linux/arm64/v8,linux/amd64 -t skyface753/skymanager ./SkyManager-Backend

Frontend

docker buildx build --push --platform linux/arm/v7,linux/arm64/v8,linux/amd64 -t skyface753/skymanager-frontend ./skymanager_flutter

▢️ DEMO

Check out the Demo It recreates itself every 10 minutes.

User: admin

Password: SkyManager

home|home home|home

πŸ’¬ Feedback

Provide your feedback in the App (and Frontend) or create an Issue on Github

πŸ’Ώ Persistent Data

SkyManager-Backend:

/usr/src/app/uploads
/usr/src/app/sslcert

πŸ‘¨β€πŸ’» Privacy Policy

πŸ“š License

πŸ“± App

Android IOS
Get it on Google Play