Комментарии 28
https://www.mattermost.org/
без подобных ограничений и необходимости пилить костыли.
Сам сёрвис и веб-приложение работает без проблем. Я столкнулся со сложностью конфигураций push-notifications для мобильных приложений: там надо ставить для этого отдельный push-сервис, и потом связывать его с Googe и с Apple… Я уже не стал возиться.
P.S.
Сам я слак не юзаю, знакомился как-то, он мне показался через чур замудрённым в плане UI, между слаком и хипчатом всё таки выбрал последний, у него были менее жесткие ограничения на бесплатном уровне. Тем не менее у хипчата тоже ограничения по хранению истории, ноя ограничился написание простого скрипта стнкующего по апи в sqlite хистори, до написания какого-либо WUI так руки и не дошли…
Если найду этот 10-строчник, поделюсь, самого сервиса давно нет.
Индексация только публичных групп и пониженный уровень токена только с необходимыми правами
Т.е. поиск по приватным группам не производится?
2) Не хочется брать на себя ответственность хранения чей то публичной переписки
У нас бОльшая часть групп — приватные, поэтому это критичная фича.
Или посмотрите на один из проектов которые я в начале привел. Они чисто для личного использования скачивают. Просто очень скользкий момент хранения приватных сообщений без шифрования на сервере с доступом админа сервера.
Узнаю русского человека! )
Никакие ограничения slack не обходятся. Просто используется его API для того чтобы хранить копию своих сообщений.
И это не только для бесплатности, но может быть использовано как бекап своих сообщений на черный день.
Пользоваться все хотят, купить или платить каждый месяц не все готовы, вполне понятно, что на бесплатных планах урезано всё, но никто и не говорит, что это плохо и надо «хакнуть», речь идёт о банальном хранении своей переписки, кому-то важно хранить всю хистори и лимита в 10к сообщений(или сколько там у слака на бесплатном плане) мало, вот народ и придумывает способы решить это.
Вы просто путаете мои личные траты и траты на софт на работе где решают другие люди и лицензии стоят других денег.
Прошу прощения, если я Вас задел, мой комментарий был адресован stankevichEvg, а не Вам.
Я также разделяю Ваши взгляды о тратах "на работе" и "для себя", более того, у меня был опыт ещё более грустный работы в одной конторе: там юзалось исключительно всё бесплатное, чтобы не платить и из месенджеров юзался только скайп, а мне хотелось привнести в работу больше удобства: я загорелся настроить работу через хипчат/слак чтобы все уведомления с редмайна приходили в чат, чтобы все ошибки на проекте с sentry также прилетали в чат, чтобы с gitlab тоже всё прилетало в чат и чтобы деплой делался ботом =)
Заюзал я хипчат, как уже говорил, но тоже столкнулся с ограничением на бесплатном плане и мне его не хватало, а покупать за свои деньги аккаунт для конторы, я естественно, не буду.
Осталось только разобраться с https в uwsgi.
Думаю можно так, но вообще для чего то серьезного лучше оставить в uwsgi только python, остальное вынести в nginx
Среди дальнейших шагов для улучшения безопасности в settings_local.py
- Нужно выключить дебаг (DEBUG=False)
- Заполнить ALLOWED_HOSTS
- Изменить SECRET_KEY
- Заполнить ADMINS
И установить fail2ban для веб сервера и ssh
Вижу on_centos7, on_centos7_interactive, а также упоминание provisioning_on_amazonlinux.sh, но только в README.md
И кстати — большое спасибо за решение, понравилось и очень удобно.
10. sudo ./provisioning_on_amazonlinux.sh
Во-первых, не provisioning_on_amazonlinux.sh, а provisioning_on_centos7.sh (та же ошибка в README). Но это мелочи.
11. Всё, после этого приложение запущено и доступно по вашему адресу, история синхронизируется раз в пять минут
12. Нужно зайти на сайт и предоставить доступ в свой аккаунт slack
Чего-то не работает. CentOS 7.2 на Азуре ( 3.10.0-327.36.3.el7.x86_64). Порт 80 открыт, но никто не отвечает.
При выполнении скрипта в конце пошли ошибки:
Complete!
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
No package uwsgi available.
No package uwsgi-router-http available.
No package uwsgi-plugin-python available.
Error: Nothing to do
Cloning into 'slack-backup'...
remote: Counting objects: 368, done.
remote: Total 368 (delta 0), reused 0 (delta 0), pack-reused 368
Receiving objects: 100% (368/368), 260.74 KiB | 0 bytes/s, done.
Resolving deltas: 100% (220/220), done.
sudo: pip: command not found
Traceback (most recent call last):
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Traceback (most recent call last):
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Traceback (most recent call last):
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Traceback (most recent call last):
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Traceback (most recent call last):
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
FirewallD is not running
FirewallD is not running
sh: /usr/sbin/uwsgi: No such file or directory
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py
Но сильно лучше не стало.
Повторный запуск (после удаления папки /usr/local/src/slack-backup):
Successfully installed django-emoji
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 359, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 294, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 342, in execute
self.check()
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 374, in check
include_deployment_checks=include_deployment_checks,
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 361, in _run_checks
return checks.run_checks(**kwargs)
File "/usr/lib/python2.7/site-packages/django/core/checks/registry.py", line 81, in run_checks
new_errors = check(app_configs=app_configs)
File "/usr/lib/python2.7/site-packages/django/core/checks/urls.py", line 14, in check_url_config
return check_resolver(resolver)
File "/usr/lib/python2.7/site-packages/django/core/checks/urls.py", line 24, in check_resolver
for pattern in resolver.url_patterns:
File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/usr/lib/python2.7/site-packages/django/urls/resolvers.py", line 313, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/usr/lib/python2.7/site-packages/django/urls/resolvers.py", line 306, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/local/src/slack-backup/slackbackup/urls.py", line 15, in <module>
url(r'^emoji/', include('emoji.urls')),
File "/usr/lib/python2.7/site-packages/django/conf/urls/__init__.py", line 50, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named urls
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 359, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 294, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 342, in execute
self.check()
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 374, in check
include_deployment_checks=include_deployment_checks,
File "/usr/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 62, in _run_checks
issues.extend(super(Command, self)._run_checks(**kwargs))
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 361, in _run_checks
return checks.run_checks(**kwargs)
File "/usr/lib/python2.7/site-packages/django/core/checks/registry.py", line 81, in run_checks
new_errors = check(app_configs=app_configs)
File "/usr/lib/python2.7/site-packages/django/core/checks/urls.py", line 14, in check_url_config
return check_resolver(resolver)
File "/usr/lib/python2.7/site-packages/django/core/checks/urls.py", line 24, in check_resolver
for pattern in resolver.url_patterns:
File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/usr/lib/python2.7/site-packages/django/urls/resolvers.py", line 313, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/usr/lib/python2.7/site-packages/django/urls/resolvers.py", line 306, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/local/src/slack-backup/slackbackup/urls.py", line 15, in <module>
url(r'^emoji/', include('emoji.urls')),
File "/usr/lib/python2.7/site-packages/django/conf/urls/__init__.py", line 50, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named urls
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 359, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 294, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 342, in execute
self.check()
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 374, in check
include_deployment_checks=include_deployment_checks,
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 361, in _run_checks
return checks.run_checks(**kwargs)
File "/usr/lib/python2.7/site-packages/django/core/checks/registry.py", line 81, in run_checks
new_errors = check(app_configs=app_configs)
File "/usr/lib/python2.7/site-packages/django/core/checks/urls.py", line 14, in check_url_config
return check_resolver(resolver)
File "/usr/lib/python2.7/site-packages/django/core/checks/urls.py", line 24, in check_resolver
for pattern in resolver.url_patterns:
File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/usr/lib/python2.7/site-packages/django/urls/resolvers.py", line 313, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/usr/lib/python2.7/site-packages/django/urls/resolvers.py", line 306, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/local/src/slack-backup/slackbackup/urls.py", line 15, in <module>
url(r'^emoji/', include('emoji.urls')),
File "/usr/lib/python2.7/site-packages/django/conf/urls/__init__.py", line 50, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named urls
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 359, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 294, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 342, in execute
self.check()
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 374, in check
include_deployment_checks=include_deployment_checks,
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 361, in _run_checks
return checks.run_checks(**kwargs)
File "/usr/lib/python2.7/site-packages/django/core/checks/registry.py", line 81, in run_checks
new_errors = check(app_configs=app_configs)
File "/usr/lib/python2.7/site-packages/django/core/checks/urls.py", line 14, in check_url_config
return check_resolver(resolver)
File "/usr/lib/python2.7/site-packages/django/core/checks/urls.py", line 24, in check_resolver
for pattern in resolver.url_patterns:
File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/usr/lib/python2.7/site-packages/django/urls/resolvers.py", line 313, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/usr/lib/python2.7/site-packages/django/urls/resolvers.py", line 306, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/local/src/slack-backup/slackbackup/urls.py", line 15, in <module>
url(r'^emoji/', include('emoji.urls')),
File "/usr/lib/python2.7/site-packages/django/conf/urls/__init__.py", line 50, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named urls
Т.е.: ImportError: No module named urls
Ну и «FirewallD is not running» остались.
enemy_spb есть идеи?
К сожалению снова может быть актуально....
Как развернуть для своей команды архив slack сообщений c синхронизацией и поиском