Skip to content

Commit

Permalink
initial
Browse files Browse the repository at this point in the history
  • Loading branch information
nl5887 committed Apr 30, 2018
0 parents commit cb32c2b
Show file tree
Hide file tree
Showing 2,235 changed files with 454,030 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
@@ -0,0 +1 @@
.bak
34 changes: 34 additions & 0 deletions .travis.yml
@@ -0,0 +1,34 @@
language: go

go:
- master
- tip
- 1.9.x
- 1.10.x

sudo: required
dist: trusty

go_import_path: github.com/dutchcoders/slackarchive

services:
- docker

os:
- linux

env:
- ARCH=x86_64

install:
- sudo apt-get update -qq
- sudo apt-get install -y software-properties-common
- go get -u -v gopkg.in/alecthomas/gometalinter.v2
- go get -u -v github.com/dutchcoders/slackarchive
- gometalinter.v2 --install

script:
- go test -v ./...
- go test -race -coverprofile=coverage.txt -covermode=atomic
- go build ./...
- gometalinter.v2 --fast --deadline 10m --errors --vendor --sort=linter ./... --exclude='blank import' --exclude='should have comment' --exclude='should be of the form "' --exclude='can be annoying to use' # Report warnings, but do not fail if there are any
16 changes: 16 additions & 0 deletions Dockerfile
@@ -0,0 +1,16 @@
FROM golang:latest AS builder

ADD . /go/src/github.com/dutchcoders/slackarchive
WORKDIR /go/src/github.com/dutchcoders/slackarchive

ARG LDFLAGS=""
RUN go build -tags="" -o /go/bin/app github.com/dutchcoders/slackarchive

FROM debian
RUN apt-get update && apt-get install -y ca-certificates
COPY --from=builder /go/bin/app /slackarchive/slackarchive

RUN mkdir /config

ENTRYPOINT ["/slackarchive/slackarchive", "--config", "/config/config.yaml"]

135 changes: 135 additions & 0 deletions Gopkg.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

130 changes: 130 additions & 0 deletions Gopkg.toml
@@ -0,0 +1,130 @@

## Gopkg.toml example (these lines may be deleted)

## "metadata" defines metadata about the project that could be used by other independent
## systems. The metadata defined here will be ignored by dep.
# [metadata]
# key1 = "value that convey data to other systems"
# system1-data = "value that is used by a system"
# system2-data = "value that is used by another system"

## "required" lists a set of packages (not projects) that must be included in
## Gopkg.lock. This list is merged with the set of packages imported by the current
## project. Use it when your project needs a package it doesn't explicitly import -
## including "main" packages.
# required = ["github.com/user/thing/cmd/thing"]

## "ignored" lists a set of packages (not projects) that are ignored when
## dep statically analyzes source code. Ignored packages can be in this project,
## or in a dependency.
# ignored = ["github.com/user/project/badpkg"]

## Constraints are rules for how directly imported projects
## may be incorporated into the depgraph. They are respected by
## dep whether coming from the Gopkg.toml of the current project or a dependency.
# [[constraint]]
## Required: the root import path of the project being constrained.
# name = "github.com/user/project"
#
## Recommended: the version constraint to enforce for the project.
## Only one of "branch", "version" or "revision" can be specified.
# version = "1.0.0"
# branch = "master"
# revision = "abc123"
#
## Optional: an alternate location (URL or import path) for the project's source.
# source = "https://github.com/myfork/package.git"
#
## "metadata" defines metadata about the dependency or override that could be used
## by other independent systems. The metadata defined here will be ignored by dep.
# [metadata]
# key1 = "value that convey data to other systems"
# system1-data = "value that is used by a system"
# system2-data = "value that is used by another system"

## Overrides have the same structure as [[constraint]], but supersede all
## [[constraint]] declarations from all projects. Only [[override]] from
## the current project's are applied.
##
## Overrides are a sledgehammer. Use them only as a last resort.
# [[override]]
## Required: the root import path of the project being constrained.
# name = "github.com/user/project"
#
## Optional: specifying a version constraint override will cause all other
## constraints on this project to be ignored; only the overridden constraint
## need be satisfied.
## Again, only one of "branch", "version" or "revision" can be specified.
# version = "1.0.0"
# branch = "master"
# revision = "abc123"
#
## Optional: specifying an alternate source location as an override will
## enforce that the alternate location is used for that project, regardless of
## what source location any dependent projects specify.
# source = "https://github.com/myfork/package.git"



[[constraint]]
branch = "master"
name = "github.com/VojtechVitek/ratelimit"

[[constraint]]
branch = "master"
name = "github.com/dutchcoders/mockingbird"

[[constraint]]
branch = "master"
name = "github.com/dutchcoders/slack"

[[constraint]]
name = "github.com/go-sql-driver/mysql"
version = "1.3.0"

[[constraint]]
name = "github.com/gorilla/mux"
version = "1.4.0"

[[constraint]]
name = "github.com/gorilla/sessions"
version = "1.1.0"

[[constraint]]
name = "github.com/gorilla/websocket"
version = "1.2.0"

[[constraint]]
name = "github.com/nlopes/slack"
version = "0.1.0"

[[constraint]]
branch = "master"
name = "github.com/nu7hatch/gouuid"

[[constraint]]
name = "github.com/op/go-logging"
version = "1.0.0"

[[constraint]]
name = "github.com/smartystreets/goconvey"
version = "1.6.2"

[[constraint]]
branch = "master"
name = "github.com/tappleby/slack_auth_proxy"

[[constraint]]
branch = "master"
name = "golang.org/x/crypto"

[[constraint]]
branch = "v2"
name = "gopkg.in/mgo.v2"

[[constraint]]
name = "gopkg.in/olivere/elastic.v5"

[[constraint]]
branch = "v2"
name = "gopkg.in/yaml.v2"
59 changes: 59 additions & 0 deletions README.md
@@ -0,0 +1,59 @@
# SlackArchive [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dutchcoders/slackarchive?utm_source=badge&utm_medium=badge&utm_campaign=&utm_campaign=pr-badge&utm_content=badge) [![Go Report Card](https://goreportcard.com/badge/dutchcoders/slackarchive)](https://goreportcard.com/report/dutchcoders/slackarchive) [![Build Status](https://travis-ci.org/dutchcoders/slackarchive.svg?branch=master)](https://travis-ci.org/dutchcoders/slackarchive) [![codecov](https://codecov.io/gh/dutchcoders/slackarchive/branch/master/graph/badge.svg)](https://codecov.io/gh/dutchcoders/slackarchive) [![Docker pulls](https://img.shields.io/docker/pulls/dutchcoders/slackarchive.svg)](https://hub.docker.com/r/dutchcoders/slackarchive/)

SlackArchive can be started with just a few commands. First make sure you create copies of the config.yaml.sample to their according config.yaml and change the files with the correct parameters. SlackArchive supports Let's Encrypt for https.

## Docker

Using SlackArchive with Docker is easy, just run the following commands. All components and dependencies will be start correctly.

```
# clone repository
git clone https://github.com/dutchcoders/slackarchive-docker
# copy sample configs
cp slackarchive/config.yaml.sample slackarchive/config.yaml
cp slackarchive-bot/config.yaml.sample slackarchive-bot/config.yaml
# update docker-compose and create mongo passwords and ports
# update slackarchive/config.yaml with correct tokens
# update slackarchive-bot/config.yaml with correct tokens
# create network
docker network create slackarchive
# create elasticsearch and mongodb and wait to be started
docker-compose run --rm wait_for_dependencies
# initialize elasticsearch and mongodb
docker-compose run --rm slackarchive-init
# start slackarchive
docker-compose up slackarchive
# start slackarchive-bot
docker-compose up slackarchive-bot
```

Now SlackArchive has been started and you can access it at http://127.0.0.1:8080/.

## Components

SlackArchive consists of fhe following components:

* SlackArchive (https://github.com/dutchcoders/slackarchive)
* SlackArchive App (https://github.com/dutchcoders/slackarchive-app)
* SlackArchive ArchiveBot (https://github.com/dutchcoders/slackarchive-bot)
* SlackArchive Importer (https://github.com/dutchcoders/slackarchive-import)

* Docker environment (https://github.com/dutchcoders/slackarchive-docker)
* Docker Init (https://github.com/dutchcoders/slackarchive-init)

## Creators

Remco Verhoef (@remco_verhoef) and Kaspars Sprogis.

## Copyright and license

Code and documentation copyright 2018 DutchCoders.

Code released under [Affero General Public License](LICENSE).

0 comments on commit cb32c2b

Please sign in to comment.