喜歡這個項目?有太多錢嗎?給我買咖啡之類的東西! ☕️
基於網站的申請,用於共享和合作願望清單和禮物。主要目標是允許願望清單和聲稱的禮物創意,而沒有接受者知道他們收到的東西。
值得注意的功能:
已知問題:
我建議誠實地使用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問題的形式添加反饋或功能請求。