Skip to content

Instantly share code, notes, and snippets.

@jamesbrink
Last active December 10, 2024 02:57
Show Gist options
  • Save jamesbrink/f7dc67c8d031127309d35fb85ce8dee1 to your computer and use it in GitHub Desktop.
Save jamesbrink/f7dc67c8d031127309d35fb85ce8dee1 to your computer and use it in GitHub Desktop.
Attendize setup
ATTENDIZE_DEV=false
ATTENDIZE_CLOUD=false
APP_NAME=Attendize
APP_ENV=local
APP_DEBUG=true
APP_URL=https://localhost:8043
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=attendize
DB_USERNAME=attendize
DB_PASSWORD=attendize
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=maildev
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
# Attendize Variables
DEFAULT_DATEPICKER_SEPERATOR="-"
DEFAULT_DATEPICKER_FORMAT="yyyy-MM-dd HH:mm"
DEFAULT_DATETIME_FORMAT="Y-m-d H:i"
APP_TIMEZONE=
[email protected]
MAIL_FROM_NAME=testing_service
# https://github.com/NitMedia/wkhtml2pdf#driver-types
WKHTML2PDF_BIN_FILE=wkhtmltopdf-amd64
# Google Analytics
GOOGLE_ANALYTICS_ID=
GOOGLE_MAPS_GEOCODING_KEY=
# Captcha Configuration
CAPTCHA_IS_ON=false
# can be recaptcha or hcaptcha
CAPTCHA_TYPE=
CAPTCHA_KEY=
CAPTCHA_SECRET=
TWITTER_WIDGET_ID=
LOG=errorlog

Quick setup of Attendize

Use the supplied docker-compose.yml file and the .env. I was able to find an existing image that still works from a "verified publisher" on dockerhub.

Copy my .env example, and you will need to generate the app key using the following. You do not need to use the git repo at all for this.

You will need to generate the appkey variable for the .env file

echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env

will add something like this at the end of the file APP_KEY=base64:fDgkqO2LLA1qTQ7uEdvh0NHeNsAtCrBt5g183MGZZIw=

start the docker-compose, it will come up on https://localhost:8043/ note the SSL. once you go through the initial setup and create a user STOP. Bring down docker-compose and un-comment the volume for

  - installed:/usr/share/nginx/html/installed

Then start the compose back and and you should be good to go. Do some testing because this was a rush job to get this going.

services:
web:
user: 0:0
image: elestio4test/attendize-web:latest
ports:
- 8043:443
volumes:
- config_data:/usr/share/nginx/html/app/Console/Commands
# - installed:/usr/share/nginx/html/installed
- attendize-public:/usr/share/nginx/html/public/
- app_data:/var/www/html
depends_on:
- db
- redis
- worker
env_file:
- ./.env
worker:
user: 0:0
image: elestio4test/attendize-worker:latest
depends_on:
- db
- redis
volumes:
- app_data:/var/www/html
db:
image: elestio/mysql:8.0
restart: always
env_file:
- ./.env
environment:
MYSQL_ROOT_PASSWORD: "yes"
MYSQL_HOST: ${DB_HOST}
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
ports:
- 41525:3306
volumes:
- mysql_data:/var/lib/mysql
redis:
image: elestio/redis:7.0
volumes:
- redis_data:/data
command: --requirepass ${REDIS_PASSWORD}
pma:
image: elestio/phpmyadmin:latest
restart: always
ports:
- 61927:80
environment:
PMA_HOST: db
PMA_PORT: 3306
PMA_USER: ${DB_USERNAME}
PMA_PASSWORD: ${ADMIN_PASSWORD}
UPLOAD_LIMIT: 500M
MYSQL_USERNAME: ${DB_USERNAME}
MYSQL_ROOT_PASSWORD: ${ADMIN_PASSWORD}
depends_on:
- db
volumes:
app_data:
mysql_data:
redis_data:
attendize-public:
config_data:
installed:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment