Archiver for Slack Teams
Switch branches/tags
Nothing to show
Clone or download
Latest commit d6c9c43 Nov 14, 2018
Permalink
Failed to load latest commit information.
api Fix gometalinter issues Oct 28, 2018
config initial Apr 30, 2018
models initial Apr 30, 2018
utils Fix gometalinter issues Oct 28, 2018
vendor bumped frontend May 6, 2018
.gitignore initial Apr 30, 2018
.travis.yml Bump Go versions Oct 28, 2018
Dockerfile initial Apr 30, 2018
Gopkg.lock bumped frontend May 6, 2018
Gopkg.toml initial Apr 30, 2018
README.md Merge pull request #20 from Relequestual/patch-1 Nov 14, 2018
config.yaml.sample initial Apr 30, 2018
main.go initial Apr 30, 2018
slackarchive-screen.png Add files via upload Oct 26, 2018

README.md

SlackArchive Gitter Go Report Card Build Status codecov Docker pulls

SlackArchive can be started with just a few commands. Additionally, SlackArchive supports Let's Encrypt for easy HTTPS.

Screenshot of UI

Docker

Using SlackArchive with Docker is easy. All components and dependencies will be start correctly.

First, ensure you have both Docker (https://www.docker.com/community-edition) and Docker Compose (https://docs.docker.com/compose/install/) on your native architecture (wherever you are going to run SlackArchive).

Clone the SlackArchive docker repository:

git clone https://github.com/dutchcoders/slackarchive-docker

Copy slackarchive/config.yaml.sample to slackarchive/config.yaml, and replace all the values within {...} with the appropriate values you want. Any place with a token or key, ensure those are random. You can generate a random value on the command line with bash using the following command: openssl rand -base64 8 |md5 |head -c24;echo (if you have OpenSSL) or without ping -c 1 yahoo.com |md5 | head -c24; echo. We avoid using /dev/urandom in case you are not using a UNIX-based machine.

Follow the same instructions as above for slackarchive-bot/config.yaml.sample. Ensure you put the config file in the same folder as where the sample file is.

Make sure you change at least the password (and ideally the username) of the MongoDB user in mongodb/docker-entrypoint-initdb.d/slackarchive.js. By default, the user is slackarchive and the password is 1234. NOTE: if you change these, you must update the values in the other two configuration files, AND change the MongoDB URI/URL string in the docker-compose.yaml file under the slackarchive directive.

If you want additional security, change the MongoDB root username and password in the docker-compose.yaml file under the mongodb directive and environment variables.

With all of these configuration options updates, you should now be able to start SlackArchive using the following commands:

# 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 the following components:

Creators

Remco Verhoef (@remco_verhoef) and Kaspars Sprogis.

Copyright and license

Code and documentation copyright 2018 DutchCoders.

Code released under Affero General Public License.