mirror of
https://git.teknik.io/Teknikode/Teknik.git
synced 2023-08-02 14:16:22 +02:00
92 lines
4.0 KiB
Markdown
92 lines
4.0 KiB
Markdown
# Teknik Web Services
|
|
|
|
[![Build Status](https://uncled1023.visualstudio.com/_apis/public/build/definitions/47815734-d274-4bfd-8945-d58f2261b421/4/badge)](https://uncled1023.visualstudio.com/Teknik/_build/index?definitionId=4)
|
|
|
|
Teknik is a suite of services with attractive and functional interfaces.
|
|
|
|
## Features
|
|
* File Upload w/ client side encryption
|
|
* Album Support
|
|
* Pastebin
|
|
* URL Shortening
|
|
* Blogs
|
|
* Git Integration (Gitea)
|
|
* Podcasts
|
|
* Easy to use API
|
|
* Flexible installation and configuration
|
|
* And much more...
|
|
|
|
You can see a live demo [here](https://www.teknik.io).
|
|
|
|
## Requirements
|
|
In order to run Teknik on your server, you'll need:
|
|
|
|
* IIS 7+, Nginx, or Apache
|
|
* [.NET Core 2.1 Runtime](https://www.microsoft.com/net/download/) (Or SDK if building the src)
|
|
* A SQL Server (MS SQL Server, MySQL, SQLite)
|
|
* [hMailServer](https://www.hmailserver.com/download) (If running email service)
|
|
* [Gitea](https://github.com/go-gitea/gitea) (If you want to have Git integration)
|
|
* Web Mail Client (If you would like to have webmail)
|
|
|
|
## Installation
|
|
* Set up Asp.Net Core to work with your system of choice - [Instructions](https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/?view=aspnetcore-2.1&tabs=aspnetcore2x)
|
|
* Download the latest release of Teknik for your system - [Releases](https://git.teknik.io/Teknikode/Teknik/releases)
|
|
* Copy the files to your local web root directory.
|
|
* Create a `ConnectionStrings.config` file in the `App_Data` directory and fill it with the following template and put in your SQL server connection details.
|
|
|
|
```nohighlight
|
|
<connectionStrings>
|
|
<add name="TeknikEntities"
|
|
providerName="System.Data.SqlClient"
|
|
connectionString="<Sql Server Connection String>" />
|
|
</connectionStrings>
|
|
```
|
|
|
|
* After the first run, a `Config.json` file will be created in the `App_Data` directory. This will need to be edited with your configuration options.
|
|
|
|
That's it, installation complete! If you're having problems, let us know through the [Contact](https://contact.teknik.io/) page.
|
|
|
|
## Building
|
|
|
|
### Linux
|
|
* Clone the Teknik repository to a directory of your choosing.
|
|
|
|
```nohighlight
|
|
cd ~
|
|
mkdir src
|
|
cd ./src
|
|
git clone https://git.teknik.io/Teknikode/Teknik
|
|
```
|
|
* Set up .Net Core SDK for you system of choice - [Instructions](https://www.microsoft.com/net/download/all)
|
|
* Install Node.js (Includes npm).
|
|
* Run the npm build script `npm run build`.
|
|
* This will install, move, bundle, and minify all the client side assets (JavaScript, CSS, Fonts, and Images).
|
|
* To see exactly what happens or to modify the build. look at the `gulpfile.js` file.
|
|
* Run dotnet publish from the root directory of the repo to build and package the app into the release publish directory (for example: ./Teknik/bin/Release/netcoreapp2.1/publish).
|
|
|
|
```
|
|
dotnet publish --configuration Release
|
|
```
|
|
|
|
* Copy the files in the publish directory to where you want to run the website from.
|
|
|
|
* Test the website:
|
|
* In the directory conatining the published files, run `dotnet Teknik.dll`
|
|
* In a browser, open http://localhost:5000/?sub=www
|
|
|
|
## Authors and contributors
|
|
* [Chris Woodward](https://www.teknik.io) (Creator, Developer)
|
|
* [dronedaddy](https://www.behance.net/dronedaddy) (Logo Designer)
|
|
|
|
## License
|
|
[BSD 3-Clause license](http://opensource.org/licenses/BSD-3-Clause)
|
|
|
|
## Development
|
|
You can view Teknik's [Development Branch](https://dev.teknik.io/) to see the current new features (It may not work, as it is a development branch).
|
|
|
|
## Contributing
|
|
If you are a developer, we need your help. Teknik is a young project and we have lots of stuff to do. Some developers are contributing with new features, others with bug fixes. Any help you can give would be greatly appreciated!
|
|
|
|
## Further information
|
|
If you want to know more about the features of Teknik, check the [Help](https://help.teknik.io/) page. Also, if you're having problems with Teknik, let us know through the [Contact](https://contact.teknik.io/) page. Don't forget to give feedback and suggest new features! :)
|