All files you need to run Intra apps with Docker container.
-
Create root dir for your app, e.g.
mkdir ~/Works/my_gorgeous_app
-
Make directory for docker and configs:
mkdir ~/Works/my_gorgeous_app/dockerfiles
cd ~/Works/my_gorgeous_app/dockerfiles
All remaining directories will be created by docker automatically.
-
Clone this gir repository:
git clone https://github.com/easyise/dockerfiles-eiseIntra.git .
-
Edit '.env_template' file and save it as '.env', correctly specify your envoronment variables (do NOT change MYSQL_HOST value):
PROJECT_DIR=your_gorgeous_app_dir
MYSQL_HOST=mysql
MYSQL_ROOT_PASSWORD=your_mysql_pass
MYSQL_DATABASE=your_gorgeous_app_db
MYSQL_PORT=13306
NGINX_PORT=8081
MYSQL_USER=your_gorgeous_app_db_user
MYSQL_PASSWORD=your_gorgeous_app_db_password
- Run docker daemon, then run docker-compose:
docker-compose up --build -d
-
Run init.sh, it will initialize your app from github repos:
./init.sh your_gorgeous_app_dir
-
Then open your browser and navigate to
http://localhost:8081/your_gorgeous_app_dir/vendor/eiseIntra/admin/
-
Specify host name 'mysql', login - 'root' and the password you specified as MYSQL_ROOT_PASSWORD in .env file.
-
Choose database 'your_gorgeous_app_db'
-
Click 'Apply eiseIntra' button. Specify login and password for web user. Click Apply.
-
Logon to your app with this URL:
http://localhost:8081/your_gorgeous_app_dir/
In this container your nginx listens on port you specified as NGINX_PORT (8081 in this example) in .env file. MySQL listens for external connections on port specified in MYSQL_PORT (13306 in this example), but internal connections should be established to host 'mysql' on standart port (3306). Php-fpm ports are not mapped externally.
If you'd like to make your app accessible on standard HTTPS port (443) you can use nginx as proxy, e.g.:
server {
listen 443 ssl;
server_name A.local;
ssl_certificate ...;
ssl_certificate_key ...;
location / {
proxy_pass http://127.0.0.1:8081;
}
}