You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: HEROKU.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
# Heroku Deploy
2
-
## Heroku Button
3
-
If you wish to install Heroku using the one-click deployment process, please click the purple "Deploy to Heroku" button in the [repository home page](https://github.com/ucfopen/UDOIT/tree/main#installing-udoit-on-heroku).
2
+
3
+
**Warning:** There is a known issue with hosting UDOIT on Heroku. Courses with large amounts of content can cause UDOIT to scan for longer than Heroku allows, resulting in a failed scan appears to never complete. We do not recommend using Heroku for hosting your production instance of UDOIT at this time. The instructions below are left here for reference.
4
4
5
5
## Installation Instructions
6
-
Installing UDOIT using the Heroku button is very easy, but still requires some setup.
6
+
Installing UDOIT on Heroku requires some technical knowledge. We recommend that you have an IT staff member perform the steps below.
7
7
8
8
### Step 1: Setting up Heroku
9
9
Click the Heroku button and follow the instructions below:
@@ -50,7 +50,7 @@ Install the app following the instructions described in INSTALL_\<LMS\>.md.
50
50
### (Optional) Step 4: Clone UDOIT and Push to Heroku
51
51
If you make changes to the source code of UDOIT, and you'd like to deploy those changes to your Heroku instance, follow these instructions.
52
52
53
-
1. Follow the instruction under the ['Source Code' section of INSTALL.md](https://github.com/ucfopen/UDOIT/blob/main/INSTALL.md#source-code).
53
+
1. Follow the instructions under the ['Source Code' section of INSTALL.md](https://github.com/ucfopen/UDOIT/blob/main/INSTALL.md#source-code).
54
54
2. Install and log in to the [Heroku CLI](https://devcenter.heroku.com/articles/heroku-cli).
55
55
3. Next, from within your UDOIT's root folder on your machine, connect your local repository to Heroku:
Copy file name to clipboardExpand all lines: INSTALL.md
+65-71Lines changed: 65 additions & 71 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,97 +2,99 @@
2
2
UDOIT can be installed on your own existing servers with the following instructions. UDOIT is also available as a hosted and maintained product by [Cidi Labs](https://cidilabs.com). UDOIT is built using the [PHP Symfony Framework](https://symfony.com).
3
3
4
4
## System Requirements
5
+
The system requirements depend on how you install UDOIT. If you use Docker, the host system doesn't require any additional software.
6
+
7
+
### Docker Method
8
+
* Docker
9
+
* Docker Compose
10
+
11
+
### Manual Installation Method
5
12
* Apache or Nginx webserver
6
-
* PHP 7.4, 8.0
13
+
* PHP 8.1+
7
14
* MySQL, MariaDB or PostgreSQL
8
15
* Git (If you are using The Git Method below) or if you plan on contributing to UDOIT
9
-
* Node v14+
16
+
* Node v16 is supported; other versions may work
10
17
* Yarn
11
18
12
-
## Source Code
13
-
We strongly recommend source code should be managed through Git. The benefit of this method is that you can update an existing installation of UDOIT by simply using git pull. It also lets you roll back to previous versions if needed. Follow these steps:
19
+
## Download the Code
20
+
### Option 1: Git
21
+
We strongly recommend managing the source code through Git. The benefit of this method is that you can update an existing installation of UDOIT by simply using `git pull`. It also lets you roll back to previous versions if needed. Follow these steps:
14
22
15
-
* Install Git on your server
16
-
* Navigate to the directory on your server where UDOIT will live
17
-
* Run `git clone git@github.com:ucfopen/UDOIT.git . ` (The . is important. It tells Git to download the files to the current directory.)
23
+
1. Install Git on your server
24
+
2. Navigate to the directory on your server where UDOIT will live
25
+
3. Run `git clone git@github.com:ucfopen/UDOIT.git . ` (The . is important. It tells Git to download the files to the current directory.)
18
26
19
-
##Docker
20
-
We provide a fast and simple way of setting up a local UDOIT instance through the use of docker containers. To set up the docker containers, you must first install [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/). Then, simply run the following command from within the UDOIT directory:
27
+
### Option 2: Zip File
28
+
If you prefer not to use Git, you can download a zip file of the latest release from the [Releases Page](https://github.com/ucfopen/UDOIT/releases). Unzip it in the directory on your server where UDOIT will live.
21
29
22
-
docker-compose up -d
30
+
## .ENV Setup
31
+
UDOIT uses a `.env.local` file for storing configuration variables. To create it:
23
32
24
-
Once the containers are up and running, you can access the php container by calling the command:
33
+
1. Copy the file `.env.local.example` to `.env.local` by running
34
+
```
35
+
cp .env.local.example .env.local
36
+
```
37
+
2. Leave `APP_ENV` set to `prod`
38
+
> If you are setting up a development environment, set this to `dev` and follow the steps in [Installing Composer Dependencies](#installing-composer-dependencies) without the `--no-dev` flag to obtain all of the development packages.
39
+
3. Add your database information to thie `DATABASE_URL` variable. (The default value of `mysql://root:root@db:3306/udoit3` is suitable for running it on your local computer using Docker.)
40
+
4. Modify the `BASE_URL` to match the URL of your instance of UDOIT. (The default value of `http://127.0.0.1:8000/udoit3` is suitable for running it on your local computer using Docker.)
41
+
5. Modify the `WEBPACK_PUBLIC_PATH` to match the `BASE_URL` you set. (The default value of `/udoit3/build` is suitable for running it on your local computer usind Docker. Example: If your `BASE_URL` is set to `http://127.0.0.1:8000`, your `WEBPACK_PUBLIC_PATH` should be `/build`.)
42
+
6. Set `APP_LMS` to the name of your LMS.
43
+
*`canvas` if you are using the Canvas LMS.
44
+
*`d2l` if you are using the D2l Brightspace LMS.
45
+
7. (Optional) You can change the default language for your entire UDOIT instance by adding the `DEFAULT_LANG` variable. Currently supported languages are English (`en`) and Spanish (`es`).
46
+
8. (Optional) If you are using UDOIT with a self-hosted instance of Canvas, you can add the `JWK_BASE_URL` variable and set it to the URL of your instance of Canvas. (Example: `JWK_BASE_URL="https://canvas.dev.myschool.edu"`)
25
47
26
-
docker exec -it udoit_php_1 /bin/bash
48
+
## Docker
49
+
We provide a fast and simple way of setting up a local UDOIT instance through the use of Docker containers.
27
50
28
-
By default the application is set up to create a MySQL database container, but if you wish to create a postgres container instead you can do so by modifying the file `docker-compose.yml`. The credentials required to access this database depend on the database type and can be found in this same file. You can access the database container by calling the command:
51
+
### 1. Install Docker
52
+
To set up the docker containers, you must first install [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/).
29
53
30
-
docker exec -it udoit_db_1 /bin/bash
54
+
### 2. Build the Containers
55
+
If you prefer to build the containers yourself, or you are actively developing UDOIT and need to rebuild the containers to test your cahnges, run the following command from within the UDOIT directory:
31
56
32
-
If you ever want to take down the containers, you can do so with the following command:
57
+
docker-compose -f docker-compose.nginx.yml up
33
58
34
-
docker-compose down
59
+
### 3. Wait
60
+
Wait for all of the containers to finish initializing. This can take over 15 minutes. You will know you are ready to proceed with the next step when you haven't seen any output in your terminal for a few minutes.
35
61
36
-
Once you have set up the containers in this way, you will still need to follow the rest of the instructions in this document.
62
+
### 4. Set up the Database
63
+
The first time you start the containers, you will need to set up the database to handle all the information UDOIT generates as it runs. Run the following command:
37
64
38
-
## Configuring your Web Server
39
-
The details of configuring a web server with PHP are out of the scope of this README. You should configure your web server to point to UDOIT's "public" folder as the web root folder. Doing this will hide the configuration and source files so that they are not web accessible. It will also clean up your URL structure so that you don't need to include the "public" folder in any of the URLs to UDOIT.
65
+
docker-compose -f docker-compose.nginx.yml run php php bin/console doctrine:migrations:migrate
40
66
41
-
If you are setting up a local UDOIT instance through Docker, you can simplify this step and quickly setup a server by calling the following commands from within the php container:
67
+
> You will also need to run that command whenever you update to a new version of UDOIT.
42
68
43
-
docker exec -it udoit_php_1 /bin/bash
44
-
symfony server:ca:install
45
-
symfony serve -d
69
+
### 5. Next steps
70
+
Skip to [Testing your Setup](#testing-your-setup) to continue.
46
71
47
-
Security Note: Do not use the commands above for production installations. Use software such as [Apache](https://httpd.apache.org) or [NGINX](https://nginx.org).
72
+
### 6. Stopping the Containers
73
+
If you ever want to stop the containers, you can do so with the following command:
48
74
49
-
SSL Issues: It is important to note that most browsers will automatically block unsigned certificates, and the tool might fail to load with the message that the website might be down or have moved to a new location. If this happens to you after going through the rest of the instructions, you can bypass this warning by opening the specified url in a new tab, granting the browser permission to access the webpage, and then going back to where the UDOIT tool has been integrated and refreshing the page.
75
+
docker-compose -f docker-compose.nginx.yml down
50
76
51
-
> If you are running UDOIT in Docker, you will need do this each time you start the docker container.
52
77
53
-
## Installing Composer Dependencies
54
-
UDOIT uses Composer to install PHP dependencies. If you are using Docker, it will already be installed inside the PHP container. To install the required PHP dependencies, enter the PHP container with:
55
78
56
-
docker exec -it udoit_php_1 /bin/bash
79
+
## Manual Installation
80
+
If you prefer not to use Docker, the process is more complicated:
57
81
58
-
Then, install the dependencies:
82
+
### Configuring your Web Server
83
+
The details of configuring a web server with PHP are out of the scope of this README. You should configure your web server to point to UDOIT's "public" folder as the web root folder. Doing this will hide the configuration and source files so that they are not web accessible. It will also clean up your URL structure so that you don't need to include the "public" folder in any of the URLs to UDOIT.
59
84
60
-
composer install --no-dev
85
+
If you are using NGINX as your web server, you can use the `build/nginx/nginx.conf` file as a starting point.
61
86
62
-
If you're not using Docker, follow the upstream documentation on [Composer Installation](https://getcomposer.org/download/) to install `composer.phar` into the project root, then run the following:
87
+
### Installing Composer Dependencies
88
+
UDOIT uses Composer to install PHP dependencies. Follow the upstream documentation on [Composer Installation](https://getcomposer.org/download/) to install `composer.phar` into the project root, then run the following:
63
89
64
90
php composer.phar install --no-dev
65
91
66
-
> Remove the `--no-dev` flag if you wish to use `APP_ENV=dev`below.
92
+
> Remove the `--no-dev` flag if you set `APP_ENV=dev`in your `.env.local` file.
67
93
68
-
## .ENV Setup
69
-
UDOIT uses a `.env` file for storing configuration. Local configuration such as database information and URLs should be stored in a `.env.local` file that is NOT tracked in Git.
70
-
71
-
> These changes should be made outside any of the Docker containers.
72
-
73
-
1. Copy the file `.env.local.example` to `.env.local`.
74
-
```
75
-
cp .env.local.example .env.local
76
-
```
77
-
2. Leave `APP_ENV` set to `prod`
78
-
> If you are setting up a development environment, set this to `dev` and follow the steps in [Installing Composer Dependencies](#installing-composer-dependencies) without the `--no-dev` flag to obtain all of the development packages.
79
-
3. Add your database information to this `DATABASE_URL` variable.
80
-
4. Add the `BASE_URL`, which is the full URL to reach the `public` folder of UDOIT. (i.e. https://udoit3.ciditools.com) WITHOUT the trailing slash.
81
-
5. Set `APP_LMS` to the name of your LMS.
82
-
*`canvas` if you are using the Canvas LMS.
83
-
*`d2l` if you are using the D2l Brightspace LMS.
84
-
6. (Optional) You can change the default language for your entire UDOIT instance by overriding the `DEFAULT_LANG` variable. Currently supported languages are English (`en`) and Spanish (`es`).
85
-
86
-
## Database Setup
94
+
### Database Setup
87
95
While UDOIT is configured to use MySQL or MariaDB by default, Symfony can be configured to work with other databases as well. See the Symfony documentation for details.
88
96
89
-
> If you are running UDOIT in Docker, you don't need to install PHP on your system. You can run
90
-
>
91
-
> docker exec -it udoit_php_1 /bin/bash
92
-
>
93
-
> and then run the commands below inside the Docker container.
94
-
95
-
You can create your database manually, or use `Symfony` to create the database with this command:
97
+
Use Symfony to create the database with this command:
96
98
97
99
php bin/console doctrine:database:create
98
100
@@ -108,16 +110,8 @@ If you are operating in a production environment you will need to generate the d
108
110
109
111
php bin/console cache:warmup --env=prod
110
112
111
-
## JavaScript
112
-
UDOIT uses [node](https://nodejs.org) and [yarn](https://yarnpkg.com/) to compile the JavaScript. Instructions for installing Node and Yarn are out of the scope of this README.
113
-
114
-
> If you are running UDOIT in Docker, you don't need to install Node or Yarn on your system. Run
115
-
>
116
-
> docker exec -it udoit_php_1 /bin/bash
117
-
>
118
-
> and then run the following commands inside the Docker container.
119
-
120
-
To install the JavaScript dependencies run the command:
113
+
### JavaScript
114
+
UDOIT uses [node](https://nodejs.org) and [yarn](https://yarnpkg.com/) to compile the JavaScript. Install Node and Yarn on your system, then run:
121
115
122
116
yarn install
123
117
@@ -126,15 +120,15 @@ To build the JavaScript files for production, run the command:
126
120
yarn build
127
121
128
122
## Testing Your Setup
129
-
Once you have completed the steps above you will want to test your setup. Unfortunately, UDOIT is an LTI tool that can only fully run within the LMS. You will need to complete the steps in the INSTALL_CANVAS.md or INSTALL_D2L.md to test UDOIT fully.
123
+
Once you have completed the steps above you will want to test your setup. Unfortunately, UDOIT is an LTI tool that can only fully run within the LMS. You will need to complete the steps in the [INSTALL_CANVAS.md](INSTALL_CANVAS.md) or [INSTALL_D2L.md](INSTALL_D2L.md) to test UDOIT fully.
130
124
131
125
However, UDOIT does have one URL that is publicly available outside of the LMS. To test your server setup point your browser to:
132
126
133
127
<BASE_URL>/lti/config
134
128
135
129
For example, if you are setting this up on your local computer via Docker, it may look like:
136
130
137
-
https://localhost:8000/lti/config
131
+
http://127.0.0.1:8000/udoit3/lti/config
138
132
139
133
## Configuring Your LMS
140
134
You will need to complete the steps in the [INSTALL_CANVAS.md](INSTALL_CANVAS.md) or [INSTALL_D2L.md](INSTALL_D2L.md) to configure UDOIT to work within your LMS.
0 commit comments