- clone this repository
git clone https://github.com/lynxlab/ada-docker.git
- copy the provided
env.template
to.env
- edit the .env file using your own desired values
- start the build process using the provided
docker-compose.yml
file:docker-compose up [--build] -d
- have some coffee, wait the build process, and check
docker-compose logs -tf app
when the apache process is running (might take a while, something like 10 minutes) - visit ${HTTP_ROOT_DIR} in your browser and login with user adminAda, password ${ADA_ADMIN_PASSWORD} (see below notes for env vars)
After running docker-compose, you should have 4 containers running and 3 volumes created:
Container Name | Description |
---|---|
mariadb | database engine used to store application data |
redis | key/value store to keep php sessions data |
app | application core container |
pma | phpMyAdmin application reachable on port 9090 |
Volume Name | Used to |
---|---|
db-data | store mariadb files |
redis-data | store redis files |
clients | /var/www/html/app/clients |
config | /var/www/html/app/config |
docs | /var/www/html/app/docs |
layout | /var/www/html/app/layout |
log | /var/www/html/app/log |
media | /var/www/html/app/services/media |
uploaded_files | /var/www/html/app/upload_file/uploaded_files |
Variable Name | Description | Default value (if any) | Optional |
---|---|---|---|
COMPOSE_PROJECT_NAME | docker-compose project name, to avoid typing '-p yourprojectname' at every docker-compose command | adastack | YES |
GIT_URL | url of the git repo to be cloned. If empty or not set, will clone the default public git repo | https://github.com/lynxlab/ada.git | NO |
GIT_BRANCH | is the branch to be checked out after clone. If empty or not set, will use the master branch | master | YES |
GIT_PASSWORD | repository password if needed. does not need a docker secret, and will set the password in the environment | - | YES |
GIT_PASSWORD_FILE | needs a docker secret to be set up in the app service, and must point to the file of the secret inside the container | - | YES |
USE EITHER GIT_PASSORD OR GIT_PASSWORD_FILE | |||
COMPOSER_UPDATE_ONRESTART | php composer configuration, set to 1 if you wish to run composer update on all of the dependencies when restarting the container | 0 | YES |
MYSQL_ROOT_PASSWORD | password of the root MySQL user. Does not need a docker secret, and will set the password in the environment | - | NO |
MYSQL_ROOT_PASSWORD_FILE | needs a docker secret to be set up in the app and mariadb services, and must point to the file of the secret inside the container | - | NO |
USE EITHER MYSQL_ROOT_PASSWORD OR MYSQL_ROOT_PASSWORD_FILE | |||
MYSQL_DATABASE | is the ADA common database name, if you need to change it go to the docker-compose file This is here just for reference and to show the default value | ada_common | NO |
MYSQL_USER | is the ADA database user name for all the application dbs, if you need to change it go to the docker-compose file. This is here just for reference and to show the default value | ada_DBUSER | NO |
MYSQL_PASSWORD | is the password for the MYSQL_USER. Setting it in a secret is not supported. | - | NO |
MYSQL_HOST | is the hostname that the app service will use to make mysql connections to the mariadb service | mariadb | NO |
ADA_ADMIN_PASSWORD | is the ADA password for the 'adminAda' predefined user, if you need to change it go to the docker-compose file. This is here just for reference and to show the default value | adminada | NO |
MULTIPROVIDER | tells ADA if you are setting up a multipirovider or non multipirovider (aka multitenant) installation. Use 0 for non multipirovider, 1 for multiprovider (the default) | 1 | YES |
HTTP_ROOT_DIR | must point the the URL of your installation If non multipirovider, must be the url to access all common static contents: img, js, css etc. so if non multipirovider pls set it to something like: http[s]://ada.lynxlab.com:8888 then the setup will substitute the 3rd level name with the provider name (for each provider) IMPORTANT NOTE docker-compose.yml file will expose port 8888, so if your URL has a port other than 8888 please edit the app service in the docker-compose file accordingly |
- | NO |
PROVIDERS_LIST | is a comma separated list of provider pointers that must be created at startup | client0, client1 | NO |
PROVIDERS_THIRDLEVELS | is a comma separated list of 3rd level domains that must be linked to each provider's pointers at startup | - | NO |
DEFAULT_PROVIDER_POINTER | is the default provider | client0 | NO |
DEFAULT_PROVIDER_DB | is the ADA default provider databse name, if you need to change it go to the docker-compose file. This is here just for reference and to show the default value | ${DEFAULT_PROVIDER_POINTER}_provider | NO |
MODULES_DISABLE | is a comma separated list of modules that you do not want to enable (e.g.: secretquestion,code_man) | secretquestion,code_man | - |
PORTAL_NAME | is the page title to be used: - if not set, ADA_OR_WISP will be used - if multipirovider will be the same for every provider - if non ,ultiprovider the provider name in uppercase will be appended to the string |
- | YES |
ADA_ADMIN_MAIL_ADDRESS | is the application admin email address | - | YES |
ADA_ADMIN_MAIL_ADDRESS is the application noreply email address | - | YES | |
REDIS_URL | is the URL to reach the redis server, for storing session data | tcp://redis:6379 | NO |