喜欢这个项目?有太多钱吗?给我买咖啡之类的东西! ☕️
基于网站的申请,用于共享和合作愿望清单和礼物。主要目标是允许愿望清单和声称的礼物创意,而没有接受者知道他们收到的东西。
值得注意的功能:
已知问题:
我建议诚实地使用Docker。
MySQL数据库。将来,可以简化此过程,并且可以添加DB模块支持的不同数据库。但是目前,设置了Pønskelisten可以访问并登录的MySQL数据库。
如果您在没有Docker的情况下托管此功能,则可以下载XAMPP,然后单击DB功能上的“开始”。无需进一步的设置!如果您使用的是Docker,只需使用MySQL Docker映像即可。甚至还有一个Docker进一步构成示例,只需要少量调整即可。
为Pønskelisten创建一个表(Docker Image会自动执行此操作),并记住以后的表名。
如果要手动编辑配置文件,请启动Pønskelisten,然后让它抱怨一堆。您可以在之后手动编辑配置文件。如果没有,请进一步查看以配置选项启动Pønsklisten的Startup flags 。
要么使用GO安装并运行它来编译您选择的分支/标签:
$ go build
$ ./poenskelisten
...或下载预编译版本并启动应用程序。
如果您想使用一些启动标志启动Pønskelisten,以获得更流畅的体验,请查看下一节。如果没有,只需进入第三步即可。
您可以使用启动标志来生成值,以填充配置文件。仅当配置文件没有预先配置的值以优先级时,它们才会使用。配置文件具有值的那一刻,这些标志是没有用的。有点是一次。
例外是generateinvite ,它将在每次使用情况下生成新的,随机的邀请代码,并disablesmtp将始终禁用SMTP函数的MTP。
| 旗帜 | 类型 | 解释 |
|---|---|---|
| 港口 | 整数 | Pønskelisten港开始了哪个港。 |
| 时区 | 细绳 | 时区Pønskelisten使用。在TZ数据库名称格式中给出。列表可以在这里找到。 |
| 生成 | 字符串(是/fals) | 如果Pønskelisten应该在启动时生成邀请码。 |
| dbip | 细绳 | 连接地址Pønskelisten用于到达数据库。 |
| DBPORT | 整数 | Pønskelisten港可以到达数据库。 |
| dbname | 细绳 | 数据库中表的名称。 |
| dbusername | 细绳 | 用户名用于使用数据库自动化。 |
| DBPassword | 细绳 | 用于使用数据库自动化的密码。 |
| disablesmtp | 字符串(是/fals) | 禁用SMTP,这意味着用户verificaton被禁用。默认情况下启用SMTP。 |
| smtphost | 细绳 | 使用的SMTP服务器主机使用。 |
| smtpport | 整数 | 使用的SMTP服务器主机端口使用。 |
| smtpusername | 细绳 | 用户名用于对使用的SMTP服务器进行身份验证。 |
| smtppassword | 细绳 | 用户名用于对使用的SMTP服务器进行身份验证。 |
| UPGRADETOV2 | 字符串(是/fals) | 将/files文件夹中的db.sql转换为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 。考虑从Docker组合文件中删除generateinvite环境变量,以免在每个重新启动时生成新代码。
它具有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问题的形式添加反馈或功能请求。