Sign inSign up

qubixds/melinky

By qubixds

Updated 4 months ago

Image
0

4.7K

qubixds/melinky repository overview

Melinky Web App.

Requirements
  • shlink
  • redis
  • postgres
Example Dev Setup

Start the app

docker compose up -d

services:
  melinky:
    image: qubixds/melinky-app:latest
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8081:8080
    volumes:
      - ./melinky-app:/app
      - ./pyproject.toml:/app/pyproject.toml
    environment:
      - PUID=1000
      - PGID=1000
      - STORAGE_SECRET=${MELINKY_STORAGE_SECRET:?err}
    env_file:
      - .env

    depends_on:
      db:
        condition: service_healthy
      redis-cache:
        condition: service_healthy

  db:
    image: postgres:17
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=${DB_USER:?err}
      - POSTGRES_PASSWORD=${DB_PASSWORD:?err}
    volumes:
      - postgres_data:/var/lib/postgresql/data
      - ./init-databases.sql:/docker-entrypoint-initdb.d/init-databases.sql
    ports:
      - ${DB_PORT:?err}:5432

    healthcheck:
      test:
        [
          "CMD-SHELL",
          "pg_isready -U ${DB_USER} -d shlink && pg_isready -U ${DB_USER} -d melinky"
        ]
      interval: 5s
      timeout: 5s
      retries: 5

  redis-cache:
    image: redis:8.0.2-alpine
    ports:
      - ${REDIS_PORT:?err}:6379

    healthcheck:
      test: ["CMD-SHELL", "redis-cli ping"]
      interval: 5s
      timeout: 5s
      retries: 5

  shlink:
    image: shlinkio/shlink:4.5.2
    environment:
      - DEFAULT_DOMAIN=${SHLINK_DOMAIN:?err}
      - IS_HTTPS_ENABLED=${SHLINK_HTTPS_ENABLED:?err}
      - INITIAL_API_KEY=${SHLINK_INITIAL_API_KEY:?err}
      - DB_HOST=${DB_HOST:?err}
      - DB_NAME=shlink
      - DB_USER=${DB_USER:?err}
      - DB_PASSWORD=${DB_PASSWORD:?err}
      - DB_PORT=${DB_PORT:?err}
      - DB_DRIVER=postgres
    ports:
      - 8080:8080
    env_file:
      - .env

    healthcheck:
      test: ["CMD-SHELL", "curl -f http://localhost:8080/rest/health || exit 1"]
      interval: 5s
      timeout: 5s
      retries: 5

    depends_on:
      db:
        condition: service_healthy
      redis-cache:
        condition: service_healthy

  shlink-web:
    image: shlinkio/shlink-web-client
    ports:
      - 8005:8080
    environment:
      - SHLINK_SERVER_URL=http://shlink:8080
      - SHLINK_SERVER_API_KEY=${SHLINK_INITIAL_API_KEY:?err}
    depends_on:
      shlink:
        condition: service_healthy

  adminerneo:
    image: adminneoorg/adminneo:latest
    ports:
      - 8006:8080
    environment:
      - ADMINER_DB_USER=admin
      - ADMINER_DB_PASSWORD=admin

volumes:
  postgres_data:
# DJANGO_SECRET_KEY="django-insecure-fqa=6rsiu+ms2=uibz@s^bry$i$%r!6$l1%%87#s%2s9%19a(0"
# DJANGO_DEBUG=True

MELINKY_SECRET_KEY=e771cd5b00ac9e65a44aad580ef682b87bc9e98479c58afd16fdd634f72be25d
MELINKY_REGISTRATION_INFO_KEY=registration_info
MELINKY_JWT_TOKEN_KEY=melinky_token

DB_HOST=db
DB_USER=postgres
DB_PASSWORD=postgres
DB_PORT=5432

REDIS_PORT=6379
REDIS_HOST=redis-cache
REDIS_URL=redis://${REDIS_HOST}:${REDIS_PORT}

RESEND_API_KEY=re_j6P9MKbw_AWSs2o8yyT7YFHtK8Job4mx6

IPINFO_API_KEY=7d2d16f7cd792b
IPINFO_VERSION=lite

MELINKY_ENVIRONMENT=development # development|production
MELINKY_STORAGE_SECRET=kljluyaoisdfa
MELINKY_APP_NAME=melinky.io
MELINKY_APP_VERSION=v1.0
MELINKY_APP_PORT=8080
MELINKY_APP_BASE_URL=http://${MELINKY_APP_NAME}:8081


SHLINK_INITIAL_API_KEY=1234567890
SHLINK_DOMAIN=pop-os.moray-gila.ts.net:8081
SHLINK_BASE_URL=http://shlink:8080
SHLINK_HTTPS_ENABLED=false

GOOGLE_OAUTH_CLIENT_ID=
GOOGLE_OAUTH_CLIENT_SECRET=
GOOGLE_OAUTH_REDIRECT_URI=http://localhost:8081/oauth/google/redirect
GOOGLE_OAUTH_METADATA_URL=https://accounts.google.com/.well-known/openid-configuration
GOOGLE_OAUTH_AUTHORIZE_URL=https://accounts.google.com/o/oauth2/auth
GOOGLE_OAUTH_ACCESS_TOKEN_URL=https://accounts.google.com/o/oauth2/token
GOOGLE_OAUTH_API_BASE_URL=
GOOGLE_OAUTH_USERINFO_ENDPOINT=https://www.googleapis.com/oauth2/v1/userinfo
GOOGLE_OAUTH_APP_NAME=MelinkyIO-dev

Tag summary

Content type

Image

Digest

sha256:3c097ffcc

Size

96.8 MB

Last updated

4 months ago

docker pull qubixds/melinky