Giter Club home page Giter Club logo

website's Introduction

dbwebb.se A Website

Join the chat at https://gitter.im/mosbth/dbwebb

This is the main website for dbwebb.se, live at https://dbwebb.se.

The short Docker story

This is how you can run and develop this repo within a Docker environment.

Clone the website repo to get a clean install.

Prepare to run website in docker.

make docker

This creates the cache/ directory where the website stores it cached files.

Remember to clean the Anax cache when making updates to files in the content/ directory.

make clean-cache-anax

You can now can start the website container.

docker-compose up website
docker-compose up -d website

Point your browser to "localhost:8080" and wait a few secods for the cache to warm up.

Logfiles from Apache is written to log/{access,error}.log.

Review the docker-compose.yaml to see what is mounted into the container and which directories that are not (vendor/).

You can connect to the running container to inspect it, like this.

docker-compose exec website bash

If this gives error try running composer install in the folder /app inside the container after you have started the container with the command below. To enter container run docker exec -it <container_name> bash.

Start up the webserver using docker-compose.

docker-compose up -d website

Open a web browser to localhost:8080 to view the site.

Close down the docker container.

docker-compose down website

Really short Docker-story

You may run the website directly using docker.

docker run -p 8080:80 dbwebb/website

That might be useful if you want to have your own local backup instance of the website.

Dev story

This is if the docker way does not work for you or if you are a developer.

$ git clone <the original or your forked repo>
$ cd <the original or your forked repo>
$ make etc-hosts
$ make virtual-host
$ make update

Now open your browser at local.dbwebb.se and browse the website.

If you need to upgrade your existing installation you can just redo it all.

$ make etc-hosts virtual-host update

For developers and maintainers

This is guidelines on how to setup your own local development environment for this website.

Apache and PHP

On Windows and Mac OS you may use XAMPP.

On Debian this will make it happen, it is Apache2 and PHP5 (with pecl and GD).

$ sudo apt-get install apache2 php5 libapache2-mod-php5 php5-dev php-pear php5-gd

Install Composer and YAML.

Apache virtual host

You need a Apache virtual host as local.dbwebb.se.

  1. Clone the website to ~/git/dbwebb.se.
$ git clone <the original or your forked repo>
$ cd <the original or your forked repo>
  1. Create an entry in the /etc/hosts for local.dbwebb.se.
$ make etc-hosts
  1. Create the virtual host, the basis can be found here.
$ make virtual-host-echo
$ make virtual-host       # On Debian to just do it
  1. Make and publish to the local structure at ~/htdocs/dbwebb.se.
$ make update
  1. Restart the webserver and open your browser at local.dbwebb.se and browse the website.

Keep updated

Update the code base, the external packages and publish locally.

$ make update

Develop and test locally

Make changes in your repo, publish using make local-publish and reload your browser.

# Do changes and then publish them locally.
$ make local-publish

# Clear the cache when publishing
$ make local-publish-clear

Install all submodules

Some content is available in external submodules. To install them, where you have the properties to do so, do like this.

$ make submodule-init local-publish

To keep updated, including all submodules.

$ make update-all

Recreate all symbolic links using -r

This might be useful on Windows when using WSL bash and storing the files in the Windows filesystem and using docker with mounted volumes. The script recreates all symbolic links using the -r flag.

# Go to the root of the repo
for f in $( find content -type l ); do
    l=$( readlink -f "$f" )
    unlink "$f"
    ln -srf "$l" "$f"
    echo "$f -> $l"
done

Setup the production environment

This is a sample production environment.

# Get the source to git/dbwebb.se
git clone [email protected]:dbwebb-se/website.git dbwebb.se
cd dbwebb.se
composer install

# Setup the mirror at htdoc/dbwebb.se
make site-build
make local-publish

# Create the virtual host for http
make virtual-host

# Create the certs
make ssl-cert-create

# Create the virtual host for https
make virtual-host-https

Add crontab.

30   6,12,18 * * * MAILTO=""; cd $HOME/git/dbwebb.se; git pull && bash -cl "make update-all" &> /dev/null
 .                                                             
..:  Copyright (c) 2012 - 2021 Mikael Roos, [email protected]   

website's People

Contributors

abberadhi avatar andreasarne avatar arwebse avatar bjorn97 avatar dennisskoko avatar emilfolino avatar epkmagr avatar jesperjohnsson avatar lakuapik avatar lewenhagen avatar litemerafrukt avatar livila avatar mabn17 avatar magnusgreiff avatar mope18 avatar mosbth avatar niklasaurora avatar ocpu avatar palkess avatar pejg12 avatar pereriksson avatar richardnilssonsma avatar schanihbg avatar scriptcoded avatar sonnerberg avatar spacelenore avatar thulin82 avatar zero2k avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.