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
Content type
Image
Digest
sha256:3c097ffcc…
Size
96.8 MB
Last updated
4 months ago
docker pull qubixds/melinky