Final Year Project
logic | ||
sql | ||
views/py | ||
webpage | ||
.air.toml | ||
.gitignore | ||
auto_reload.sh | ||
config.toml | ||
docker-compose.yml | ||
DockerfileProxy | ||
DockerfileServer | ||
go.mod | ||
go.sum | ||
main.go | ||
nginx.proxy.conf | ||
README.md | ||
requirements.txt | ||
run.sh | ||
shell.nix |
Configure the system
Go to the config.toml file and setup your hostname
Build the containers
Running this commands on the root of the project will setup the nessesary.
Make sure that your docker/podman installation supports domain name resolution between containers
docker build -t andre-fyp-proxy -f DockerfileProxy
docker build -t andre-fyp-server -f DockerfileServer
cd webpage
docker build -t andre-fyp-web-server .
cd ..
Run the docker compose
Running docker compose sets up the database server, the web page server, the proxy server and the main server
docker compose up
Setup the Database
On another terminal instance create the database and tables.
Note: the password can be changed in the docker-compose file
PGPASSWORD=verysafepassword psql -h localhost -U postgres -f sql/base.sql
PGPASSWORD=verysafepassword psql -h localhost -U postgres -d fyp -f sql/user.sql
PGPASSWORD=verysafepassword psql -h localhost -U postgres -d fyp -f sql/models.sql
PGPASSWORD=verysafepassword psql -h localhost -U postgres -d fyp -f sql/tasks.sql
Restart docker compose
Now restart docker compose and the system should be available under the domain name set up on the config.toml file