mirror of
https://github.com/luzifer-docker/codimd.git
synced 2024-11-08 14:20:11 +00:00
Initial
Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
commit
b0a89cd406
4 changed files with 167 additions and 0 deletions
71
Dockerfile
Normal file
71
Dockerfile
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
FROM node:7
|
||||||
|
|
||||||
|
ENV VERSION master
|
||||||
|
|
||||||
|
# ENV DEBUG true
|
||||||
|
# ENV HMD_DOMAIN localhost
|
||||||
|
# ENV HMD_URL_PATH ""
|
||||||
|
# ENV HMD_PORT 3000
|
||||||
|
# ENV HMD_ALLOW_ORIGIN localhost, hackmd.io
|
||||||
|
# ENV HMD_PROTOCOL_USESSL true
|
||||||
|
# ENV HMD_URL_ADDPORT true
|
||||||
|
# ENV HMD_USECDN true
|
||||||
|
# ENV HMD_ALLOW_ANONYMOUS true
|
||||||
|
# ENV HMD_ALLOW_FREEURL true
|
||||||
|
# ENV HMD_DEFAULT_PERMISSION locked
|
||||||
|
# ENV HMD_DB_URL sqlite:///data/db.sqlite
|
||||||
|
# ENV HMD_FACEBOOK_CLIENTID ""
|
||||||
|
# ENV HMD_FACEBOOK_CLIENTSECRET ""
|
||||||
|
# ENV HMD_TWITTER_CONSUMERKEY ""
|
||||||
|
# ENV HMD_TWITTER_CONSUMERSECRET ""
|
||||||
|
# ENV HMD_GITHUB_CLIENTID ""
|
||||||
|
# ENV HMD_GITHUB_CLIENTSECRET ""
|
||||||
|
# ENV HMD_GITLAB_SCOPE api
|
||||||
|
# ENV HMD_GITLAB_BASEURL ""
|
||||||
|
# ENV HMD_GITLAB_CLIENTID ""
|
||||||
|
# ENV HMD_GITLAB_CLIENTSECRET ""
|
||||||
|
# ENV HMD_DROPBOX_CLIENTID ""
|
||||||
|
# ENV HMD_DROPBOX_CLIENTSECRET ""
|
||||||
|
# ENV HMD_GOOGLE_CLIENTID ""
|
||||||
|
# ENV HMD_GOOGLE_CLIENTSECRET ""
|
||||||
|
# ENV HMD_LDAP_URL ""
|
||||||
|
# ENV HMD_LDAP_BINDDN ""
|
||||||
|
# ENV HMD_LDAP_BINDCREDENTIALS ""
|
||||||
|
# ENV HMD_LDAP_TOKENSECRET ""
|
||||||
|
# ENV HMD_LDAP_SEARCHBASE ""
|
||||||
|
# ENV HMD_LDAP_SEARCHFILTER ""
|
||||||
|
# ENV HMD_LDAP_SEARCHATTRIBUTES ""
|
||||||
|
# ENV HMD_LDAP_TLS_CA ""
|
||||||
|
# ENV HMD_LDAP_PROVIDERNAME ""
|
||||||
|
# ENV HMD_IMGUR_CLIENTID ""
|
||||||
|
# ENV HMD_EMAIL true
|
||||||
|
# ENV HMD_ALLOW_EMAIL_REGISTER true
|
||||||
|
# ENV HMD_IMAGE_UPLOAD_TYPE filesystem
|
||||||
|
# ENV HMD_S3_ACCESS_KEY_ID ""
|
||||||
|
# ENV HMD_S3_SECRET_ACCESS_KEY ""
|
||||||
|
# ENV HMD_S3_REGION ""
|
||||||
|
# ENV HMD_S3_BUCKET ""
|
||||||
|
|
||||||
|
RUN set -ex \
|
||||||
|
&& mkdir /hackmd \
|
||||||
|
&& curl -sSfL https://github.com/hackmdio/hackmd/archive/${VERSION}.tar.gz | tar -xzf - --strip-components=1 -C /hackmd
|
||||||
|
|
||||||
|
WORKDIR /hackmd
|
||||||
|
|
||||||
|
RUN set -ex \
|
||||||
|
&& npm install \
|
||||||
|
&& npm install webpack \
|
||||||
|
&& npm run build
|
||||||
|
|
||||||
|
ADD run.sh /usr/local/bin/run.sh
|
||||||
|
ADD config.json /hackmd/config.json.default
|
||||||
|
ADD sequelizerc /hackmd/.sequelizerc.default
|
||||||
|
|
||||||
|
EXPOSE 3000
|
||||||
|
VOLUME /config
|
||||||
|
VOLUME /data
|
||||||
|
VOLUME /hackmd/public/uploads
|
||||||
|
|
||||||
|
ENV NODE_ENV production
|
||||||
|
|
||||||
|
CMD ["/usr/local/bin/run.sh"]
|
64
config.json
Normal file
64
config.json
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
{
|
||||||
|
"test": {
|
||||||
|
"db": {
|
||||||
|
"dialect": "sqlite",
|
||||||
|
"storage": ":memory:"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"development": {
|
||||||
|
"db": {
|
||||||
|
"dialect": "sqlite",
|
||||||
|
"storage": "./db.hackmd.sqlite"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"production": {
|
||||||
|
"domain": "localhost",
|
||||||
|
"db": {
|
||||||
|
"dialect": "sqlite",
|
||||||
|
"storage": "/data/db.sqlite"
|
||||||
|
},
|
||||||
|
"facebook": {
|
||||||
|
"clientID": "change this",
|
||||||
|
"clientSecret": "change this"
|
||||||
|
},
|
||||||
|
"twitter": {
|
||||||
|
"consumerKey": "change this",
|
||||||
|
"consumerSecret": "change this"
|
||||||
|
},
|
||||||
|
"github": {
|
||||||
|
"clientID": "change this",
|
||||||
|
"clientSecret": "change this"
|
||||||
|
},
|
||||||
|
"gitlab": {
|
||||||
|
"baseURL": "change this",
|
||||||
|
"clientID": "change this",
|
||||||
|
"clientSecret": "change this",
|
||||||
|
"scope": "use 'read_user' scope for auth user only or remove this property if you need gitlab snippet import/export support (will result to be default scope 'api')"
|
||||||
|
},
|
||||||
|
"dropbox": {
|
||||||
|
"clientID": "change this",
|
||||||
|
"clientSecret": "change this",
|
||||||
|
"appKey": "change this"
|
||||||
|
},
|
||||||
|
"google": {
|
||||||
|
"clientID": "change this",
|
||||||
|
"clientSecret": "change this",
|
||||||
|
"apiKey": "change this"
|
||||||
|
},
|
||||||
|
"ldap": {
|
||||||
|
"url": "ldap://change_this",
|
||||||
|
"bindDn": null,
|
||||||
|
"bindCredentials": null,
|
||||||
|
"tokenSecret": "change this",
|
||||||
|
"searchBase": "change this",
|
||||||
|
"searchFilter": "change this",
|
||||||
|
"searchAttributes": "change this",
|
||||||
|
"tlsOptions": {
|
||||||
|
"changeme": "See https://nodejs.org/api/tls.html#tls_tls_connect_options_callback"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"imgur": {
|
||||||
|
"clientID": "change this"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
24
run.sh
Executable file
24
run.sh
Executable file
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -o pipefail
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
if ! [ -f /config/config.json ]; then
|
||||||
|
cp config.json.default config.json
|
||||||
|
else
|
||||||
|
cp /config/config.json config.json
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -f /config/.sequelizerc ]; then
|
||||||
|
cp .sequelizerc.default .sequelizerc
|
||||||
|
else
|
||||||
|
cp /config/.sequelizerc .sequelizerc
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f /config/client_config.js ]; then
|
||||||
|
cp /config/client_config.js public/js/config.js
|
||||||
|
fi
|
||||||
|
|
||||||
|
node_modules/.bin/sequelize db:migrate
|
||||||
|
|
||||||
|
exec npm run start
|
8
sequelizerc
Normal file
8
sequelizerc
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
var path = require('path');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
'config': path.resolve('config.json'),
|
||||||
|
'migrations-path': path.resolve('lib', 'migrations'),
|
||||||
|
'models-path': path.resolve('lib', 'models'),
|
||||||
|
'url': 'sqlite:///data/db.sqlite'
|
||||||
|
}
|
Loading…
Reference in a new issue