share-lt/docs/docker/docker-compose-prod.yaml
jon brookes 5b0e55c4b2 feat: implement Change resource with CRUD functionality and migration
update image tags to v0.0.8 in build scripts and docker-compose files
2026-02-17 16:07:22 +00:00

84 lines
2.6 KiB
YAML

services:
app:
image: quay.io/marshyon/share-lt:v0.0.8
restart: unless-stopped
tty: false
working_dir: /var/www
networks:
- app-network
- traefik-net9
volumes:
- storage-data:/var/www/storage
- database-data:/var/www/database
- ./nginx/conf.d/app.conf:/etc/nginx/http.d/app.conf
- ./docker/php/php.ini:/usr/local/etc/php/php.ini
environment:
- "LIVEWIRE_TEMPORARY_FILE_UPLOAD_MAX_FILE_UPLOAD_TIME=5"
- "ADMIN_EMAIL=${ADMIN_EMAIL}"
- "APP_NAME=${APP_NAME}"
- "APP_ENV=production"
- "APP_KEY=${APP_KEY}"
- "APP_DEBUG=false"
- "APP_URL=${APP_URL}"
- "APP_LOCALE=en"
- "APP_FALLBACK_LOCALE=en"
- "APP_MAINTENANCE_DRIVER=file"
- "PHP_CLI_SERVER_WORKERS=4"
- "BCRYPT_ROUNDS=12"
- "LOG_CHANNEL=stack"
- "LOG_STACK=single"
- "LOG_DEPRECATIONS_CHANNEL=null"
- "LOG_LEVEL=${LOG_LEVEL}"
- "DB_CONNECTION=sqlite"
- "SESSION_DRIVER=database"
- "SESSION_LIFETIME=120"
- "SESSION_ENCRYPT=false"
- "SESSION_PATH=/"
- "SESSION_DOMAIN=null"
- "BROADCAST_CONNECTION=log"
- "FILESYSTEM_DISK=s3"
- "QUEUE_CONNECTION=database"
- "CACHE_STORE=database"
- "CACHE_PREFIX=laravel_"
- "MAIL_MAILER=smtp"
- "MAIL_SCHEME=smtp"
- "MAIL_HOST=${MAIL_HOST}"
- "MAIL_PORT=${MAIL_PORT}"
- "MAIL_USERNAME=${MAIL_USERNAME}"
- "MAIL_PASSWORD=${MAIL_PASSWORD}"
- "MAIL_FROM_ADDRESS=${MAIL_FROM_ADDRESS}"
- "MAIL_FROM_NAME=${APP_NAME}"
- "AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}"
- "AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}"
- "AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}"
- "AWS_BUCKET=${AWS_BUCKET}"
- "AWS_USE_PATH_STYLE_ENDPOINT=${AWS_USE_PATH_STYLE_ENDPOINT}"
- "AWS_DIRECTORY=${AWS_DIRECTORY}"
- "MEDIA_DISK=${MEDIA_DISK}"
- "VITE_APP_NAME=${APP_NAME}"
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik-net9"
- "traefik.http.services.${APP_SERVICE_NAME}.loadbalancer.server.port=${APP_PORT}"
- "traefik.http.services.${APP_SERVICE_NAME}.loadbalancer.server.scheme=http"
- "traefik.http.routers.${APP_SERVICE_NAME}.service=${APP_SERVICE_NAME}"
- "traefik.http.routers.${APP_SERVICE_NAME}.tls.certresolver=le"
- "traefik.http.routers.${APP_SERVICE_NAME}.rule=Host(`${APP_DOMAIN}`)"
- "traefik.http.routers.${APP_SERVICE_NAME}.entrypoints=websecure"
- "traefik.http.routers.${APP_SERVICE_NAME}.tls=true"
volumes:
storage-data:
database-data:
networks:
app-network:
traefik-net9:
external: true