added outline project and remove openproject

This commit is contained in:
gyurix
2025-01-02 15:17:50 +01:00
parent 38a82fc11c
commit 1dba5c4fd0
10 changed files with 353 additions and 24 deletions

View File

@@ -21,8 +21,8 @@
"version": "latest"
},
{
"name": "openproject",
"version": "15"
"name": "outline",
"version": "latest"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"openprojectpostgres": {
"POSTGRES_DB": "#DB_NAME",
"POSTGRES_USER": "#DB_USER",
"POSTGRES_PASSWORD": "#DB_PASSWORD"
},
"openprojectapp": {
"DATABASE_URL": "postgres://#DB_USER:#DB_PASSWORD@openprojectpostgres-db:5432/#DB_NAME?pool=20&encoding=unicode&reconnect=true"
}
}

View File

@@ -23,10 +23,10 @@
"PROXY": "smarthostloadbalancer"
},
{
"TARGET": "openprojectapp-web"
"TARGET": "outline"
},
{
"PORT": "8080"
"PORT": "3000"
},
{
"DOMAIN": "#OPENPROJECT_DOMAIN"

170
outline/env Normal file
View File

@@ -0,0 +1,170 @@
NODE_ENV=production
# Generate a hex-encoded 32-byte random key. You should use `openssl rand -hex 32`
# in your terminal to generate a random value.
SECRET_KEY=generate_a_new_key
# Generate a unique random key. The format is not important but you could still use
# `openssl rand -hex 32` in your terminal to produce this.
UTILS_SECRET=generate_a_new_key
# For production point these at your databases, in development the default
# should work out of the box.
DATABASE_URL=postgres://user:pass@localhost:5432/outline
DATABASE_CONNECTION_POOL_MIN=
DATABASE_CONNECTION_POOL_MAX=
# Uncomment this to disable SSL for connecting to Postgres
# PGSSLMODE=disable
# For redis you can either specify an ioredis compatible url like this
REDIS_URL=redis://localhost:6379
# or alternatively, if you would like to provide additional connection options,
# use a base64 encoded JSON connection option object. Refer to the ioredis documentation
# for a list of available options.
# Example: Use Redis Sentinel for high availability
# {"sentinels":[{"host":"sentinel-0","port":26379},{"host":"sentinel-1","port":26379}],"name":"mymaster"}
# REDIS_URL=ioredis://eyJzZW50aW5lbHMiOlt7Imhvc3QiOiJzZW50aW5lbC0wIiwicG9ydCI6MjYzNzl9LHsiaG9zdCI6InNlbnRpbmVsLTEiLCJwb3J0IjoyNjM3OX1dLCJuYW1lIjoibXltYXN0ZXIifQ==
# URL should point to the fully qualified, publicly accessible URL. If using a
# proxy the port in URL and PORT may be different.
URL=
PORT=3000
# See [documentation](docs/SERVICES.md) on running a separate collaboration
# server, for normal operation this does not need to be set.
COLLABORATION_URL=
# Specify what storage system to use. Possible value is one of "s3" or "local".
# For "local", the avatar images and document attachments will be saved on local disk.
FILE_STORAGE=local
# If "local" is configured for FILE_STORAGE above, then this sets the parent directory under
# which all attachments/images go. Make sure that the process has permissions to create
# this path and also to write files to it.
FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data
# Maximum allowed size for the uploaded attachment.
FILE_STORAGE_UPLOAD_MAX_SIZE=262144000
# Override the maximum size of document imports, generally this should be lower
# than the document attachment maximum size.
FILE_STORAGE_IMPORT_MAX_SIZE=
# Override the maximum size of workspace imports, these can be especially large
# and the files are temporary being automatically deleted after a period of time.
FILE_STORAGE_WORKSPACE_IMPORT_MAX_SIZE=
# To support uploading of images for avatars and document attachments in a distributed
# architecture an s3-compatible storage can be configured if FILE_STORAGE=s3 above.
AWS_ACCESS_KEY_ID=get_a_key_from_aws
AWS_SECRET_ACCESS_KEY=get_the_secret_of_above_key
AWS_REGION=xx-xxxx-x
AWS_S3_ACCELERATE_URL=
AWS_S3_UPLOAD_BUCKET_URL=http://s3:4569
AWS_S3_UPLOAD_BUCKET_NAME=bucket_name_here
AWS_S3_FORCE_PATH_STYLE=true
AWS_S3_ACL=private
# AUTHENTICATION
# Third party signin credentials, at least ONE OF EITHER Google, Slack,
# or Microsoft is required for a working installation or you'll have no sign-in
# options.
# To configure Slack auth, you'll need to create an Application at
# => https://api.slack.com/apps
#
# When configuring the Client ID, add a redirect URL under "OAuth & Permissions":
# https://<URL>/auth/slack.callback
SLACK_CLIENT_ID=get_a_key_from_slack
SLACK_CLIENT_SECRET=get_the_secret_of_above_key
# To configure Google auth, you'll need to create an OAuth Client ID at
# => https://console.cloud.google.com/apis/credentials
#
# When configuring the Client ID, add an Authorized redirect URI:
# https://<URL>/auth/google.callback
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# To configure Microsoft/Azure auth, you'll need to create an OAuth Client. See
# the guide for details on setting up your Azure App:
# => https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4
AZURE_CLIENT_ID=
AZURE_CLIENT_SECRET=
AZURE_RESOURCE_APP_ID=
# To configure generic OIDC auth, you'll need some kind of identity provider.
# See documentation for whichever IdP you use to acquire the following info:
# Redirect URI is https://<URL>/auth/oidc.callback
OIDC_CLIENT_ID=
OIDC_CLIENT_SECRET=
OIDC_AUTH_URI=
OIDC_TOKEN_URI=
OIDC_USERINFO_URI=
OIDC_LOGOUT_URI=
# Specify which claims to derive user information from
# Supports any valid JSON path with the JWT payload
OIDC_USERNAME_CLAIM=preferred_username
# Display name for OIDC authentication
OIDC_DISPLAY_NAME=OpenID Connect
# Space separated auth scopes.
OIDC_SCOPES=openid profile email
# To configure the GitHub integration, you'll need to create a GitHub App at
# => https://github.com/settings/apps
#
# When configuring the Client ID, add a redirect URL under "Permissions & events":
# https://<URL>/api/github.callback
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GITHUB_APP_NAME=
GITHUB_APP_ID=
GITHUB_APP_PRIVATE_KEY=
# To configure Discord auth, you'll need to create a Discord Application at
# => https://discord.com/developers/applications/
#
# When configuring the Client ID, add a redirect URL under "OAuth2":
# https://<URL>/auth/discord.callback
DISCORD_CLIENT_ID=
DISCORD_CLIENT_SECRET=
{"SECRET_KEY": "generate_a_new_key"},
{"UTILS_SECRET": "generate_a_new_key"},
{"DATABASE_URL": "postgres://user:pass@localhost:5432/outline"},
{"AWS_ACCESS_KEY_ID": "get_a_key_from_aws"},
{"AWS_SECRET_ACCESS_KEY": "get_the_secret_of_above_key"},
{"AWS_REGION": "xx-xxxx-x"},
{"AWS_S3_ACCELERATE_URL": ""},
{"AWS_S3_UPLOAD_BUCKET_URL": "http://s3:4569"},
{"AWS_S3_UPLOAD_BUCKET_NAME": "bucket_name_here"},
{"AWS_S3_FORCE_PATH_STYLE": true},
{"AWS_S3_ACL": "private"},
{"SLACK_CLIENT_ID": "get_a_key_from_slack"},
{"SLACK_CLIENT_SECRET": "get_the_secret_of_above_key"},
{"GOOGLE_CLIENT_ID": ""},
{"GOOGLE_CLIENT_SECRET": ""},
{"AZURE_CLIENT_ID": ""},
{"AZURE_CLIENT_SECRET": ""},
{"AZURE_RESOURCE_APP_ID": ""},
{"OIDC_CLIENT_ID": ""},
{"OIDC_CLIENT_SECRET": ""},
{"OIDC_AUTH_URI": ""},
{"OIDC_TOKEN_URI": ""},
{"OIDC_USERINFO_URI": ""},
{"OIDC_LOGOUT_URI": ""},
{"OIDC_USERNAME_CLAIM": "preferred_username"},
{"OIDC_DISPLAY_NAME": "OpenID Connect"},
{"OIDC_SCOPES": "openid profile email"},
{"GITHUB_CLIENT_ID": ""},
{"GITHUB_CLIENT_SECRET": ""},
{"GITHUB_APP_NAME": ""},
{"GITHUB_APP_ID": ""},
{"GITHUB_APP_PRIVATE_KEY": ""},
{"DISCORD_CLIENT_ID": ""},
{"DISCORD_CLIENT_SECRET": ""}

View File

@@ -52,7 +52,7 @@
"SOURCE": "coredns"
},
{
"TARGET": "openprojectapp-web"
"TARGET": "outline"
},
{
"TYPE": "udp"
@@ -61,7 +61,7 @@
"TARGET_PORT": "53"
},
{
"COMMENT": "dns for openproject"
"COMMENT": "dns for outline"
}
],
"EXTRA": "--privileged --rm",

View File

@@ -49,7 +49,7 @@
"CHAIN": "DOCKER-USER"
},
{
"SOURCE": "openprojectapp-web"
"SOURCE": "outline"
},
{
"TARGET": "smtp"

View File

@@ -52,16 +52,16 @@
"SOURCE": "smarthostbackend"
},
{
"TARGET": "openprojectapp-web"
"TARGET": "outline"
},
{
"TYPE": "tcp"
},
{
"TARGET_PORT": "8080"
"TARGET_PORT": "3000"
},
{
"COMMENT": "proxy for openproject"
"COMMENT": "proxy for outline"
}
],
"EXTRA": "--privileged --rm",

View File

@@ -0,0 +1,10 @@
{
"outlinepostgres": {
"POSTGRES_DB": "#DB_NAME",
"POSTGRES_USER": "#DB_USER",
"POSTGRES_PASSWORD": "#DB_PASSWORD"
},
"outlineapp": {
"DATABASE_URL": "postgres://#DB_USER:#DB_PASSWORD@outlinepostgres-db:5432/#DB_NAME"
}
}

View File

@@ -0,0 +1,159 @@
{
"main": {
"SERVICE_NAME": "outline",
"DOMAIN": "#OUTLINE_DOMAIN"
},
"containers": [
{
"IMAGE": "alpine:latest",
"UPDATE": "true",
"NAME": "outline-init",
"NETWORK": "host",
"MEMORY": "64M",
"VOLUMES": [
{
"SOURCE": "USER_DATA",
"DEST": "/etc/user/data",
"TYPE": "rw"
},
{
"SOURCE": "SYSTEM_LOG",
"DEST": "/etc/system/log",
"TYPE": "rw"
}
],
"EXTRA": "--rm",
"DEPEND": "null",
"START_ON_BOOT": "false",
"ENTRYPOINT": "sh -c",
"CMD": "mkdir -p /etc/user/data/outline/data && mkdir -p /etc/user/data/outline/db",
"PRE_START": "null",
"POST_START": "null"
},
{
"IMAGE": "postgres:13-alpine",
"UPDATE": "true",
"NAME": "outlinepostgres-db",
"MEMORY": "256M",
"NETWORK": "outline-net",
"SELECTOR": "outlinepostgres-db",
"VOLUMES": [
{
"SOURCE": "/etc/user/data/outline/db",
"DEST": "/var/lib/postgresql/data",
"TYPE": "rw"
}
],
"PORTS": [
{
"SOURCE": "null",
"DEST": "5432",
"TYPE": "tcp"
}
],
"ENV_FILES": [
"/etc/user/secret/outline/outline.json"
],
"EXTRA": "--restart unless-stopped",
"DEPEND": "null",
"START_ON_BOOT": "false",
"CMD": "null",
"PRE_START": "null",
"POST_START": "null"
},
{
"IMAGE": "redis:latest",
"UPDATE": "true",
"NAME": "outlineredis-app",
"MEMORY": "128M",
"NETWORK": "outline-net",
"SELECTOR": "outlineredis",
"PORTS": [
{
"SOURCE": "null",
"DEST": "6379",
"TYPE": "tcp"
}
],
"EXTRA": "--restart always",
"DEPEND": "null",
"START_ON_BOOT": "false",
"CMD": "null",
"PRE_START": "null",
"POST_START": "null"
},
{
"IMAGE": "outlinewiki/outline:latest",
"UPDATE": "true",
"NAME": "outlineapp",
"NETWORK": "outline-net",
"SELECTOR": "outline",
"VOLUMES": [
{
"SOURCE": "/etc/user/data/outline/data",
"DEST": "/var/lib/outline/data",
"TYPE": "rw"
}
],
"PORTS": [
{
"SOURCE": "null",
"DEST": "3000",
"TYPE": "tcp"
}
],
"ENVS": [
{
"NODE_ENV": "production"
},
{
"DATABASE_CONNECTION_POOL_MIN": ""
},
{
"DATABASE_CONNECTION_POOL_MAX": ""
},
{
"REDIS_URL": "redis://outlineredis-app:6379"
},
{
"URL": ""
},
{
"PORT": 3000
},
{
"COLLABORATION_URL": ""
},
{
"FILE_STORAGE": "local"
},
{
"FILE_STORAGE_LOCAL_ROOT_DIR": "/var/lib/outline/data"
},
{
"FILE_STORAGE_UPLOAD_MAX_SIZE": 262144000
},
{
"FILE_STORAGE_IMPORT_MAX_SIZE": ""
},
{
"FILE_STORAGE_WORKSPACE_IMPORT_MAX_SIZE": ""
}
],
"ENV_FILES": [
"/etc/user/secret/outline/outline.json"
],
"EXTRA": "--restart unless-stopped",
"DEPEND": [],
"START_ON_BOOT": "false",
"CMD": "null",
"PRE_START": "null",
"POST_START": [
"firewall-outline",
"domain-outline",
"firewall-outline-dns",
"firewall-outline-smtp"
]
}
]
}

View File

@@ -1,5 +1,5 @@
{
"name": "openproject",
"name": "outline",
"fields": [
{
"description": "Postgres database name",
@@ -30,8 +30,8 @@
"generated": "random|sha256|20"
},
{
"description": "Please add OpenProject domain:",
"key": "OPENPROJECT_DOMAIN",
"description": "Please add Outline domain:",
"key": "OUTLINE_DOMAIN",
"value": "",
"required": "true"
}