docker-rosariosis/README.md

110 lines
3.6 KiB
Markdown

Docker RosarioSIS
=================
A Dockerfile that installs the latest [RosarioSIS](https://www.rosariosis.org/). This file pulls from the default branch, but can be easily modified to pull from any other available branch or tagged release.
## Installation
Minimum requirements: [Docker](https://www.docker.com/) & Git working.
You can pull the image from [DockerHub](https://hub.docker.com/r/rosariosis/rosariosis) or:
```bash
git clone https://gitlab.com/francoisjacquet/docker-rosariosis.git
cd docker-rosariosis
docker build -t rosariosis .
```
## Usage
RosarioSIS uses a PostgreSQL database:
```bash
docker run --name rosariosisdb -e "POSTGRES_PASSWORD=postgrespwd" -d postgres
```
Create database:
```bash
docker exec -it rosariosisdb bash
psql -h localhost -p 5432 -U postgres
postgres=# CREATE USER rosario WITH PASSWORD 'rosariopwd';
postgres=# CREATE DATABASE rosariosis WITH ENCODING 'UTF8' OWNER rosario;
postgres=# \q
exit
```
Run RosarioSIS (DockerHub image) and link the PostgreSQL container:
```bash
docker run -e "ROSARIOSIS_ADMIN_EMAIL=admin@example.com" -e "PGHOST=rosariosisdb" -h `hostname -f` -d -p 80:80 --name rosariosis --link rosariosisdb:rosariosisdb rosariosis/rosariosis:master
```
Port 80 will be exposed, so you can visit http://localhost/InstallDatabase.php to get started. Default username and password: `admin`.
Note: a `docker-compose.yml` file is available.
Note 2: you may have to add `sudo` before the `docker` command.
## Environment Variables
The RosarioSIS image uses several environment variables which are easy to miss. While none of the variables are required, they may significantly aid you in using the image.
### PGHOST
Host of the postgres database.
### PGUSER
This optional environment variable is used in conjunction with PGPASSWORD to set a user and its password for the database.
### PGPASSWORD
This optional environment variable is used in conjunction with PGUSER to set a user and its password for the database.
### PGDATABASE
This optional environment variable can be used to define a different name for the database.
### PGPORT
This optional environment variable can be used to define a different port for the database.
### ROSARIOSIS_YEAR
This optional environment variable can be used to define the default school year in RosarioSIS settings.
### ROSARIOSIS_ADMIN_EMAIL
This optional environment variable can be used to define an email address where to send error and new administrator notifications.
### ROSARIOSIS_LANG
This optional environment variable is for RosarioSIS to show another language.
Values are `fr_FR` for French and `es_ES` for Spanish.
You must also generate the `fr_FR.utf8` (for example) locale. To do so run these commands:
```bash
sudo docker exec -it rosariosis bash
dpkg-reconfigure locales
```
### ROSARIOSIS_VERSION
This optional environment variable is used to set the required version of RosarioSIS.
## SMTP
RosarioSIS will attempt to send mail via the host's port 25. In order for this to work you must set the hostname of the rosariosis container to that of `host` (or some other hostname that can appear on a legal `FROM` line) and configure the host to accept SMTP from the container. For postfix this means adding the container IP addresses to `/etc/postfix/main.cf` as in:
```
mynetworks = 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
```
Note: alternatively, you can use the [Email SMTP](https://www.rosariosis.org/plugins/email-smtp/) plugin for RosarioSIS.
## Additional configuration
[Quick Setup Guide](https://www.rosariosis.org/quick-setup-guide/)
[Secure RosarioSIS](https://gitlab.com/francoisjacquet/rosariosis/-/wikis/Secure-RosarioSIS)