Files
netbird-docs/next.config.mjs

278 lines
10 KiB
JavaScript

import nextMDX from '@next/mdx'
import {remarkPlugins} from './mdx/remark.mjs'
import {rehypePlugins} from './mdx/rehype.mjs'
import {recmaPlugins} from './mdx/recma.mjs'
const withMDX = nextMDX({
options: {
remarkPlugins,
// rehypeSlug,
rehypePlugins,
recmaPlugins,
providerImportSource: '@mdx-js/react',
},
})
/** @type {import('next').NextConfig} */
const nextConfig = {
assetPrefix: '/docs-static',
reactStrictMode: true,
pageExtensions: ['js', 'jsx', 'ts', 'tsx', 'mdx'],
experimental: {
scrollRestoration: true,
},
redirects: async () => {
return [
{
source: '/slack-url',
destination: 'https://join.slack.com/t/netbirdio/shared_invite/zt-3i1ppsk7o-pJUUiC1ZcxcjNR_A3EUr6w',
permanent: false,
},
{
source: '/how-to/networks-concept',
destination: '/manage/networks',
permanent: true,
},
{
source: '/how-to/networks',
destination: '/manage/networks',
permanent: true,
},
{
source: '/docs/getting-started/installation',
destination: '/getting-started/install',
permanent: true,
},
{
source: '/docs/overview/personal-access-tokens',
destination: '/how-to/access-netbird-public-api',
permanent: true,
},
{
source: '/docs/overview/personal-access-tokens',
destination: '/how-to/access-netbird-public-api',
permanent: true,
},
{
source: '/docs/overview/acls',
destination: '/manage/access-control/manage-network-access',
permanent: true,
},
{
source: '/docs/how-to-guides/nameservers',
destination: '/how-to/manage-dns-in-your-network',
permanent: true,
},
{
source: '/docs/how-to-guides/nameservers',
destination: '/how-to/manage-dns-in-your-network',
permanent: true,
},
{
source: '/docs/how-to-guides/network-routes',
destination: '/routing-traffic-to-private-networks',
permanent: true,
},
{
source: '/docs/overview/setup-keys',
destination: '/manage/peers/setup-keys',
permanent: true,
},
{
source: '/docs/how-to-guides/activity-monitoring',
destination: '/how-to/activity-event-streaming',
permanent: true,
},
{
source: '/how-to/monitor-system-and-network-activity',
destination: '/how-to/activity-event-streaming',
permanent: true,
},
{
source: '/docs/how-to-guides/periodic-authentication',
destination: '/how-to/enforce-periodic-user-authentication',
permanent: true,
},
{
source: '/docs',
destination: '/',
permanent: true,
},
{
source: '/docs/:path*',
destination: '/:path*',
permanent: true,
},
{
source: '/ipa/:path*',
destination: '/api/:path*',
permanent: true
},
// documentation redirects for control center
{
source: '/how-to/control-center',
destination: '/manage/control-center',
permanent: true,
},
// documentation redirects for peers
{
source: '/how-to/add-machines-to-your-network',
destination: '/manage/peers/add-machines-to-your-network',
permanent: true,
},
{
source: '/how-to/register-machines-using-setup-keys',
destination: '/manage/peers/setup-keys',
permanent: true,
},
{
source: '/how-to/browser-client',
destination: '/manage/peers/browser-client',
permanent: true,
},
{
source: '/how-to/ssh',
destination: '/manage/peers/ssh',
permanent: true,
},
{
source: '/how-to/lazy-connection',
destination: '/manage/peers/lazy-connection',
permanent: true,
},
{
source: '/how-to/approve-peers',
destination: '/manage/peers/approve-peers',
permanent: true,
},
{
source: '/how-to/secure-remote-webserver-access',
destination: '/manage/peers/access-infrastructure/secure-remote-webserver-access',
permanent: true,
},
{
source: '/how-to/setup-keys-add-servers-to-network',
destination: '/manage/peers/access-infrastructure/setup-keys-add-servers-to-network',
permanent: true,
},
{
source: '/how-to/access-internal-resources-from-autoscaled-environments',
destination: '/manage/peers/access-infrastructure/access-internal-resources-from-autoscaled-environments',
permanent: true,
},
{
source: '/how-to/peer-approval-for-remote-worker-access',
destination: '/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access',
permanent: true,
},
{
source: '/how-to/db-workload-migration',
destination: '/manage/peers/connect-site-to-site/db-workload-migration',
permanent: true,
},
// documentation redirects for access control
{
source: '/how-to/manage-network-access',
destination: '/manage/access-control/manage-network-access',
permanent: true,
},
{
source: '/how-to/manage-posture-checks',
destination: '/manage/access-control/posture-checks',
permanent: true,
},
{
source: '/how-to/disabling-network-route-when-connecting-from-the-office',
destination: '/manage/access-control/posture-checks/connecting-from-the-office',
permanent: true,
},
{
source: '/how-to/endpoint-detection-and-response',
destination: '/manage/access-control/endpoint-detection-and-response',
permanent: true,
},
{
source: '/how-to/crowdstrike-edr',
destination: '/manage/access-control/endpoint-detection-and-response/crowdstrike-edr',
permanent: true,
},
{
source: '/how-to/sentinelone-edr',
destination: '/manage/access-control/endpoint-detection-and-response/sentinelone-edr',
permanent: true,
},
{
source: '/how-to/intune-mdm',
destination: '/manage/access-control/endpoint-detection-and-response/intune-mdm',
permanent: true,
},
// documentation redirects for networks
{
source: '/how-to/routing-traffic-to-multiple-resources',
destination: '/manage/networks/routing-traffic-to-multiple-resources',
permanent: true,
},
{
source: '/how-to/accessing-restricted-domain-resources',
destination: '/manage/networks/accessing-restricted-domain-resources',
permanent: true,
},
{
source: '/how-to/accessing-entire-domains-within-networks',
destination: '/manage/networks/accessing-entire-domains-within-networks',
permanent: true,
},
{
source: '/how-to/accessing-home-network',
destination: '/manage/networks/homelab/access-home-network',
permanent: true,
},
{
source: '/how-to/access-home-network',
destination: '/manage/networks/homelab/access-home-network',
permanent: true,
},
// documentation redirects for network routes
{
source: '/how-to/routing-traffic-to-private-networks',
destination: '/manage/network-routes/routing-traffic-to-private-networks',
permanent: true,
},
{
source: '/how-to/configuring-default-routes-for-internet-traffic',
destination: '/manage/network-routes/configuring-default-routes-for-internet-traffic',
permanent: true,
},
{
source: '/how-to/configuring-routes-with-access-control',
destination: '/manage/network-routes/configuring-routes-with-access-control',
permanent: true,
},
{
source: '/how-to/resolve-overlapping-routes',
destination: '/manage/network-routes/resolve-overlapping-routes',
permanent: true,
},
]
},
rewrites: async () => {
return [
{
source: '/',
destination: '/introduction',
},
{
source: '/api',
destination: '/ipa/introduction',
},
{
source: '/api/:path*',
destination: '/ipa/:path*',
}
]
}
}
export default withMDX(nextConfig)