The webpage of SECQUOIA (Systems Engineering via Classical and Quantum Optimization for Industrial Applications) research group at Purdue University.
Follow these instructions to set up and run the website locally using Docker.
- Docker
- Git
-
Clone the repository
git clone https://github.com/SECQUOIA/SECQUOIA.github.io.git cd SECQUOIA.github.io
-
Create a Dockerfile
Create a file named
Dockerfile
with the following content:FROM ruby:3.2 WORKDIR /app COPY . . RUN gem install bundler && bundle install EXPOSE 4000 CMD ["bundle", "exec", "jekyll", "serve", "--host", "0.0.0.0"]
-
Create a Gemfile
Create a file named
Gemfile
with the following content:source "https://rubygems.org" gem "jekyll", "~> 4.0.0" gem "mercenary", "~> 0.3.6" gem "webrick" gem "forty_jekyll_theme", path: "."
-
Build the Docker image
docker build -t secquoia-website .
-
Run the website locally
docker run -p 4000:4000 -v "$(pwd)":/app secquoia-website
-
View the website
Open your web browser and go to http://localhost:4000
When making changes to the website:
- Keep the Docker container running
- Edit files in your favorite editor
- Changes will be automatically detected and the site will rebuild
- Refresh your browser to see changes
To enable live reloading, stop any running containers and run:
docker run -p 4000:4000 -v "$(pwd)":/app jekyll-site bundle exec jekyll serve --livereload --host 0.0.0.0
To build the site for production:
docker run -v "$(pwd)":/app jekyll-site bundle exec jekyll build
The built site will be in the _site
directory, which can be deployed to any static hosting service.
-
If you encounter permission issues with Docker, ensure your user is added to the Docker group:
sudo usermod -aG docker $USER newgrp docker
-
If there are bundle dependency issues, try rebuilding the Docker image:
docker build --no-cache -t secquoia-website .
The Dockerfile, Gemfile, and other development configuration files are gitignored to keep the repository clean. You'll need to recreate them when setting up a new development environment.