Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
406109b0
Commit
406109b0
authored
May 01, 2022
by
boojack
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: db initialization
parent
eae858e2
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
32 additions
and
37 deletions
+32
-37
README.md
README.md
+4
-8
profile.go
common/profile.go
+6
-3
docker-deploy-guide.md
docs/deploy/docker-deploy-guide.md
+0
-17
basic_auth.go
server/basic_auth.go
+1
-1
10000__reset.sql
store/migration/10000__reset.sql
+4
-0
10001__schema.sql
store/migration/10001__schema.sql
+0
-5
sqlite.go
store/sqlite.go
+17
-3
No files found.
README.md
View file @
406109b0
...
@@ -28,15 +28,11 @@ Making sure that you are in charge of your data and more customizations.
...
@@ -28,15 +28,11 @@ Making sure that you are in charge of your data and more customizations.
-
📑 Experience excellent interaction logic;
-
📑 Experience excellent interaction logic;
-
⚡️ Quick privatization deployment;
-
⚡️ Quick privatization deployment;
## ⚓️ Deploy
Guide
with Docker
## ⚓️ Deploy with Docker
1.
download the
[
initialized db file
](
https://github.com/justmemos/memos/raw/main/resources/memos_release.db
)
:
```
docker
docker run --name memos --publish 8080:8080 --volume ~/path/to/your/data/:/var/opt/memos -e mode=release neosmemo/memos:dev
2.
pull and run docker image:
```
```docker
docker run --name memos --publish 8080:8080 --volume ~/path/to/your/data/:/var/opt/memos -e mode=release -e data=/var/opt/memos neosmemo/memos:dev
```
The default user account is
`guest`
with password
`secret`
.
The default user account is
`guest`
with password
`secret`
.
...
...
common/profile.go
View file @
406109b0
...
@@ -14,7 +14,7 @@ type Profile struct {
...
@@ -14,7 +14,7 @@ type Profile struct {
// Port is the binding port for server.
// Port is the binding port for server.
Port
int
`json:"port"`
Port
int
`json:"port"`
// DSN points to where Memos stores its own data
// DSN points to where Memos stores its own data
DSN
string
`json:"
-
"`
DSN
string
`json:"
dsn
"`
}
}
func
checkDSN
(
dataDir
string
)
(
string
,
error
)
{
func
checkDSN
(
dataDir
string
)
(
string
,
error
)
{
...
@@ -50,7 +50,10 @@ func GetProfile() Profile {
...
@@ -50,7 +50,10 @@ func GetProfile() Profile {
port
=
8080
port
=
8080
}
}
data
:=
os
.
Getenv
(
"data"
)
data
:=
""
if
mode
==
"release"
{
data
=
"/var/opt/memos"
}
dataDir
,
err
:=
checkDSN
(
data
)
dataDir
,
err
:=
checkDSN
(
data
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -58,7 +61,7 @@ func GetProfile() Profile {
...
@@ -58,7 +61,7 @@ func GetProfile() Profile {
os
.
Exit
(
1
)
os
.
Exit
(
1
)
}
}
dsn
:=
fmt
.
Sprintf
(
"
file:
%s/memos_%s.db"
,
dataDir
,
mode
)
dsn
:=
fmt
.
Sprintf
(
"%s/memos_%s.db"
,
dataDir
,
mode
)
return
Profile
{
return
Profile
{
Mode
:
mode
,
Mode
:
mode
,
...
...
docs/deploy/docker-deploy-guide.md
deleted
100644 → 0
View file @
eae858e2
# Deploy `memos` with Docker
1.
download the initialized db file:
```shell
mkdir ~/data
cd ~/data
wget --no-check-certificate https://github.com/justmemos/memos/blob/main/resources/memos-release.db?raw=true
```
2.
pull and run docker image:
```docker
docker run --name memos --publish 8080:8080 --volume ~/path/to/your/data/:/var/opt/memos -e mode=release -e data=/var/opt/memos neosmemo/memos:dev
```
The default user account is
`guest`
with password
`secret`
.
server/basic_auth.go
View file @
406109b0
...
@@ -56,7 +56,7 @@ func removeUserSession(c echo.Context) error {
...
@@ -56,7 +56,7 @@ func removeUserSession(c echo.Context) error {
func
BasicAuthMiddleware
(
us
api
.
UserService
,
next
echo
.
HandlerFunc
)
echo
.
HandlerFunc
{
func
BasicAuthMiddleware
(
us
api
.
UserService
,
next
echo
.
HandlerFunc
)
echo
.
HandlerFunc
{
return
func
(
c
echo
.
Context
)
error
{
return
func
(
c
echo
.
Context
)
error
{
// Skips auth
// Skips auth
if
common
.
HasPrefixes
(
c
.
Path
(),
"/api/auth"
)
{
if
common
.
HasPrefixes
(
c
.
Path
(),
"/api/auth"
,
"/api/ping"
)
{
return
next
(
c
)
return
next
(
c
)
}
}
...
...
store/migration/10000__reset.sql
0 → 100644
View file @
406109b0
DROP
TABLE
IF
EXISTS
`memo`
;
DROP
TABLE
IF
EXISTS
`shortcut`
;
DROP
TABLE
IF
EXISTS
`resource`
;
DROP
TABLE
IF
EXISTS
`user`
;
store/migration/10001__schema.sql
View file @
406109b0
DROP
TABLE
IF
EXISTS
`memo`
;
DROP
TABLE
IF
EXISTS
`shortcut`
;
DROP
TABLE
IF
EXISTS
`resource`
;
DROP
TABLE
IF
EXISTS
`user`
;
-- user
-- user
CREATE
TABLE
user
(
CREATE
TABLE
user
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
...
...
store/sqlite.go
View file @
406109b0
...
@@ -7,6 +7,7 @@ import (
...
@@ -7,6 +7,7 @@ import (
"fmt"
"fmt"
"io/fs"
"io/fs"
"memos/common"
"memos/common"
"os"
"sort"
"sort"
_
"github.com/mattn/go-sqlite3"
_
"github.com/mattn/go-sqlite3"
...
@@ -42,12 +43,24 @@ func (db *DB) Open() (err error) {
...
@@ -42,12 +43,24 @@ func (db *DB) Open() (err error) {
}
}
// Connect to the database.
// Connect to the database.
if
db
.
Db
,
err
=
sql
.
Open
(
"sqlite3"
,
db
.
DSN
);
err
!=
nil
{
sqlDB
,
err
:=
sql
.
Open
(
"sqlite3"
,
db
.
DSN
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to open db with dsn: %s, err: %w"
,
db
.
DSN
,
err
)
return
fmt
.
Errorf
(
"failed to open db with dsn: %s, err: %w"
,
db
.
DSN
,
err
)
}
}
db
.
Db
=
sqlDB
// If db file not exists, we should migrate and seed the database.
if
_
,
err
:=
os
.
Stat
(
db
.
DSN
);
errors
.
Is
(
err
,
os
.
ErrNotExist
)
{
if
err
:=
db
.
migrate
();
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to migrate: %w"
,
err
)
}
if
err
:=
db
.
seed
();
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to seed: %w"
,
err
)
}
}
else
{
// If db file exists and mode is dev, we should migrate and seed the database.
if
db
.
mode
==
"dev"
{
if
db
.
mode
==
"dev"
{
// If mode is dev, then we will migrate and seed the database.
if
err
:=
db
.
migrate
();
err
!=
nil
{
if
err
:=
db
.
migrate
();
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to migrate: %w"
,
err
)
return
fmt
.
Errorf
(
"failed to migrate: %w"
,
err
)
}
}
...
@@ -55,6 +68,7 @@ func (db *DB) Open() (err error) {
...
@@ -55,6 +68,7 @@ func (db *DB) Open() (err error) {
return
fmt
.
Errorf
(
"failed to seed: %w"
,
err
)
return
fmt
.
Errorf
(
"failed to seed: %w"
,
err
)
}
}
}
}
}
return
err
return
err
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment