Нравится проект? Слишком много денег? Купи мне кофе или что -то в этом роде! ☕
Приложение на веб-сайт для обмена и сотрудничества в списках пожеланий и подарков. Основная цель состоит в том, чтобы разрешить обмен пожеланиями и идеями подарков, не зная, что они получают.
Примечательные функции:
Известные проблемы:
Я рекомендую использовать Docker честно.
База данных MySQL конкретно. В будущем этот процесс может быть оптимизирован, и могут быть добавлены различные базы данных, поддерживаемые модулем DB. Но сейчас настройте базу данных MySQL, которую Pønskelisten может достичь и войти.
Если вы размещаете это без Docker, вы можете скачать Xampp и просто нажать «Start» на функции DB. Дальнейшая настройка не требуется! Если вы используете Docker, просто используйте изображение MySQL Docker. Есть даже пример Docker Compose Dolder Down, который просто нуждается в незначительных изменениях.
Создайте таблицу для Pønskelisten (изображение Docker делает это автоматически) и запомните имя таблицы на потом.
Если вы хотите отредактировать файл конфигурации вручную, запустите Pønskelisten, а затем дайте ему жаловаться. Вы можете редактировать файл конфигурации вручную после. Если нет, посмотрите дальше на Startup flags для запуска PønskListen с параметрами конфигурации.
Скомпилируйте выбранную вами ветвь/тег с установленным и запустите его:
$ go build
$ ./poenskelisten
... или загрузите предварительно скомпилированный релиз и запустите приложение.
Если вы хотите запустить Pønskelisten с некоторыми флагами стартапов для более плавного опыта, посмотрите на следующий раздел. Если нет, просто перейдите к третьему шагу.
Вы можете использовать флаги запуска для генерации значений для заполнения файла конфигурации. Они используются только в том случае, если файл конфигурации не имеет предварительно сконфигурированного значения для определения приоритетов. В тот момент, когда файл конфигурации имеет значения, эти флаги бесполезны. Своего рода разовая вещь.
Исключениями являются generateinvite , который будет генерировать новый, случайный код приглашения при каждом использовании, и disablesmtp который всегда отключает функцию SMTP.
| Флаг | Тип | Объяснение |
|---|---|---|
| порт | целое число | Который начинается с Порт -Понскелистен. |
| часовой пояс | нить | Временный часовой пост Pønskelisten использует. Приведено в формате имени базы данных TZ. Список можно найти здесь. |
| GENERATEINVITE | строка (true/false) | Если Pønskelisten должен генерировать код приглашения при запуске. |
| DBIP | нить | Адрес соединения Pønskelisten использует для достижения базы данных. |
| DBPORT | целое число | Порт Pønskelisten может достичь базы данных AT. |
| dbname | нить | Имя таблицы в базе данных. |
| dbusername | нить | Имя пользователя, используемое для автоатнента с базой данных. |
| dbpassword | нить | Пароль, используемый для автоатнента с базой данных. |
| Disablesmtp | строка (true/false) | Отключает SMTP, что означает, что пользовательская проверка отключена. SMTP включен по умолчанию. |
| Smtphost | нить | Используется хост SMTP -сервера. |
| Smptport | целое число | Порт хоста SMTP -сервера используется. |
| smtpusername | нить | Имя пользователя, используемое для аутентификации по отношению к используемому SMTP -серверу. |
| smtppassword | нить | Имя пользователя, используемое для аутентификации по отношению к используемому SMTP -серверу. |
| Upgradetov2 | строка (true/false) | Преобразует db.sql в папке /files в формат v2.00. |
Чтобы использовать флаг, просто запустите программу скомпилированной GO с дополнительными значениями. Такой как:
$ ./poenskelisten -port 7679
$ ./poenskelisten -port 7679 -dbip 127.0.0.1 -dbname mycooltable -smtphost smtp.justanexample.org
/files/config.json Вы можете пропустить этот шаг, если вы использовали флаги запуска на предыдущем шаге, или вернуться назад и вместо этого использовать флаги. Флаги - это просто способ дать параметры запуска для размещения файла config.json . Таблица флагов также дает некоторое представление о том, как файл конфигурации можно отредактировать вручную.
Измените файл конфигурации, чтобы он мог достичь базы данных MySQL и, возможно, SMTP -сервера, если вы не отключите функцию SMTP. В настоящее время нет интерфейса администратора, поэтому это должно быть сделано вручную в файле. Часовой пояс также необходим, но закрытый ключ должен заполняться автоматически.
Перезапустите Pønskelisten для изменений, чтобы вступить в силу.
Вы не должны иметь возможность получить доступ к Pønskelisten. По умолчанию вы можете найти фронт на localhost:8080 .
Чтобы подписаться на веб -сайт, вам нужен код приглашения. Если вы использовали флаг generateinvite вы можете найти код приглашения в файле журнала, расположенного в каталоге файлов или на консоли.
Если нет, вам нужно изменить таблицу базы данных, чтобы добавить код приглашения. Громоздкий, я знаю.
Я рекомендую установить PhpMyAdmin (интерфейс базы данных) либо в виде изображения Docker, либо локально (он предварительно упакован в XAMPP). Это может использовать для изменения базы данных.
Первый пользователь, который подписывается, является автоматически администратором. Вам нужен код приглашения для каждого пользователя, который хочет зарегистрироваться. Это может быть сгенерировано на странице администратора.
Будьте готовы получить доступ к БД каждый раз, когда пользователю удается испортить свою электронную почту во время регистрации или кому-то нужен код приглашения.
Все флаги запуска в таблице, приведенной ранее, могут использоваться в качестве переменных среды. Имейте в виду, что флаги, и, в свою очередь, переменные среды используются только в том случае, если значение еще не определена в файле конфигурации.
Единственными исключениями являются generateinvite и disablesmtp . Подумайте о удалении переменной среды generateinvite из вашего файла Docker Compose, чтобы вы не генерировали новый код при каждом перезапуске.
У этого есть Pønskelisten, MySQL DB и PhpMyAdmin. Теоретически, вам просто нужно отредактировать переменные среды для службы Pønskelisten для этого примера для функционирования.
version: '3.3'
services:
db:
image: mysql:5.7
container_name: poenskelisten-db
restart: unless-stopped
environment:
# The table name you chose
MYSQL_DATABASE: 'ponske'
# User, so you don't have to use root
MYSQL_USER: 'myuser'
# Please switch this password
MYSQL_PASSWORD: 'mystrongpassword'
# Password for root access, change this too
MYSQL_ROOT_PASSWORD: 'root'
networks:
- db
expose:
- '3306'
# Where our DB data will be persisted
volumes:
- ./db/:/var/lib/mysql/ # Location of DB data
poenskelisten:
container_name: poenskelisten-app
image: aunefyren/poenskelisten:latest
restart: unless-stopped
networks:
- db
depends_on:
- db
# Where our Pønskeliste files are
volumes:
- ./data/:/app/files/
ports:
- '8080:8080'
environment:
# Generate an unused invite code on startup
# Remove this value to avoid continuous code-generation
generateinvite: true
# The container will only respect these ENV if they are empty in the config.json
# Useful for first setup
port: 8080
timezone: Europe/Oslo
dbip: db
dbport: 3306
dbname: ponske
dbusername: myuser
dbpassword: mystrongpassword
disablesmtp: false
smtphost: smtphost
smtpport: 25
smtpusername: myusername
smtppassword: mypassword
phpmyadmin:
image: phpmyadmin:latest
restart: unless-stopped
environment:
- PMA_ARBITRARY=1
# DB table
- PMA_HOST:ponske
# Root password
- MYSQL_ROOT_PASSWORD:root
# Timezone
- TZ=Europe/Oslo
container_name: poenskelisten-phpmyadmin
ports:
- 80:80
depends_on:
- db
networks:
- db
networks:
db:
external: false
Что означает Pønskelisten?
Просто умная норвежская игра слов, которая вообще не переводится на английский. Список желаний называется «Ønskeliste» на норвежском языке, а глагол «Pønske» означает планировать и планировать. Следовательно, Pønskelisten.
Не могли бы вы удалить необходимость управления БД напрямую?
Да, да, это наступает.
Что ж, это в раннем развитии, и делает его удобным для пользователя, и стоит хостинга, и требует времени. Это, безусловно, функционально, но это не обязательно то, что вам нужно или нужно. Не стесняйтесь добавлять запросы на обратную связь или функции в форме проблем GitHub.