feat/docker-compose-update (#18)
Co-authored-by: jon brookes <marshyon@gmail.com> Reviewed-on: https://codeberg.org/headshed/share-lt/pulls/18
This commit is contained in:
parent
fd43495e2d
commit
1a22fd156d
70 changed files with 1068 additions and 745 deletions
103
docs/docker/docker-compose-cloudflard.yaml
Normal file
103
docs/docker/docker-compose-cloudflard.yaml
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
services:
|
||||
nats:
|
||||
image: nats:2.9.19-alpine
|
||||
restart: unless-stopped
|
||||
#ports:
|
||||
# - 4222:4222
|
||||
# - 8222:8222
|
||||
volumes:
|
||||
- ./nats/nats-server.conf:/nats-server.conf
|
||||
- nats-data:/opt/storage
|
||||
command: ["-c", "/nats-server.conf"]
|
||||
|
||||
networks:
|
||||
- app-network
|
||||
- nats
|
||||
|
||||
# nats-cli:
|
||||
# image: natsio/nats-box
|
||||
# container_name: nats-cli
|
||||
# depends_on:
|
||||
# - nats
|
||||
# command: sleep infinity # Keeps container running
|
||||
# networks:
|
||||
# - app-network
|
||||
# - nats
|
||||
|
||||
app:
|
||||
image: quay.io/marshyon/share-lt:v0.0.5
|
||||
restart: unless-stopped
|
||||
tty: false
|
||||
working_dir: /var/www
|
||||
networks:
|
||||
- app-network
|
||||
- nats
|
||||
ports:
|
||||
- 8889:8889
|
||||
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}"
|
||||
- "NATS_URL=${NATS_URL}"
|
||||
- "NATS_USERNAME=${NATS_USERNAME}"
|
||||
- "NATS_PASSWORD=${NATS_PASSWORD}"
|
||||
- "NATS_STREAM=${NATS_STREAM}"
|
||||
- "NATS_SUBJECT=${NATS_SUBJECT}"
|
||||
|
||||
|
||||
volumes:
|
||||
storage-data:
|
||||
database-data:
|
||||
nats-data:
|
||||
|
||||
networks:
|
||||
app-network:
|
||||
nats:
|
||||
external: true
|
||||
|
||||
18
docs/docker/docker-compose-dev.yml
Normal file
18
docs/docker/docker-compose-dev.yml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
services:
|
||||
#PHP Service
|
||||
app:
|
||||
image: quay.io/marshyon/share-lt:0.0.1
|
||||
ports:
|
||||
- "8000:8000"
|
||||
command: sh -c "php artisan optimize:clear && php artisan serve --host=0.0.0.0 --port=8000"
|
||||
volumes:
|
||||
- ./.env:/var/www/.env
|
||||
- ./database/database.sqlite:/var/www/database/database.sqlite
|
||||
- ./storage:/var/www/storage
|
||||
|
||||
restart: unless-stopped
|
||||
tty: true
|
||||
working_dir: /var/www
|
||||
|
||||
|
||||
|
||||
84
docs/docker/docker-compose-prod.yaml
Normal file
84
docs/docker/docker-compose-prod.yaml
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
services:
|
||||
app:
|
||||
image: quay.io/marshyon/share-lt:v0.0.5
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue