From 2a058c3ce125c6050ac15e2f2582a87877c91eed Mon Sep 17 00:00:00 2001 From: Ross Crawford-d'Heureuse Date: Wed, 21 Apr 2021 06:17:34 +0200 Subject: [PATCH] Added a docker-compose with helper services (#9105) * Updates * BAse * pdated instructions round app_key Co-authored-by: Ross Crawford-d'Heureuse --- .env.docker | 157 +++++++++++++++++++++++++++++++++++++++++++++ .gitignore | 2 +- docker-compose.yml | 48 ++++++++++++++ 3 files changed, 206 insertions(+), 1 deletion(-) create mode 100644 .env.docker create mode 100644 docker-compose.yml diff --git a/.env.docker b/.env.docker new file mode 100644 index 000000000..cc4af2147 --- /dev/null +++ b/.env.docker @@ -0,0 +1,157 @@ +# -------------------------------------------- +# REQUIRED: DB SETUP +# -------------------------------------------- +MYSQL_DATABASE=snipeit +MYSQL_USER=snipeit +MYSQL_PASSWORD=changeme1234 +MYSQL_ROOT_PASSWORD=changeme1234 +# -------------------------------------------- +# REQUIRED: BASIC APP SETTINGS +# -------------------------------------------- +APP_ENV=develop +APP_DEBUG=false +# please regenerate the APP_KEY value by calling `docker-compose run --rm snipeit bash` and then `php artisan key:generate --show` and then copy paste the value here +APP_KEY=base64:3ilviXqB9u6DX1NRcyWGJ+sjySF+H18CPDGb3+IVwMQ= +APP_URL=http://localhost:8000 +APP_TIMEZONE='UTC' +APP_LOCALE=en +MAX_RESULTS=500 + +# -------------------------------------------- +# REQUIRED: UPLOADED FILE STORAGE SETTINGS +# -------------------------------------------- +PRIVATE_FILESYSTEM_DISK=local +PUBLIC_FILESYSTEM_DISK=local_public + +# -------------------------------------------- +# REQUIRED: DATABASE SETTINGS +# -------------------------------------------- +DB_CONNECTION=mysql +DB_HOST=mariadb +DB_DATABASE=snipeit +DB_USERNAME=snipeit +DB_PASSWORD=changeme1234 +DB_PREFIX=null +DB_DUMP_PATH='/usr/bin' +DB_CHARSET=utf8mb4 +DB_COLLATION=utf8mb4_unicode_ci + +# -------------------------------------------- +# OPTIONAL: SSL DATABASE SETTINGS +# -------------------------------------------- +DB_SSL=false +DB_SSL_IS_PAAS=false +DB_SSL_KEY_PATH=null +DB_SSL_CERT_PATH=null +DB_SSL_CA_PATH=null +DB_SSL_CIPHER=null + +# -------------------------------------------- +# REQUIRED: OUTGOING MAIL SERVER SETTINGS +# -------------------------------------------- +MAIL_DRIVER=smtp +MAIL_HOST=mailhog +MAIL_PORT=1025 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null +MAIL_FROM_ADDR=you@example.com +MAIL_FROM_NAME='Snipe-IT' +MAIL_REPLYTO_ADDR=you@example.com +MAIL_REPLYTO_NAME='Snipe-IT' +MAIL_AUTO_EMBED_METHOD='attachment' + +# -------------------------------------------- +# REQUIRED: IMAGE LIBRARY +# This should be gd or imagick +# -------------------------------------------- +IMAGE_LIB=gd + + +# -------------------------------------------- +# OPTIONAL: BACKUP SETTINGS +# -------------------------------------------- +MAIL_BACKUP_NOTIFICATION_DRIVER=null +MAIL_BACKUP_NOTIFICATION_ADDRESS=null +BACKUP_ENV=true + + +# -------------------------------------------- +# OPTIONAL: SESSION SETTINGS +# -------------------------------------------- +SESSION_LIFETIME=12000 +EXPIRE_ON_CLOSE=false +ENCRYPT=false +COOKIE_NAME=snipeit_session +COOKIE_DOMAIN=null +SECURE_COOKIES=false +API_TOKEN_EXPIRATION_YEARS=40 + +# -------------------------------------------- +# OPTIONAL: SECURITY HEADER SETTINGS +# -------------------------------------------- +APP_TRUSTED_PROXIES=192.168.1.1,10.0.0.1 +ALLOW_IFRAMING=false +REFERRER_POLICY=same-origin +ENABLE_CSP=false +CORS_ALLOWED_ORIGINS=null +ENABLE_HSTS=false + +# -------------------------------------------- +# OPTIONAL: CACHE SETTINGS +# -------------------------------------------- +CACHE_DRIVER=file +SESSION_DRIVER=file +QUEUE_DRIVER=sync +CACHE_PREFIX=snipeit + +# -------------------------------------------- +# OPTIONAL: REDIS SETTINGS +# -------------------------------------------- +REDIS_HOST=redis +REDIS_PASSWORD=null +REDIS_PORT=6379 + +# -------------------------------------------- +# OPTIONAL: MEMCACHED SETTINGS +# -------------------------------------------- +MEMCACHED_HOST=null +MEMCACHED_PORT=null + +# -------------------------------------------- +# OPTIONAL: PUBLIC S3 Settings +# -------------------------------------------- +PUBLIC_AWS_SECRET_ACCESS_KEY=null +PUBLIC_AWS_ACCESS_KEY_ID=null +PUBLIC_AWS_DEFAULT_REGION=null +PUBLIC_AWS_BUCKET=null +PUBLIC_AWS_URL=null +PUBLIC_AWS_BUCKET_ROOT=null + +# -------------------------------------------- +# OPTIONAL: PRIVATE S3 Settings +# -------------------------------------------- +PRIVATE_AWS_ACCESS_KEY_ID=null +PRIVATE_AWS_SECRET_ACCESS_KEY=null +PRIVATE_AWS_DEFAULT_REGION=null +PRIVATE_AWS_BUCKET=null +PRIVATE_AWS_URL=null +PRIVATE_AWS_BUCKET_ROOT=null + +# -------------------------------------------- +# OPTIONAL: LOGIN THROTTLING +# -------------------------------------------- +LOGIN_MAX_ATTEMPTS=5 +LOGIN_LOCKOUT_DURATION=60 +RESET_PASSWORD_LINK_EXPIRES=900 + +# -------------------------------------------- +# OPTIONAL: MISC +# -------------------------------------------- +APP_LOG=stderr +APP_LOG_MAX_FILES=10 +APP_LOCKED=false +APP_CIPHER=AES-256-CBC +GOOGLE_MAPS_API= +LDAP_MEM_LIM=500M +LDAP_TIME_LIM=600 diff --git a/.gitignore b/.gitignore index e47e773fd..9771de971 100755 --- a/.gitignore +++ b/.gitignore @@ -48,7 +48,7 @@ tests/_support/_generated/* /npm-debug.log /storage/oauth-private.key /storage/oauth-public.key - +logs/* *.cache .vagrant diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..511dfd35d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,48 @@ +version: '3' + +services: + snipeit: + build: + context: . + dockerfile: Dockerfile.alpine + container_name: snipeit + ports: + - 8000:80 + volumes: + - ./logs:/var/www/html/storage/logs + depends_on: + - mariadb + - redis + env_file: + - .env.docker + networks: + - snipeit-backend + + mariadb: + image: mariadb:latest + volumes: + - db:/var/lib/mysql + env_file: + - .env.docker + networks: + - snipeit-backend + + redis: + image: redis:latest + networks: + - snipeit-backend + + mailhog: + image: mailhog/mailhog:latest + ports: + # - 1025:1025 + - 8025:8025 + networks: + - snipeit-backend + + +volumes: + db: {} + +networks: + snipeit-backend: {} \ No newline at end of file