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
Dockerfilewith 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
Gemfilewith 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.0To build the site for production:
docker run -v "$(pwd)":/app jekyll-site bundle exec jekyll buildThe 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.