A simple view/visitor counter for a website in order to provide extremely fast and basic analytics.
Go to file
Steven Polley 7a7993abd8
continuous-integration/drone/push Build is passing Details
initial commit
2020-06-03 20:40:13 -06:00
countersql initial commit 2020-06-03 20:40:13 -06:00
.drone.yml initial commit 2020-06-03 20:40:13 -06:00
Dockerfile initial commit 2020-06-03 20:40:13 -06:00
README.md initial commit 2020-06-03 20:40:13 -06:00
main.go initial commit 2020-06-03 20:40:13 -06:00

README.md

siteviewcounter

Build Status

A simple view counter for a website

Database initialization

SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;

CREATE DATABASE `counter` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `counter`;

CREATE TABLE `visit` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ip_address` varchar(15) NOT NULL,
  `visits` int(11) NOT NULL,
  `last_visited` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Example docker-compose.yml


version: '3.7'

services:
 
  counter:
    image: registry.deadbeef.codes/siteviewcounter:latest
    restart: always
    depends_on:
      - traefik
    expose:
      - "8080"
    environment:
      - dbname=counter
      - dbhostname=counter-db
      - dbusername=root
      - dbpassword=CHANGEME
      - timezone=America/Edmonton
      
      
  counter-db:
    image: mariadb:10
    restart: always
    expose:
      - "3306"
    volumes:
      - /data/counter-db:/var/lib/mysql
    environment:
      - MYSQL_RANDOM_ROOT_PASSWORD=yes
      - MYSQL_DATABASE=counter
      - TZ=America/Edmonton