.devcontainer | ||
js | ||
public | ||
styl | ||
.dockerignore | ||
.gitignore | ||
.gitlab-ci.yml | ||
composer.json | ||
composer.lock | ||
database.sql | ||
Dockerfile | ||
LICENSE | ||
nginx.conf | ||
package.json | ||
Readme.md | ||
template.html | ||
webpack.conf.js | ||
yarn.lock |
Website
This is the repo containing my personal website. It is based on simple HTML pages, with custom HTML componetes, for things like header and footer. The components are written in pure CS and compiled with webpackt to one big file. In this step also the dependencies are getting injected. Stylesheets are written in stylus and then compiled to CSS in the build process. For the backend there is a GraphQL endpoint at /API/graphql.php
which holds most of the resources, for files (ebay images and S3) there are seperate endpoints in the API directory. Comments and the blog ist stored in a MySQL Database.
Dev-Setup
Requirements
- NodeJS
- Yarn
- PHP 8 with the following extensions:
- mysqli
- mbstring
- curl
- simplexml
- Composer
Setup
- Install the node dependencies:
yarn install
- Install the PHP depdendencies:
composer install
- Start the dev environment:
yarn watch
This will start the compile service for the JavaScript and the stylus files and also start a PHP dev server on port 1234
Production-Setup
For production there is a docker images with the following name available: gitlab.jonasled.de/jonasled/website:latest
. The configuration is stored in the config PHP, a example file is available in this repo in the /public/API/lib
folder. Later this file has to be mounted at /var/www/html/API/lib/config.php
A example compose could look like this:
version: '3.2'
services:
website:
image: gitlab.jonasled.de/jonasled/website:latest
restart: always
volumes:
./config.php:/var/www/html/API/lib/config.php
ports:
- "80:80"