A Client-Server website, meant to store and display experiences and skills.
💡 Inspired from full-stack-fastapi-postgresql project.
One need docker
and docker-compose
to start the application.
Run make
.
Then open http://localhost
.
You can also access webpages of Swagger and ReDoc
Deployment considers that you have a remote device, in which you can connect via SSH.
-
Connect in ssh to the device
-
Clone the project:
git clone https://github.com/Doreapp/skillect.git
.And enter in project's directory:
cd skillect
-
Deploy the website:
make deploy
. You need to define several environment variables, described here
GitHub actions are setup to deploy the project automatically, each time a change is pushed to main
branch.
For the CD to run as intended, you need to define some Actions secrets in GitHub repository's settings. First, there are all the environment variables described here (that can also be set directly in the Makefile
) but also:
FIRST_SUPERUSER
, email address identifying the initial superuserFIRST_SUPERUSER_PASSWORD
, password of the first superuserPOSTGRES_PASSWORD
, password to connect to Postgres databaseSSH_KEY
, RSA ssh key to connect to the deployment target, With new lines (\n
) replaced by#
)
Default values for environment variables are defined in base.env
and development.env
files.
Other environment variables are defined on top of the Makefile
, such as:
TRAEFIK_PUBLIC_NETWORK
, it can remain to default.DOMAIN
, it is your domain name (likewww.google.com
).SSH_USER
, it is the user to use during ssh communication with deployment target.